我将开始研究新的桌面应用程序。我想使用轻量级和独立数据库,以便我将使用SQL LocalDB,但我想添加身份验证。在访问数据库之前我需要用户名和密码,但在那里没有应用身份验证,请帮助我如何做。
如果我们无法在SQL LocalDB中添加用户名添加密码,那么请建议我最适合我的任何其他数据库,并且我也可以使用实体框架。
提前致谢
答案 0 :(得分:7)
要将新数据库用户添加到MSSQLLocalDB
,您需要连接到该用户并执行此操作:
CREATE LOGIN your_user WITH PASSWORD = 'your_password';
CREATE USER your_user FOR LOGIN your_user;
EXEC sp_addrolemember 'db_owner', 'your_user'
然后,您将能够使用这些凭据与MSSQLLocalDB
连接到SQL Server Authentication
数据库引擎。
Server name: (LocalDB)\MSSQLLocalDB
Authentication: SQL Server Authentication
User: your_user
Password: your_password
或者您可以使用实例管道名称而不是(LocalDB)\MSSQLLocalDB
作为Server name
(请参阅下面的获取位置)。
从SQL Server Management Studio(SSMS)初始连接到本地数据库
最初要运行上面的SQL命令,您需要使用MSSQLLocalDB
连接到Windows Authentication
。你可以用两种方式做到这一点(如果第一个赢了,默认情况下会尝试第二种方式)。
使用实例名称
Server name: (LocalDB)\MSSQLLocalDB
Authentication: Windows Authentication
使用实例管道名称
从命令行转到C:\Program Files\Microsoft SQL Server\130\Tools\Binn\
(您可能需要使用其他版本并将\130\
替换为您的文件夹名称)并运行SqlLocalDB.exe
以查找您拥有的本地数据库实例:
SqlLocalDB.exe i
确保列出MSSQLLocalDB
。然后运行此命令以查看MSSQLLocalDB
状态(第一行)并在它停止时启动(第二行):
SqlLocalDB.exe i MSSQLLocalDB
SqlLocalDB.exe start MSSQLLocalDB
然后,您可以再次执行SqlLocalDB.exe i MSSQLLocalDB
以查看实例管道名称。像这样np:\\.\pipe\LOCALDB#D7900618\tsql\query
要在SSMS
中进行连接,您需要输入:
Server name: np:\\.\pipe\LOCALDB#D7900618\tsql\query
Authentication: Windows Authentication
答案 1 :(得分:0)
使用它:
SqlConnection con = new SqlConnection("Server= localhost, Authentication=Windows Authentication, Database= employeedetails");
con.Open();
如果你想要sql server身份验证而不是读取这个: http://msdn.microsoft.com/en-us/library/ms162132.aspx
答案 2 :(得分:0)
只想添加您需要的sysadmin角色,以便您可以创建数据库
使用此代码
ALTER SERVER ROLE sysadmin ADD MEMBER your_user;
GO