我想在使用Microsoft.SqlServer.SMO的PowerShell中設置數據庫名稱。當我用下面的錯誤文本執行我的腳本運行錯誤:powershell set database IndexOutOfRangeException
format-default : Index was outside the bounds of the array.
+ CategoryInfo : NotSpecified: (:) [format-default], IndexOutOfRangeException
+ FullyQualifiedErrorId : System.IndexOutOfRangeException,Microsoft.PowerShell.Commands.FormatDefaultCommand
服務器設置如下
$srv = New-Object "Microsoft.SqlServer.Management.SMO.Server" $server
$srv.ConnectionContext.LoginSecure=$false;
$srv.ConnectionContext.set_Login("login");
$srv.ConnectionContext.set_Password("password")
$srv.Databases | Select name
, 顯示我正確的數據庫,但設置數據庫時,
$db = $srv.Databases[$database]
錯誤被拋出。
這個腳本可以在其他sqlservers中工作。 針對此問題的任何解決方案?
一)什麼是'$ database'設置爲沒有項目? b)'$ srv.Databases.GetType()'的輸出是什麼? – arco444
PS U:\> $ srv.Databases.GetType() IsPublic IsSerial Name BaseType -------- -------- ---- -------- True False DatabaseCollection Microsoft.SqlServer.Management.Smo.SimpleObjectCollectionBase –
PS U:\> $ database CRD_DEV –