Here is a quick script to generate sp_updateextendedproperty dynamically from your existing metadata.
DECLARE @TableName SYSNAME, @ColumnName varchar(100), @ColumnDescription varchar(5000), @schemaname varchar(100)
DECLARE @UpdateCursor CURSOR
SET @UpdateCursor = CURSOR FOR
SELECT
t.name AS [TableName],
c.name AS [ColumnName],
CAST(value AS VARCHAR(5000)) AS ColumnDescription,
SCHEMA_NAME(t.SCHEMA_ID) as SchemaName
FROM sys.extended_properties AS ep
INNER JOIN sys.tables AS t ON ep.major_id = t.object_id
INNER JOIN sys.columns AS c ON ep.major_id = c.object_id AND ep.minor_id = c.column_id
WHERE
cast(value as varchar(5000)) like 'HOST%'
order by t.name;
OPEN @UpdateCursor
FETCH NEXT FROM @UpdateCursor INTO @TableName, @ColumnName, @ColumnDescription, @schemaname
WHILE @@FETCH_STATUS = 0
BEGIN
PRINT('EXEC sp_updateextendedproperty
@name = N''MS_Description'', @value = '''+@ColumnDescription+''',
@level0type = N''Schema'', @level0name = '''+@schemaname+''',
@level1type = N''Table'', @level1name = '''+@TableName+''',
@level2type = N''Column'', @level2name = '''+@ColumnName+'''')
FETCH NEXT FROM @UpdateCursor INTO @TableName, @ColumnName, @ColumnDescription, @schemaname
END
CLOSE @UpdateCursor
DEALLOCATE @UpdateCursor
DECLARE @UpdateCursor CURSOR
SET @UpdateCursor = CURSOR FOR
SELECT
t.name AS [TableName],
c.name AS [ColumnName],
CAST(value AS VARCHAR(5000)) AS ColumnDescription,
SCHEMA_NAME(t.SCHEMA_ID) as SchemaName
FROM sys.extended_properties AS ep
INNER JOIN sys.tables AS t ON ep.major_id = t.object_id
INNER JOIN sys.columns AS c ON ep.major_id = c.object_id AND ep.minor_id = c.column_id
WHERE
cast(value as varchar(5000)) like 'HOST%'
order by t.name;
OPEN @UpdateCursor
FETCH NEXT FROM @UpdateCursor INTO @TableName, @ColumnName, @ColumnDescription, @schemaname
WHILE @@FETCH_STATUS = 0
BEGIN
PRINT('EXEC sp_updateextendedproperty
@name = N''MS_Description'', @value = '''+@ColumnDescription+''',
@level0type = N''Schema'', @level0name = '''+@schemaname+''',
@level1type = N''Table'', @level1name = '''+@TableName+''',
@level2type = N''Column'', @level2name = '''+@ColumnName+'''')
FETCH NEXT FROM @UpdateCursor INTO @TableName, @ColumnName, @ColumnDescription, @schemaname
END
CLOSE @UpdateCursor
DEALLOCATE @UpdateCursor
Nenhum comentário:
Postar um comentário
Leave your comment here!