Powershell Invoke-SQLCmd and SQLPS



Windows 7工作站3.0豪华SS 2012 SP1

文摘:
开发人员1无法运行Invoke-SQLCmd
使用类似SS Client工具安装的Developer 2可以运行Invoke-SQLCmd
开发人员1无法运行Import-Module 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'. 

另一个开发人员可以成功运行该命令,并且我们都有一个本地

我不能在我的机器上运行Import-Module sqlps,原因很明显- ExecutionPolicy是Restricted.

我不确定为什么其他开发人员的机器允许查询,而我的机器不允许。这是SQL客户端安装问题吗?

都是关于微软的。他们有最好的技术,但不是简单的一种方式和直接的路径来使用他们的工具。:(您可以使用SMO对象与数据库进行交互。(你可以使用c#/VB.net/PowerShell):$您可以使用SQLPS您可以使用Invoke-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

也许你可以试试下面的方法Add-PSSnapin SqlServerCmdletSnapin100Add-PSSnapin SqlServerProviderSnapin100虽然我注意到这些管理单元没有安装在我的本地,但我能够使用SQLPS,但这可能是因为执行策略是无限制的。来源:SQL Authority

更新:下载并按以下顺序安装

  1. Microsoft®System CLR Types for Microsoft®SQL Server®2012
  2. Microsoft®SQL Server®2012共享管理对象Microsoft®
  3. Microsoft®SQL Server®2012 Windows PowerShell扩展

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

我发现自己也处于同样的境地。有两个产品:SQLPS模块SQLServer模块

SQLPS在安装旧的SQL客户端时会自动安装。

如果您不能在另一台主机上安装SQL客户端(PROD环境),也可以从该安装中提取并复制到该主机上。例如)。这里有"details"段落中的步骤

SQLServer Module可以通过powershell命令安装,但它需要powershellv5。查看这里的详细信息

相关内容

  • 没有找到相关文章

最新更新