2015-10-16 110 views
2

的Windows 7工作站 POSH 3.0 SS 2012 SP1Powershell的調用,SQLCMD和SQLPS

摘要:
開發1無法運行調用-SQLCMD
開發人員2類似的SS客戶端工具安裝可以運行調用,SQLCMD
開發1無法運行導入模塊SQLPS

當我試圖從我的筆記本電腦像下面運行一個查詢:

Invoke-sqlcmd -ServerInstance <ServerName> -Query "Select top 10 * from <SomeTable>;" 

我收到以下錯誤:

Invoke-sqlcmd : The 'Invoke-sqlcmd' command was found in the module 'SQLPS', 
but the module could not be loaded. For more information, run 'Import-Module 
SQLPS'. 

另一個開發者可以成功運行的命令,我們都擁有一個本地

我不能運行我的機器上進行明顯的導入模塊SQLPS原因 - ExecutionPolicy是受限制的。

我不確定爲什麼其他開發者機器允許查詢,而我的不是。這是SQL客戶端安裝問題嗎?

+0

是否其他開發商具有相同的執行策略使用確保功能包嗎?這應該真的只有問題,如果一個腳本被如果你無法從powershell命令行運行invoke-sqlcmd,你確定你已經安裝了SQL管理工具嗎? – AutomatedOrder

+0

運行此命令以確保您已安裝SQLPS:'Get-Module -ListAvailable -name SQLPS' – AutomatedOrder

+0

我運行了Get-Module -ListAvailable-名稱SQLPS,並且確實出現SQLPS在我的C:\ Program Files中可用( x86)\微軟SQL 服務器\ 110 \工具\ PowerShell \模塊 – Riskworks

回答

0

也許你可以試試下面的 添加-PSSnapin SqlServerCmdletSnapin100 添加-PSSnapin SqlServerProviderSnapin100 雖然我注意到這些管理單元不會在我的本地安裝,但我能夠使用SQLPS但可能是因爲執行策略無限制。 來源:SQL Authority

更新:下載及以下順序安裝在

  1. 微軟系統CLR類型爲Microsoft®SQLServer®上2012
  2. Microsoft®SQLServer®上2012共享管理對象微軟®
  3. 適用於Microsoft®SQLServer®2012的Windows PowerShell擴展

鏈接 - https://www.microsoft.com/en-us/download/details.aspx?id=29065

+0

這些命令對於SQL Server 2012無效或可用。「導入模塊SQLPS」應該是同樣的事情,但對我來說不起作用(在原始海報中也不例外)。 – DustinA

+0

我很抱歉,但從鏈接看來,作者指的是SQL Server 2012,並且與導入模塊有相同的問題。 – Vinnie

+0

嘿,我只是意識到我從來沒有時間去更新爲我工作的答案。希望這有助於。 – Vinnie

1

這完全是關於微軟。他們擁有最好的技術,但不能簡單地使用他們的工具和直線路徑。 :( 您可以使用SMO對象與數據庫進行交互(你可以用它與C#/ VB.net/PowerShell中):$ 可以使用SQLPS 您可以使用調用-SQLCMD

以下腳本只是運行使安裝在你的機器和使用SQLPS哪一個更容易比其他解決方案(個人喜好)

Install-module -Name SqlServer -Scope CurrentUser 

# Import the SQL Server Module.  
Import-Module Sqlps -DisableNameChecking; 

# To check whether the module is installed. 
Get-Module -ListAvailable -Name Sqlps; 
cd SQLSERVER:\SQL 
相關問題