9

我将开始开发新的桌面应用程序。我想使用轻量级和独立的数据库,以便我将使用 SQL LocalDB,但我想添加身份验证。在访问数据库之前我需要用户名和密码,但那里没有应用身份验证,请帮助我该怎么做。

如果我们无法在 SQL LocalDB 中添加用户名和密码,那么请向我推荐任何其他最适合我的数据库,并且我可以使用实体框架。

提前致谢

4

3 回答 3

19

要将您的新数据库用户添加到您的数据库中,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作为 a 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
于 2017-05-19T12:36:16.957 回答
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

于 2014-11-23T07:54:26.847 回答
0

只想添加您需要的系统管理员角色,以便您可以创建数据库

使用此代码

ALTER SERVER ROLE sysadmin ADD MEMBER your_user;  
GO 
于 2020-11-12T19:07:24.053 回答