SQL Server 2019 Express安装时自动创建登录账户的方法咨询
问题解答
SQL Server 2019 Express完全支持在安装阶段自动创建登录账户,你可以通过安装配置文件结合Post-Install脚本,或者直接在安装完成后执行SQL脚本的方式实现自动创建。
以下是可实现需求的SQL脚本,该脚本包含三个核心功能:
- 在SQL Server中创建指定登录账户并启用
- 为账户分配服务器角色及权限
- 启用SQL Server的TCP和命名管道客户端协议(对应「计算机管理->应用和服务->SQL Server配置管理器」中的设置)
USE [master] GO /* 出于安全考虑,默认创建的登录会处于禁用状态并使用随机密码,此处我们直接设置指定密码并启用 */ CREATE LOGIN [<登录名>] WITH PASSWORD=N'<密码>', DEFAULT_DATABASE=[master], DEFAULT_LANGUAGE=[us_english], CHECK_EXPIRATION=OFF, CHECK_POLICY=OFF GO ALTER LOGIN [<登录名>] ENABLE; GO CREATE USER [<登录名>] FOR LOGIN [<登录名>]; GO /* 授予创建任意数据库及连接SQL的权限,并允许该账户将权限授予其他用户 */ GRANT CREATE ANY DATABASE, CONNECT SQL TO [<登录名>] WITH GRANT OPTION; GO /* 为登录账户添加各类服务器角色 */ ALTER SERVER ROLE [sysadmin] ADD MEMBER [<登录名>] GO ALTER SERVER ROLE [securityadmin] ADD MEMBER [<登录名>] GO ALTER SERVER ROLE [serveradmin] ADD MEMBER [<登录名>] GO ALTER SERVER ROLE [setupadmin] ADD MEMBER [<登录名>] GO ALTER SERVER ROLE [processadmin] ADD MEMBER [<登录名>] GO ALTER SERVER ROLE [diskadmin] ADD MEMBER [<登录名>] GO ALTER SERVER ROLE [dbcreator] ADD MEMBER [<登录名>] GO ALTER SERVER ROLE [bulkadmin] ADD MEMBER [<登录名>] GO USE [master] GO /* 将SQL Server登录模式设置为混合模式(SQL Server身份验证+Windows身份验证) */ EXEC xp_instance_regwrite N'HKEY_LOCAL_MACHINE', N'SOFTWARE\Microsoft\Microsoft SQL Server\MSSQLServer', N'LoginMode', REG_DWORD, 2 GO /* 启用TCP协议 */ EXEC xp_instance_regwrite N'HKEY_LOCAL_MACHINE', N'SOFTWARE\Microsoft\Microsoft SQL Server\MSSQLServer\SuperSocketNetLib\Tcp', N'Enabled', REG_DWORD, 1 GO /* 启用命名管道协议 */ EXEC xp_instance_regwrite N'HKEY_LOCAL_MACHINE', N'SOFTWARE\Microsoft\Microsoft SQL Server\MSSQLServer\SuperSocketNetLib\Np', N'Enabled', REG_DWORD, 1 GO
使用说明
- 将脚本中的
<登录名>和<密码>替换为你实际需要的账户信息 - 若要在安装阶段自动执行该脚本,可在SQL Server安装配置文件(configuration.ini)中添加
SQLSYSADMINACCOUNTS参数指定初始管理员账户,同时通过POSTINSTALLSCRIPT参数指定该脚本的路径,实现安装完成后自动执行 - 执行脚本后需重启SQL Server服务,确保协议设置生效
内容的提问来源于stack exchange,提问作者Nicolas
相关产品推荐
相关产品推荐

