簡體   English   中英

TFS 2015上無法識別導入模塊SQLPS

[英]Import-Module SQLPS Not Recognized on on TFS 2015

我正在將集成測試添加到我們的CI構建過程中。

我有一個數據庫項目(通過dacpac)部署到TFS服務器上的localDb實例。 (工作中)

下一步是將測試數據加載到數據庫中。 我正在嘗試導入SQLPS模塊,然后運行Invoke-SqlCmd命令集。

Import-Module 'SQLPS' -DisableNameChecking;
Invoke-Sqlcmd -InputFile "$localDirectory\products\$branch\UnitTestData.sql" -ServerInstance "(localdb)\v12.0" -Database "[db]"

我不斷收到無法識別SQLPS的錯誤。

TFS服務器已安裝SQL Server 2012-但我正在使用2014對象。 我已經安裝了SQL 2014 Feature Pack,以便可以在服務器和構建代理上使用powertools。

這似乎很常規-但是我不確定我在哪里出錯。

弄明白了。 Powershell不是我的強項之一,因此對於在其構建服務器上尋找SQL Server Powershell工具的其他任何人。

您需要在構建服務器上安裝SQL Server Feature Pack(如果未安裝SQL Server)。 該功能包適用於2012年及更高版本。

您需要的特定項目是:SQL CLR類型SQL共享管理對象Powershell工具

Powershell工具將安裝在C:\\ Program Files \\ Microsoft SQL Server {version} \\ Tools \\ PowerShell \\ Modules目錄中。 其中{version:110 = 2012,120 = 2014,130 = 2016}

使用PS工具的路徑參考-您要做的就是創建本地模塊路徑參考:

Param(
    [Parameter(Mandatory=$True)][string]$server,
    [Parameter(Mandatory=$True)][string]$database,
    [Parameter(Mandatory=$True)][string]$sqlPowerToolsPath,
    [Parameter(Mandatory=$True)][string]$sqlFile
)

$env:PSModulePath = $env:PSModulePath + ";$sqlPowerToolsPath"

我的PS腳本采用了參數server,數據庫,sqlPowerToolsPath,sqlFile,並且我設置了本地會話PSModulePath以將路徑包括在參數中。 在我的情況下,C:\\ Program Files \\ Microsoft SQL Server \\ 120 \\ Tools \\ PowerShell \\ Modules。

腳本的其余部分將導入SQLPS模塊並執行參數中指定的SQL文件:

Import-Module 'SQLPS' -DisableNameChecking;
$sql = [Io.File]::ReadAllText($sqlFile);
Invoke-Sqlcmd -Query $sql -ServerInstance "$server" -Database "$database"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM