diff --git a/plugins/dbgate-plugin-mssql/src/backend/sql/columns.js b/plugins/dbgate-plugin-mssql/src/backend/sql/columns.js index ad4b67781..6ccebbb3d 100644 --- a/plugins/dbgate-plugin-mssql/src/backend/sql/columns.js +++ b/plugins/dbgate-plugin-mssql/src/backend/sql/columns.js @@ -1,14 +1,13 @@ module.exports = ` select c.name as columnName, t.name as dataType, c.object_id as objectId, c.is_identity as isIdentity, - c.max_length as maxLength, c.precision, c.scale, c.is_nullable as isNullable, - col.CHARACTER_MAXIMUM_LENGTH as charMaxLength, - d.definition as defaultValue, d.name as defaultConstraint, - m.definition as computedExpression, m.is_persisted as isPersisted, c.column_id as columnId, - col.NUMERIC_PRECISION as numericPrecision, - col.NUMERIC_SCALE as numericScale, - -- TODO only if version >= 2008 - c.is_sparse as isSparse, - ep.value as columnComment + c.max_length as maxLength, c.precision, c.scale, c.is_nullable as isNullable, + col.CHARACTER_MAXIMUM_LENGTH as charMaxLength, + d.definition as defaultValue, d.name as defaultConstraint, + m.definition as computedExpression, m.is_persisted as isPersisted, c.column_id as columnId, + col.NUMERIC_PRECISION as numericPrecision, + col.NUMERIC_SCALE as numericScale, + c.is_sparse as isSparse, + ep.value as columnComment from sys.columns c inner join sys.types t on c.system_type_id = t.system_type_id and c.user_type_id = t.user_type_id inner join sys.objects o on c.object_id = o.object_id @@ -16,7 +15,10 @@ INNER JOIN sys.schemas u ON u.schema_id=o.schema_id INNER JOIN INFORMATION_SCHEMA.COLUMNS col ON col.TABLE_NAME = o.name AND col.TABLE_SCHEMA = u.name and col.COLUMN_NAME = c.name left join sys.default_constraints d on c.default_object_id = d.object_id left join sys.computed_columns m on m.object_id = c.object_id and m.column_id = c.column_id -left join sys.extended_properties ep on ep.major_id = c.object_id and ep.minor_id = c.column_id and ep.name = 'MS_Description' +left join sys.extended_properties ep on ep.major_id = c.object_id + and ep.minor_id = c.column_id + and ep.name = 'MS_Description' + and ep.class = 1 -- Add this filter for object/column level properties where o.type = 'U' and o.object_id =OBJECT_ID_CONDITION and u.name =SCHEMA_NAME_CONDITION order by c.column_id `; diff --git a/plugins/dbgate-plugin-mssql/src/backend/sql/tables.js b/plugins/dbgate-plugin-mssql/src/backend/sql/tables.js index 17887761a..f8289eeb9 100644 --- a/plugins/dbgate-plugin-mssql/src/backend/sql/tables.js +++ b/plugins/dbgate-plugin-mssql/src/backend/sql/tables.js @@ -11,4 +11,5 @@ inner join sys.schemas s on o.schema_id = s.schema_id left join sys.extended_properties ep on ep.major_id = o.object_id and ep.minor_id = 0 and ep.name = 'MS_Description' + and ep.class = 1 -- Add this filter for object/column level properties where o.object_id =OBJECT_ID_CONDITION and s.name =SCHEMA_NAME_CONDITION`;