gpt4 book ai didi

powershell - 'Invoke-Sqlcmd' 未被识别为 cmdlet 的名称

转载 作者:行者123 更新时间:2023-12-03 15:08:44 30 4
gpt4 key购买 nike

我们最近开始使用 SQL Server 2012 SP3 并使用 PowerShell 脚本构建 SQL Server 2012。我们的自动化过程需要在一个数据库上运行多个数据库脚本,我发现 Invoke-Sqlcmd在我发现这个问题之前非常可靠。
当我运行 Invoke-sqlcmd在最近安装了 SQL 服务器的系统上,在 PowerShell 的 Debug模式下使用一组适当的参数,我没有问题。

PowershellCommand   : Invoke-Sqlcmd -InputFile $sStrJBSPExecRolePath -ServerInstance $sStrSQLName -ErrorAction Stop


但是,当我在重建同一台服务器后通过 PowerShell 自动化脚本执行相同的查询时,我最终得到以下错误

The term 'Invoke-Sqlcmd' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.


我在网上做了很多研究建议导入 SQLPS 等,所以为了测试我在我的脚本中添加了以下命令
get-pssnapin -Registered
Import-Module “sqlps” -DisableNameChecking**
即使将上述内容添加到脚本中,我仍然会遇到同样的错误。但是当我手动运行相同的脚本时,它运行得非常好。我不明白出了什么问题。
PowerShell 自动化脚本 - 此脚本安装 .Net Framework 3.5、SQL Server 2012、SQL Server 2012 SP3,然后加载我用来更改 SQL 设置(例如 SQL 的最大内存限制)的 SMO 程序集。

最佳答案

以管理员身份打开 PowerShell 并安装 sqlserver模块 Install-Module sqlserver
模块安装后,模块命令包括Invoke-sqlcmd应该随时可用。

您可以使用 Get-Command -ModuleName sqlserver 进行检查。 .

如果此模块不可用,您可以Import-Module sqlserver安装后。

关于powershell - 'Invoke-Sqlcmd' 未被识别为 cmdlet 的名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37825030/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com