2013-01-21 49 views

回答

3

我能夠做到在PowerShell中執行以下操作:

$s = new-object microsoft.sqlserver.management.smo.server '.'; 
$db = $s.Databases['AdventureWorks2012']; 
$t = $db.Tables | where {$_.Name -eq 'Address'}; 
$t.ExtendedProperties['MS_Description']; # will print current value 
$t.ExtendedProperties['MS_Description'].Value = 'new value'; 
$t.ExtendedProperties['MS_Description'].Alter(); #persist the new value to the database 
1

不記得:擴展屬性中的描述是否存在?如果是這樣,TableViewTableTypeBase.ExtendedProperties將有你爲你說明(Microsoft.SqlServer.Management.Smo.Table繼承)

+0

我迭代了所有的ExtendedProperties,但沒有看到它。 – Tarzan

+0

下面是我正在考慮的一個示例(希望這是你以後的,不確定):http://msdn.microsoft.com/en-us/library/ms190243(v=sql.105)。 ASPX。尋找代碼爲'USE AdventureWorks2008R2; GO EXEC sys.sp_addextendedproperty @name = N'MS_Description」, @value = N'Street爲客戶,員工和供應商地址信息。 ' @ level0type = N'SCHEMA',@ level0name =人, @ level1type = N'TABLE',@ level1name =地址; GO' – DWright

+0

我想用SMO來做這件事。這看起來像T-SQL,對嗎? – Tarzan

0

它在擴展性能,我做這種方式:

string Description = table.ExtendedProperties["MS_Description"].Value.ToString(); 

你需要指定擴展您在串需要性能 - 這就是爲什麼你不能那麼容易找到它。

相關問題