4

Windows 7 工作站 POSH 3.0 SS 2012 SP1

摘要:
Developer 1 无法运行 Invoke-SQLCmd
Developer 2 安装类似的 SS 客户端工具可以运行 Invoke-SQLCmd
Developer 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 受到限制。

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

4

3 回答 3

4

这一切都与微软有关。他们拥有最好的技术,但不仅仅是使用他们工具的一种方式和直接途径。:( 您可以使用 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
于 2017-07-31T17:29:26.513 回答
1

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

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

如果您无法在那里安装 SQL 客户端(例如 PROD 环境),它也可以从该安装中提取并复制到另一台主机上。您在这里有“详细信息”段落中的步骤

SQLServer 模块可以通过 powershell 命令安装,但它需要 powershell v5。看这里详情

于 2019-05-13T13:34:00.380 回答
1

也许你可以试试下面的 Add-PSSnapin SqlServerCmdletSnapin100 Add-PSSnapin SqlServerProviderSnapin100 虽然我注意到这些管理单元没有安装在我的本地但我可以使用 SQLPS 但这可能是因为执行策略是不受限制的。资料来源:SQL 权威

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

  1. Microsoft® SQL Server® 2012 的 Microsoft® System CLR 类型
  2. Microsoft® SQL Server® 2012 共享管理对象 Microsoft®
  3. 适用于 Microsoft® SQL Server® 2012 的 Windows PowerShell 扩展

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

于 2015-10-23T16:08:00.627 回答