SqlServerDsc 中是否有可用于配置 ALTER TRACE 服务器权限的资源?
Is there a resource in SqlServerDsc I can use to configure the ALTER TRACE server permission?
我可以使用 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.InvalidOperationException:名称 'mySqlUser' 既不是数据库用户,也不是数据库角色(用户定义) , 或数据库中的数据库应用程序角色 'master'.
感谢您的帮助!
ALTER TRACE 是 Server Permission 而非数据库权限。因此,如果存在这种情况,请尝试 SqlServerPermission
而不是 SqlDatabasePermission
。
您可以通过在 Master 中为 mySQLUser 创建一个用户来解决这个问题。我的猜测是 DSC 在 运行
之前检查是否存在数据库主体
GRANT ALTER trace TO [MyUser]
如果登录名存在,并且您可以说服 DSC 进行尝试,则授权将成功。
我可以使用 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.InvalidOperationException:名称 'mySqlUser' 既不是数据库用户,也不是数据库角色(用户定义) , 或数据库中的数据库应用程序角色 'master'.
感谢您的帮助!
ALTER TRACE 是 Server Permission 而非数据库权限。因此,如果存在这种情况,请尝试 SqlServerPermission
而不是 SqlDatabasePermission
。
您可以通过在 Master 中为 mySQLUser 创建一个用户来解决这个问题。我的猜测是 DSC 在 运行
之前检查是否存在数据库主体GRANT ALTER trace TO [MyUser]
如果登录名存在,并且您可以说服 DSC 进行尝试,则授权将成功。