Mam wystąpienie programu SQL Server na moim komputerze lokalnym o nazwie .\SC
. Chcę usunąć bazę danych z tej instancji za pomocą skryptu PowerShell. Muszę zalogować się z użytkownikiem sa
dla mojej bazy danych.Upuść bazę danych SQL Server z powershell
Jest to kod mam tak daleko, ale to nie działa:
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SqlServer.Smo")
$srv = new-object Microsoft.SqlServer.Management.Smo.Server(".\SC")
$conContext = $srv.ConnectionContext
$conContext.LoginSecure = $FALSE
$conContext.Login = "sa"
$conContext.Password = "MyPlainTextPass"
$srv2 = new-object Microsoft.SqlServer.Management.Smo.Server($conContext)
$srv2.Databases
Ta ostatnia linia ma listy baz danych SQL w moim przypadku ... ale to daje mi ten błąd:
The following exception occurred while trying to enumerate the collection: "Failed to connect to server .\SC.". At line:1 char:1 + $srv2.Databases + ~~~~~~~~~~~~~~~ + CategoryInfo : NotSpecified: (:) [], ExtendedTypeSystemException + FullyQualifiedErrorId : ExceptionInGetEnumerator
Co robię źle?
Czy można sprawdzić swoje logi SQL dla nieudanych prób logowania? W przeciwnym razie przechowuj '$ error [0]' w zmiennej lokalnej zaraz po uruchomieniu tego i uzyskaj wyjątek i wyjątek InnerException, aż dojdziesz do głównej przyczyny. –