当我跑
# Load the SMO assembly
[void][reflection.assembly]::LoadWithPartialName("Microsoft.SqlServer.Smo");
$ServerName = "[local\s12]";
#Get a server object which corresponds to the **default** instance
$srv = New-Object -TypeName Microsoft.SqlServer.Management.SMO.Server $ServerName
我收到一个错误
Failed to connect to server local\s12.
删除方括号。
除此之外,PowerShell 代码看起来不错(并且可以在我的测试机器上运行——我使用的代码如下,从我的 SQL Server 测试机器 SERVER1 复制而来)。
此外,服务器实际上是称为“本地”还是只是匿名的?如果要连接到本地服务器,则别名是句点。
否则,请尝试使用 SQL Server Management Studio 从运行 powershell 脚本的同一台计算机使用 Windows 身份验证连接到服务器 local\s12。如果失败,则存在连接问题。检查防火墙(在 SQL Server 机器上以及客户端和服务器之间的任何路由器上)。检查客户端和服务器上是否启用了 TCP/IP 网络库。如果启用了 TLS,则确认证书全部正确。