当我使用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
我需要做些什么来满足要求?
答案 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一起使用,但我不会在任何地方看到它都支持。