MSSQL 如何匯出db所有使用者許可權建立語句
use db
go
DECLARE
@Database varchar(255),
@loginName varchar(255),
@roleName varchar(255),
@sql nvarchar(max);
SET @sql=N'';
DECLARE curLogin CURSOR LOCAL for
select db_name() as dbname,dp.name as username,dpr.name as rolename
from sys.database_principals dp
join sys.database_role_members drm on drm.member_principal_id=dp.principal_id
join sys.database_principals dpr on drm.role_principal_id=dpr.principal_id
join sys.server_principals sp on sp.name=dp.name
where 1=1
--and dpr.is_fixed_role=1
and dp.type<>'R'
and dp.type in('S','U','G') --SQL USER,WINDOWS USER AND windows group
order by username,rolename
OPEN curLogin;
FETCH NEXT FROM curLogin INTO @Database,@loginName,@roleName;
WHILE @@FETCH_STATUS = 0
BEGIN
SET @sql=@sql+N'
use '+@Database+';
if not exists(select * from '+@Database+'.sys.database_principals where name='''+@LoginName+''')
begin
CREATE USER '+QUOTENAME(@LoginName)+';
end
else
begin
ALTER USER '+QUOTENAME(@LoginName)+' with login = '+QUOTENAME(@LoginName)+'
end
;
'
--print @sql
--exec sp_executesql @sql
select @sql=@sql+N'
use '+@Database+';
exec sp_addrolemember '''+@roleName+''', ''' + @LoginName + ''''
--exec sp_executesql @sql
FETCH NEXT FROM curLogin INTO @Database,@loginName,@roleName;
END
CLOSE curLogin
DEALLOCATE curLogin
;
--select len(@sql)
--print @sql --this will be truncated
exec sysadmin.dbo.printmax @sql
go
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31552801/viewspace-2659003/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- SQL Server如何匯出db所有使用者許可權建立語句SQLServer
- LightDB/PostgreSQL標準業務建立語句【賦予讀寫許可權和只讀許可權】SQL
- PostgreSQL物件許可權如何在後設資料中獲取-許可權解讀、定製化匯出許可權SQL物件
- mysql 給了使用者所有許可權ALL PRIVILEGES,但是該使用者沒有grant許可權MySql
- 常用MSSQL語句SQL
- 如何匯出儲存過程、函式、包和觸發器的定義語句?如何匯出表和索引的建立語句?儲存過程函式觸發器索引
- 如何通過注入SQL語句盜取網站管理許可權AHSQL網站
- MySQL建立使用者,配置許可權、密碼策略MySql密碼
- MySql給賬戶所有許可權MySql
- 如何檢視postgresql使用者許可權SQL
- mysql 命令列安裝並給使用者sa所有許可權MySql命令列
- 如何用 Vue 實現前端許可權控制(路由許可權 + 檢視許可權 + 請求許可權)Vue前端路由
- linux使用者許可權Linux
- 前端如何進行使用者許可權管理前端
- chmod a+r file:給所有使用者新增讀的許可權
- oracle匯出使用者、表空間和角色的建立語句Oracle
- Linux使用者與許可權Linux
- mysql使用者許可權管理MySql
- MongoDB建立只讀使用者並授權指定集合的查詢許可權MongoDB
- mysql8下建立使用者遠端登陸許可權MySql
- Oracle資料庫scott使用者建立view檢視許可權Oracle資料庫View
- CDB和PDB關於使用者建立和使用者許可權區別
- MYSQL學習筆記13: DCL許可權控制(使用者許可權操作)MySql筆記
- 基於 PHP 反射的許可權匯入PHP反射
- Linux 特殊許可權a,i,t,s以及查詢帶有特殊許可權的所有檔案Linux
- 許可權之選單許可權
- Linux使用者、組、許可權管理Linux
- MySQL使用者及許可權管理MySql
- Oracle使用者角色許可權管理Oracle
- linux5-使用者許可權Linux
- MySql查詢使用者許可權MySql
- MySQL 使用者及許可權管理?MySql
- 使用者和組的許可權
- 淺談PostgreSQL使用者許可權SQL
- MongoDB 使用者與許可權管理MongoDB
- linux 檔案許可權 s 許可權和 t 許可權解析Linux
- 如何讓普通使用者獲取root使用者的許可權
- 如何檢查某個使用者是否具有某個許可權物件上定義的某種許可權物件