2016-04-18 24 views
0

我試圖使用SQLPS連接到Azure SQL服務器(在不同的訂閱下)如何將SQLPS模塊導入Azure自動化?

Auth方法是SQL Server身份驗證。

當我嘗試導入模塊SQLPS,我得到這個錯誤:

Error: import-module : The specified module 'sqlps' was not loaded because no valid module file was found in any module directory.

雖然我能夠從Windows PowerShell中連接到相同的SQL Azure的服務器,我不知道爲什麼我無法在Azure Powershell上執行相同的操作。我知道適用於PowerShell的.psm1模塊應該可以理解這一點,但是有人可以幫我解決這個問題嗎?

我試圖出口/從

C:\Program Files\Microsoft SQL Server\120\Tools\PowerShell\Modules

導入模塊,並沒有太鍛鍊...

回答

-1

你所得到的錯誤是簡單的PowerShell告訴你,它probled所有指定的文件夾在你的$ env:PSModulePath(即%PSMODULEPATH%env變量)中,並沒有找到SQLPS模塊(它的清單文件,基本上)。

我不清楚你是如何「導出/導入」SQLPS。你能詳細說明一下嗎?

在沒有SQLPS的乾淨機器上(即沒有SQL引擎或SQL管理工作室),我只需依靠SQL Feature Pack即可獲得SQLPS。如果這是你想完成什麼,你可以去https://www.microsoft.com/en-us/download/details.aspx?id=42295和下載下面的MSI(挑你的操作系統的架構): - SQLSysClrTypes.mai - SharedManagementObjects.msi - PowerShellTools.msi 在安裝這些訂購。然後,當你打開一個PowerShell窗口時,應該正確設置$ env:PSModulePath,你應該只能說「Import-Module SQLPS -DisableNameChecking」並開始使用SQLPS。

請讓我知道如果這不是你想要做的或者你正在遇到其他問題。如果你給我更多的細節,我可能會幫助你。

感謝, -Matteo

+0

嗯,我沒有Windows Powershell的問題。我目前有一個powershell腳本查詢Azure數據庫,併發送一個電子郵件與查詢的結果...我試圖實現相同的天藍色的運行簿和時間表...當我嘗試導入sqlps模塊時,出現上述錯誤 –

+0

導出/導入 - 我只是從路徑中複製文件並將其導入天藍色模塊 –

+0

噢,所以您正在複製「C:\ Program Files \ Microsoft SQL Server \ 120 \ Tools \ PowerShell \ Modules \ SQLPS「從一臺機器轉移到另一臺機器上?如果是這種情況,你有兩個問題:你需要確保目標路徑(比如X:\ SQLPSModule)被添加到$ env:PSModulePath env變量中(這很容易)。然後你有一個更大的問題:SQLPS使用的所有引用程序集(SMO等)也需要位於目標機器上。 –

0

只是爲了回答2個可能的解決方案,我發現這樣一個問題:

  1. 您可以使用Azure的自定義腳本擴展注入腳本到VM是 你想恢復到。然後該腳本將在VM上本地運行,即 表示SQL PS將可用。

  2. 您可以在Azure中將虛擬機設置爲混合工作器,然後將其變爲您的「Azure 自動化機器」。然後,您可以在該服務器上安裝SQLPS或任何需要 的模塊。