code: protected Map<String, String> getTableComments(DatabaseConfig config) throws SQLException {
          Map<String, String> answer = new HashMap<String, String>();
          try {
              StringBuilder sqlBuilder = new StringBuilder("select a.name tname, b.value comments ");
              sqlBuilder.append("from sys.tables a left join sys.extended_properties b on a.object_id=b.major_id    ");
              sqlBuilder.append("where b.minor_id=0 and b.name = 'MS_Description'   ");
              sqlBuilder.append("and a.schema_id in (   ");
              sqlBuilder.append("    select schema_id from sys.schemas  ");
              if (StringUtils.isNotEmpty(config.getSchemaPattern())) {
                  sqlBuilder.append(" where name like ?   ");
              }
              sqlBuilder.append(")  and b.value is not null ");
              PreparedStatement preparedStatement = dbMetadataUtils.getConnection().prepareStatement(sqlBuilder.toString());
              if (StringUtils.isNotEmpty(config.getSchemaPattern())) {
                  preparedStatement.setString(1, config.getSchemaPattern());
              }
              ResultSet rs = preparedStatement.executeQuery();
              while (rs.next()) {
                  answer.put(rs.getString(dbMetadataUtils.convertLetterByCase("tname")), rs.getString(dbMetadataUtils.convertLetterByCase("comments")));
              }
              closeResultSet(rs);
          } catch (Exception e) {
              throw new RuntimeException(e);
          }
          return answer;
      }
docs: 获取表名和注释映射
  
  @param config
  @return
  @throws java.sql.SQLException