如何修复SQL Server PowerShell模块缺少的Microsoft.SqlServer.Management.CloudAdapter.Data?

时间:2018-05-06 14:03:50

标签: sql-server powershell ssms

当我使用SQL Server PowerShell模块时,我收到一个缺少程序集的错误。

我安装了SqlServer版本21.0.17240和SQL Server Management Studio v17.6。

Import-Module SqlServer
Get-SqlInstance -MachineName $serverInstance -Credential $credential

错误:

Get-SqlInstance : Die Datei oder Assembly "Microsoft.SqlServer.Management.CloudAdapter.Data, Version=14.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" oder eine Abhängigkeit davon wurde nicht gefunden. Das System kann die angegebene Datei nicht finden.
In Zeile:2 Zeichen:9  
+         Get-SqlInstance -MachineName $serverInstance -Credential $cre ...  
+         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  
+ CategoryInfo          : NotSpecified: (:) [Get-SqlInstance], FileNotFoundException  
+ FullyQualifiedErrorId : System.IO.FileNotFoundException,Microsoft.SqlServer.Management.PowerShell.IaaS.GetSqlInstanceCommand

我需要做些什么来满足要求?

1 个答案:

答案 0 :(得分:1)

注意:我正在阅读21.0.17240,因为SqlServer模块的版本不是您的实例" SQL Server"。

Get-SqlInstance需要安装SQL Server云适配器。根据{{​​3}}:

  

Get-SqlInstance cmdlet为每个cmdlet获取一个SQL实例对象   目标计算机上存在的SQL Server实例。如果   提供了SQL Server实例的名称,cmdlet将仅提供   获取这个特定的SQL Server实例。

     

您必须确保在计算机上运行SQL Server Cloud Adapter   托管SQL Server实例。

该服务旨在支持Azure虚拟机上托管的SQL Server。即使您的计算机是在本地的,您也需要MSDN,否则命令行程将无法正常工作。

我的两分钱,如果您想要有关SQL Server实例的实例信息,请考虑使用SMO。 Google和您发现了大量有关使用SMO从SQL Server提取数据的材料:

  

powershell smo

现在,对于您的问题,我不相信Microsoft使用引擎或功能包为SQL Server 2016或2017发布了SCA,这意味着该命令行开关有效地针对这些版本进行了破坏{ {3}}。如果您使用2014,则可以使用功能包下载SCA。也许您可以将2014 SCA与更高版本的SQL Server一起使用,但我不会在任何地方看到它都支持。