2012-09-14 46 views
1

我有一个数据库,我在我的表中的许多列的Description属性中放置注释以描述列。 Description属性显然是作为Extended Property实现的,名为MS_Description删除列的扩展属性

现在我需要将数据库复制到SQL Azure,不允许Extended Properties。什么是Transact SQL命令可用于搜索扩展属性MS_Description的每个列并将其删除。

回答

3

Here you have有关如何在SQL Server 2008 R2上列出扩展属性的详细说明。 然后在该页的末尾有几个参考文献,其中之一是sp_dropextendedproperty。随意使用它。

一个博客useful information和详细的样本。

这里有一个代码示例显示了在表列的所有扩展属性:

USE AdventureWorks2008R2; 
GO 
SELECT major_id, minor_id, t.name AS [Table Name], 
     c.name AS [Column Name], 
     value AS [Extended Property] 
    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 class = 1; 
GO 

即使more samples here

+1

感谢。有没有办法在任何表的任何列中的所有MS_Description上进行通配符删除? sp_dropextendedproperty似乎一次只能使用一个。 –

+0

嗨那里,这里是脚本:http://social.msdn.microsoft.com/Forums/sqlserver/en-US/747cb7c2-b176-4f75-9d92-c5a9360b4ed3/drop-extended-property-msdescription-of-all -tables-和全部列?论坛= TRANSACTSQL – Charles