我正在尝试使用SQLPS连接到Azure SQL服务器(在不同的订阅下)
Auth方法是SQL server auth。
当我尝试导入模块SQLPS时,我收到此错误:
错误:import-module:未加载指定的模块'sqlps' 因为在任何模块目录中都找不到有效的模块文件。
虽然我可以从windows powershell连接到同一个Azure SQL服务器,但我不知道为什么我无法在Azure Powershell上执行相同操作。我知道PowerShell应该存在适当的.psm1模块来理解这一点,但是有人可以帮我解决这个问题吗?
我已尝试从
导出/导入模块C:\ Program Files \ Microsoft SQL Server \ 120 \ Tools \ PowerShell \ Modules
并且没有锻炼......
答案 0 :(得分:0)
就我发现的两个可能的解决方案回答这个问题:
您可以使用Azure自定义脚本扩展将脚本注入到VM中 您要还原到。然后,该脚本将在VM上本地运行 表示SQL PS可用。
您可以在Azure中将VM设置为混合工作者,然后成为您的“Azure” 自动化机器“。然后,您可以安装SQLPS或您需要的任何模块 在那台服务器上。
答案 1 :(得分:-1)
您获得的错误只是PowerShell告诉您它在$ env:PSModulePath(即%PSMODULEPATH%env变量)中指定的所有文件夹都有问题,并且它没有找到SQLPS模块(基本上是它的清单文件)。
我不清楚你是如何"出口/进口" SQLPS。你能详细说明吗?
在没有SQLPS的干净机器上(即没有SQL引擎或SQL Management Studio),我只依靠SQL Feature Pack来获取SQLPS。如果这是您要完成的任务,您可以转到https://www.microsoft.com/en-us/download/details.aspx?id=42295并下载以下MSI(选择您的操作系统的架构): - SQLSysClrTypes.mai - SharedManagementObjects.msi - PowerShellTools.msi 按顺序安装它们。然后,当您打开PowerShell窗口时,应该正确设置$ env:PSModulePath,您应该只能说"导入模块SQLPS -DisableNameChecking"并开始使用SQLPS。
请告诉我这是不是你想要做的事情,或者你遇到其他问题。如果你给我更多细节,我可以帮助你。
谢谢, -Matteo