我正在创建一个在远程服务器上安装Windows服务的Octopus部署。我正在重新使用Web部署项目中的模板,该项目设置Web服务和Web应用程序(在其他服务器上)。它还有一个额外的步骤,可以部署数据库脚本来更新架构和存储过程等。此步骤在Web服务器上使用SQL Server PowerShell工具执行(显然)。
我需要将其纳入我的项目中。建立原始项目的人早已不复存在!我已设法让它一直工作到最后一步,但是新服务器上所需的SQL Server PowerShell工具不可用。
数据库脚本步骤引发以下错误。
导入 - 模块:未加载指定的模块“C:\ Program Files \ Microsoft SQL Server \ 110 \ Tools \ PowerShell \ Modules \ SQLPS”,因为在任何模块目录中都找不到有效的模块文件。
在C:\ Octopus \ Work \ 20160930164655-24 \ .ps1:1 char:14
Web服务器上存在必要的文件夹和文件。看起来好像没有安装SQL Server Client(从开始菜单判断;我没有看到SQL Server Management Studio)。
在Web服务器上的程序和功能中,我看到了一堆SQL Server的东西:
我需要筹集一张IT票,以便在我的新服务器上设置这个,但不知道该要求什么!哪些安装会给我上述功能?或者什么安装允许我执行该脚本?
SQL Server Client 2012会满足要求吗?
注意:我需要安装的服务器是32位。
答案 0 :(得分:0)
SQLPS在sql server 2012中自动安装。旧版本需要从下载Featurpack安装它。
sql server 2012正常安装在文件夹中:
c:\Program Files\Microsoft SQL Server\110\Tools\PowerShell\Modules\SQLPS
如果该路径中不可用,则需要安装:
Microsoft Windows PowerShell Extensions for Microsoft SQL Server 2012
在Poweshell 3中你可以运行命令(没有路径):
Import-Module Sqlps -DisableNameChecking;
如果您使用路径
,它就有效Invoke-Sqlcmd 类似于命令行工具 sqlcmd
您可以使用以下命令运行脚本文件:
sqlcmd -S <server> -U <user> -P <password> -i <qry.sql>
答案 1 :(得分:0)
您所寻求的是 Microsoft SQL Server 2012功能包,可在此处获取:
https://www.microsoft.com/en-us/download/details.aspx?id=29065
如果您展开&#34;安装说明&#34;在页面中间向下滚动,您会看到其中列出的其中一个组件是 PowerShell Extensions ,其中包含SQLPS
模块。请注意,此组件取决于共享管理对象组件(也在同一页面上),而该组件又取决于 CLR类型(也在页面上,但至少< em> 已经在您的服务器上安装了一个。)
其他版本的SQL Server有不同的版本:
SQL Server 2014:https://www.microsoft.com/en-us/download/details.aspx?id=42295
SQL Server 2016:https://www.microsoft.com/en-us/download/details.aspx?id=52676