我正在使用加载以下 SQL Server 2008 R2 powershell 插件的脚本
Add-PSSnapin SqlServerCmdletSnapin100
Add-PSSnapin SqlServerProviderSnapin100
然后我像这样用户调用-sql:
Invoke-Sqlcmd -Query "select * from table" -ServerInstance xyz -Database abc -username xxxxxx -password yyyyyyy
我正在使用方法在我们的数据库上运行许多升级脚本。我很高兴在我们的开发\测试环境中使用它,但后来我在生产环境中尝试了它,结果发现我们在服务器配置上有所不同。在我们的产品服务器上,出于安全原因(显然是蠕虫攻击)禁用了命名管道,并且我们的 DBA 不想启用。
这是我得到的错误,研究表明这是一个命名管道问题 - 当我启用它们时也开始工作。
INFO ERROR: Invoke-Sqlcmd : 与服务器成功建立连接,但在登录过程中发生错误。(提供者:共享内存提供者,错误:0 - 管道的另一端没有进程。)
有谁知道是否有某种方法可以切换我的脚本以使其不需要命名管道?或者这是invoke-sqlcmd的内置连接方法,我需要改变策略(如果有的话)。