2009-12-29 33 views

回答

1

SMO服務器類有一個DetachDatabase方法,您可以從Start PowerShell中使用該方法。從sqlps中的服務器級別可以使用類似下面的內容:

PS SQLSERVER:\ SQL \ Z002> get-childitem |的foreach {$ _ DetachDatabase( 「酒吧」,$假)}

MSDN docs for detailed info on DetachDatabase

+0

你的答案告訴我,在SQL Server作爲一個PSDrive來這幾乎回答我的問題來實現。然而,我會想知道爲什麼你需要這裏的'foreach'。 – 2010-01-04 13:39:08

+1

在計算機級別運行時的Get-childitem將返回服務器上的所有SQL實例。如果你有多個實例,foreach將會是neeed。雖然在這種情況下可能沒有意義。但我在運行命令的機器上有多個。如果只是一個例子,你可以在Server對象分配給一個變量或做這樣的事情: (GET-childitem).DetachDatabase(「酒吧」,$假) 或指定服務對象變量 $服務器= get-childitem $ server.DetachDatabase(「pubs」,$ false) – 2010-01-05 00:40:04

+0

謝謝chadwickmiller +1! – 2010-01-05 08:47:18

相關問題