要生成脚本以删除所有SQL Server数据库上的角色成员,可以使用以下步骤:
SELECT r.name AS [RoleName], m.name AS [MemberName]
FROM sys.database_role_members rm
INNER JOIN sys.database_principals r ON rm.role_principal_id = r.principal_id
INNER JOIN sys.database_principals m ON rm.member_principal_id = m.principal_id
USE [YourDatabaseName]; -- 替换为你的数据库名
DECLARE @sql NVARCHAR(MAX) = '';
SELECT @sql += 'ALTER ROLE ' + QUOTENAME(r.[RoleName]) + ' DROP MEMBER ' + QUOTENAME(m.[MemberName]) + ';' + CHAR(13)
FROM [YourQueryResultTable]; -- 替换为你的查询结果表名
PRINT @sql; -- 可选,用于在消息窗口中显示生成的脚本
-- 执行生成的脚本
-- EXEC sp_executesql @sql; -- 取消注释以实际执行删除操作
[YourDatabaseName]
为你的数据库名,[YourQueryResultTable]
为保存查询结果的表名。delete_role_members.sql
(或其他你喜欢的名称)。:r C:\path\to\delete_role_members.sql -- 替换为你的脚本文件路径
请注意,这只是一个示例脚本,用于删除数据库中的角色成员。在实际使用中,请谨慎操作,并确保你了解脚本的影响和风险。
领取专属 10元无门槛券
手把手带您无忧上云