如何在我添加到项目中的SQL Server Express数据库中创建用户?

时间:2010-09-17 17:09:32

标签: sql sql-server sql-server-express

如何在我添加到项目中的SQL Server Express数据库中创建SQL用户?

我需要创建一个用户,以便在不使用集成安全性的连接字符串中使用。

2 个答案:

答案 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]