【发布时间】:2014-07-31 17:02:39
【问题描述】:
我的本地计算机上有一个名为 .\SC 的 SQL Server 实例。我想使用 PowerShell 脚本从该实例中删除数据库。我需要使用sa 用户登录我的数据库。
这是我到目前为止的代码,但它不起作用:
[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
最后一行应该列出我的 SQL 实例中的数据库......但它给了我这个错误:
在尝试枚举时发生以下异常 集合:“无法连接到服务器 .\SC。”。在线:1 字符:1 + $srv2.数据库 +~~~~~~~~~~~~~~~ + CategoryInfo : NotSpecified: (:) [], ExtendedTypeSystemException + FullyQualifiedErrorId : ExceptionInGetEnumerator
我做错了什么?
【问题讨论】:
-
您是否检查过您的 SQL 日志以查找失败的登录尝试?如果做不到这一点,请在运行后立即将
$error[0]存储到局部变量中,并获取 Exception 和 InnerException 直到找到根本原因。
标签: sql-server powershell database-administration