【SQLServer】创建可以访问sqlserver实例中所有数据库的用户
2022-08-24 14:10 abce 阅读(107) 评论(0) 编辑 收藏 举报1.创建一个login
USE [master] GO CREATE LOGIN [abce] WITH PASSWORD=N'Tips_DemoUser@123', DEFAULT_DATABASE=[master], CHECK_EXPIRATION=OFF, CHECK_POLICY=ON GO
2.授权
USE master GO DECLARE @dbname VARCHAR ( 50 ) DECLARE @statement NVARCHAR ( MAX ) DECLARE db_cursor CURSOR LOCAL FAST_FORWARD FOR SELECT name FROM MASTER.dbo.sysdatabases WHERE name NOT IN ( 'master', 'model', 'msdb', 'tempdb', 'distribution' ) OPEN db_cursor FETCH NEXT FROM db_cursor INTO @dbname WHILE @@FETCH_STATUS = 0 BEGIN SELECT @statement = 'use ' +@dbname + ';' + 'CREATE USER [abce] FOR LOGIN [abce]; EXEC sp_addrolemember N''db_datareader'', [abce];EXEC sp_addrolemember N''db_datawriter'', [abce]' EXEC sp_executesql @statement FETCH NEXT FROM db_cursor INTO @dbname END CLOSE db_cursor DEALLOCATE db_cursor