如何在我添加到项目中的SQL Server Express数据库中创建SQL用户?
我需要创建一个用户,以便在不使用集成安全性的连接字符串中使用。
答案 0 :(得分:23)
您需要首先使用CREATE LOGIN创建SQL Authenticated登录,然后使用CREATE USER将与该登录相关联的用户添加到您的数据库。
USE [master]
GO
CREATE LOGIN [JohnEgbert] WITH PASSWORD=N'YourPassword',
DEFAULT_DATABASE=[YourDB], CHECK_EXPIRATION=OFF, CHECK_POLICY=OFF
GO
USE [YourDB]
GO
CREATE USER [JohnEgbert] FOR LOGIN [JohnEgbert] WITH DEFAULT_SCHEMA=[dbo]
GO
答案 1 :(得分:5)
如果创建SQL登录和SQL用户没有错误,但在尝试连接时出错,则可能禁用了SQL身份验证模式。要检查,请运行:
SELECT SERVERPROPERTY('IsIntegratedSecurityOnly')
如果返回1,则禁用SQL身份验证(混合模式)。 您可以使用SSMS,regedit或T-SQL更改此设置:
EXEC xp_instance_regwrite N'HKEY_LOCAL_MACHINE', N'Software\Microsoft\MSSQLServer\MSSQLServer', N'LoginMode', REG_DWORD, 2
然后重新启动SQL Server服务,并创建一个登录名和用户,此处具有完全权限:
CREATE LOGIN myusername WITH PASSWORD=N'mypassword',
DEFAULT_DATABASE=[master], CHECK_EXPIRATION=OFF, CHECK_POLICY=OFF
EXEC sp_addsrvrolemember 'myusername', 'sysadmin'
CREATE USER myusername FOR LOGIN myusername WITH DEFAULT_SCHEMA=[dbo]