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
- Oracle建立表空間、使用者、分配許可權語句Oracle
- 如何匯出MySQL索引的建立語句MySql索引
- Oracle 許可權常用語句【轉】Oracle
- mysql匯出使用者許可權MySql
- LightDB/PostgreSQL標準業務建立語句【賦予讀寫許可權和只讀許可權】SQL
- PostgreSQL物件許可權如何在後設資料中獲取-許可權解讀、定製化匯出許可權SQL物件
- DB2許可權與授權DB2
- 11gR2中如何noaudit所有預設開啟的語句和許可權審計選項
- 使用SQL批量查詢出建立使用者及許可權指令碼SQL指令碼
- Oracle 建立表空間、建立使用者以及授權、檢視許可權Oracle
- 如何通過注入SQL語句盜取網站管理許可權AHSQL網站
- Oracle 使用者、物件許可權、系統許可權Oracle物件
- MySQL建立使用者,配置許可權、密碼策略MySql密碼
- mysql 建立新使用者 並賦予許可權MySql
- oracle資料庫使用者建立、許可權分配Oracle資料庫
- MySql給賬戶所有許可權MySql
- 如何匯出儲存過程、函式、包和觸發器的定義語句?如何匯出表和索引的建立語句?儲存過程函式觸發器索引
- 如何檢視postgresql使用者許可權SQL
- 【SCRIPTS】將使用者具有的所有許可權盡收眼底
- 使用者許可權繼承另一使用者的許可權繼承
- 匯出db裡user的建立和授權的過程
- 如何匯出SQL Server中的使用者賬號,許可權等資訊 - sp_help_revloginSQLServer
- 【許可權管理】Oracle中檢視、回收使用者許可權Oracle
- 如何用 Vue 實現前端許可權控制(路由許可權 + 檢視許可權 + 請求許可權)Vue前端路由
- MSSQL匯出所有login賬號和密碼SQL密碼
- [提權禁區] SQL語句利用xp_cmdshell獲取許可權SQL
- Oracle 11g建立使用者並賦許可權Oracle
- 詳解Oracle建立使用者許可權全過程Oracle
- DB2 public許可權相關DB2
- DB2許可權管理的理解DB2
- 常用MSSQL語句SQL
- 前端如何進行使用者許可權管理前端
- oracle使用者許可權Oracle
- mysql使用者許可權MySql
- oracle 使用者許可權Oracle
- Oracle建立表空間、建立資料庫使用者、賦許可權Oracle資料庫
- SQL語句匯入匯出大全SQL