我正在开发一个自动化系统,它将通过运行查询来通过Powershell授予对SQL Server数据库的访问权限。我能够做到这一点很好,但我的问题是,我是否需要安装SQL Server Management Studio才能导入模块
例如:
import-module sqlserver
当我在安装工作室之前尝试这个时,我无法安装,因为Powershell无法找到该模块。
一旦我导入了模块,我就可以运行以下命令:
Invoke-sqlcmd -query "grant select, insert, update on test to sqlsupport;" -serverinstance "test\test"
有没有办法在没有工作室的情况下提供模块?
是的,在SSMS的相同安装程序中,通过选择要安装的组件,您可以选择仅安装PowerShell cmdlet而不安装SSMS的其余部分。
您还应该确保使用最新的模块(他们将名称从SQLPS更改为SqlServer);在撰写本文时,它是July 2016 update。
您可以将其安装为独立的PowerShell模块。
请以管理员身份打开Powershell并执行以下操作:
Set-ExecutionPolicy unrestricted
Install-Module sqlserver
Import-Module sqlserver
这应该允许您通过Powershell运行Sql命令而无需安装SQL Server Management Studio。