如何在我添加到项目中的 SQL Server Express 数据库中创建用户?
Posted
技术标签:
【中文标题】如何在我添加到项目中的 SQL Server Express 数据库中创建用户?【英文标题】:How can I create a user in SQL Server Express database I added to my project? 【发布时间】:2010-09-17 17:09:31 【问题描述】:如何在我添加到项目中的 SQL Server Express 数据库中创建 SQL 用户?
我需要创建一个用户以在不使用集成安全性的连接字符串中使用。
【问题讨论】:
【参考方案1】:您需要先使用CREATE LOGIN 创建一个经过 SQL 身份验证的登录,然后使用 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
【讨论】:
【参考方案2】:如果您创建 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]
【讨论】:
请注意,我遇到了您在此处提到的相同问题,但右键单击我的数据库服务“(本地)\sqlexpress”--> 属性-> 安全性解决了它。服务器身份验证有一个单选按钮,有两个选项:1) Windows 身份验证模式 2) SQL Server 和 Windows 身份验证模式。我的初始设置是“Windows 身份验证模式”,我更改为#2(两者)。之后,我就可以使用 Sql Server 身份验证登录了。 两位的建议非常有帮助 - 谢谢 :) 就是这样。混合模式未开启。以上是关于如何在我添加到项目中的 SQL Server Express 数据库中创建用户?的主要内容,如果未能解决你的问题,请参考以下文章
如何将架构绑定添加到 SQL Server 2008 中的视图
如何将中断视图添加到 Visual Studio SQL Server 数据库项目