我将开始在新的桌面应用程序上工作。我想使用轻量级的独立数据库,以便使用SQL LocalDB,但要添加身份验证。在访问数据库之前,我需要用户名和密码,但此处未应用身份验证,请帮助我该怎么做。
如果我们不能在SQL LocalDB中添加用户名和密码,那么请向我建议另一个最适合我的数据库,也可以使用 Entity Framework 。
提前致谢
最佳答案
要将新的数据库用户添加到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