SqlServerDsc中是否有资源可用于配置ALTER TRACE服务器权限?



我可以使用SqlServerDsc模块的PowerShell DSC资源实现以下T-SQL代码吗?

USE master
GRANT ALTER trace TO [myUser]

我尝试了以下操作,但没有成功:

SqlDatabasePermission Grant_Alter_Trace_Permission
{
Ensure               = 'Present'
Name                 = 'mySQLUser'
Database             = 'master'
PermissionState      = 'Grant'
Permissions          = 'ALTER TRACE'
ServerName           = 'sqltest.company.local'
InstanceName         = 'MSSQLSERVER'
}

资源失败,出现以下错误:

PowerShell DSC资源DSC_SqlDatabasePermission执行Set-TargetResource功能失败,错误提示:System. sh。InvalidOperationException:名称'mySqlUser'既不是数据库用户,也不是数据库角色(用户定义的),也不是数据库'master'中的数据库应用程序角色。

谢谢你的帮助!

ALTER TRACE是服务器权限,而不是数据库权限。因此,如果存在这样的东西,请尝试SqlServerPermission而不是SqlDatabasePermission

你可以通过在Master中为mySQLUser创建一个用户来解决这个问题。我的猜测是,DSC在运行

之前正在检查数据库主体是否存在。GRANT ALTER trace TO [MyUser]

如果登录存在,如果您可以说服DSC尝试,那么该授权将成功。

最新更新