笔记39 SQL Server批处理设置帐号密码
笔记39 SQL Server批处理设置帐号密码
1 --SQL Server批处理设置帐号密码 2 ----------------------------------------------------------------- 3 -- Name: SQL Server 数据库帐号密码生成 4 -- Author: 林勇桦 5 -- DateTime: 2012-3-24 6 -- Description:通过脚本生成数据库帐号密码并用户映射到服务器中的所有数据库,若果数据库服务器有多个,效率较高 7 -- 如何使用:修改下面【通用SQL模板】的@user和@password的值,拷贝到下面的代码到SSMS中执行,这样就可以生成出适合本数据库实例的SQL脚本了, 8 -- 我们再拷贝生成的SQL代码到SSMS中执行就可以了。 9 10 -- 执行下面的两个脚本不过秒级,所以20台服务器对你来说,简单啦。 11 -- 这里生成的SQL脚本中包含了系统数据库:master、model、msdb、tempdb,为了方便我就没对这些数据库进行限制的 12 ----------------------------------------------------------------- 13 14 --通用SQL模板 15 16 --创建数据库帐号 17 18 DECLARE @dbname varchar(100) 19 20 DECLARE @user varchar(100) 21 22 DECLARE @password varchar(100) 23 24 DECLARE @sql varchar(max) 25 26 SET @user = 'hengshan' 27 28 SET @password = 'rain1q2w3e4r5t' 29 30 31 32 SET @sql =' 33 34 USE [master] 35 36 GO 37 -- 先在SQL SERVER中增加 @user 变量所代表的用户 38 CREATE LOGIN ['+ @user + '] WITH PASSWORD=N'''+ @password +''', DEFAULT_DATABASE=[master], CHECK_EXPIRATION=OFF, CHECK_POLICY=ON 39 40 GO 41 -- 再赋予服务器角色 为:sysadmin 42 EXEC master..sp_addsrvrolemember @loginame = N'''+@user+''', @rolename = N''sysadmin'' 43 44 GO' 45 46 47 PRINT(@sql) 48 49 DECLARE @itemCur CURSOR 50 SET @itemCur = CURSOR FOR 51 SELECT name from sys.databases where state =0 52 53 OPEN @itemCur 54 FETCH NEXT FROM @itemCur INTO @dbname 55 WHILE @@FETCH_STATUS=0 56 BEGIN 57 58 59 60 SET @sql = ' 61 62 USE ['+ @dbname + '] 63 64 GO 65 66 CREATE USER ['+@user+'] FOR LOGIN ['+@user+'] 67 68 GO 69 70 USE ['+ @dbname + '] 71 72 GO 73 74 ALTER USER ['+@user+'] WITH DEFAULT_SCHEMA=[dbo] 75 76 GO 77 78 USE ['+ @dbname + '] 79 80 GO 81 82 EXEC sp_addrolemember N''db_owner'', N'''+@user+''' 83 84 GO' 85 86 PRINT(@sql) 87 88 89 90 FETCH NEXT FROM @itemCur INTO @dbname 91 92 END 93 94 95 96 CLOSE @itemCur 97 98 DEALLOCATE @itemCur 99 100 101 102 103 --禁用sa帐号 104 105 SET @sql = ' 106 107 USE [master] 108 109 GO 110 111 ALTER LOGIN [sa] DISABLE 112 113 GO' 114 115 PRINT(@sql)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现