SQL Server如何匯出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/69950462/viewspace-2659441/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- MSSQL 如何匯出db所有使用者許可權建立語句SQL
- 如何通過注入SQL語句盜取網站管理許可權AHSQL網站
- LightDB/PostgreSQL標準業務建立語句【賦予讀寫許可權和只讀許可權】SQL
- PostgreSQL物件許可權如何在後設資料中獲取-許可權解讀、定製化匯出許可權SQL物件
- mysql 給了使用者所有許可權ALL PRIVILEGES,但是該使用者沒有grant許可權MySql
- sql許可權管理SQL
- 【SQL】Oracle BLOB 批量匯入匯出圖片語句SQLOracle
- 關於SQL Server資料庫中的使用者許可權和角色管理SQLServer資料庫
- SQL Server 建立使用者賦權報錯之Permissions at the server scope canSQLServer
- 如何匯出儲存過程、函式、包和觸發器的定義語句?如何匯出表和索引的建立語句?儲存過程函式觸發器索引
- MySQL建立使用者,配置許可權、密碼策略MySql密碼
- Sql Server關於許可權、角色以及登入名、使用者名稱的總結SQLServer
- MySql給賬戶所有許可權MySql
- 為SQL Server快照snapshot DB建立login訪問SQLServer
- 如何檢視postgresql使用者許可權SQL
- [AlwaysOn] 建立SQL Server高可用性組T-SQL語法:DB_FAILOVER引數SQLServerAI
- mysql 命令列安裝並給使用者sa所有許可權MySql命令列
- 如何用 Vue 實現前端許可權控制(路由許可權 + 檢視許可權 + 請求許可權)Vue前端路由
- Sa提權Sql語句大全SQL
- linux使用者許可權Linux
- 前端如何進行使用者許可權管理前端
- Java中如何解析SQL語句、格式化SQL語句、生成SQL語句?JavaSQL
- chmod a+r file:給所有使用者新增讀的許可權
- SQL Server 語句日期格式查詢方法SQLServer
- SQL Server-簡單查詢語句SQLServer
- oracle匯出使用者、表空間和角色的建立語句Oracle
- Linux使用者與許可權Linux
- mysql使用者許可權管理MySql
- SQL Server 2014 匯出資料字典SQLServer
- MongoDB建立只讀使用者並授權指定集合的查詢許可權MongoDB
- mysql8下建立使用者遠端登陸許可權MySql
- Oracle資料庫scott使用者建立view檢視許可權Oracle資料庫View
- CDB和PDB關於使用者建立和使用者許可權區別
- 呼叫者許可權與定義者許可權的pl/sql子程式SQL
- SQL Server 查詢歷史執行的SQL語句SQLServer
- windows server許可權對tomcat的影響WindowsServerTomcat
- MySQL 記錄所有執行了的 sql 語句MySql
- MYSQL學習筆記13: DCL許可權控制(使用者許可權操作)MySql筆記