首页 > 解决方案 > 无法使用我在 sql 数据库中创建的用户登录

问题描述

我正在尝试使用我使用 db_owner 权限创建的帐户连接我的数据库。Windows 身份验证有效,但 sql server 身份验证无效

我可以确认该角色已创建,因为使用错误密码时用户出现错误消息 login failed。与正确密码时相比。

我的本地数据库是在 ASP.net Web 应用程序中创建的,只需在 App 数据中添加一个本地数据库。

错误信息是

用户 guest 没有运行 DBCC checkpriamry 文件的权限。

用户已使用

CREATE LOGIN [SomeUser] WITH PASSWORD = 'topsecret';
CREATE USER [SomeUser] FOR LOGIN [SomeUser];
exec sp_addrolemember 'db_owner', 'SomeUser'

编辑:

  <connectionStrings>
    <add name="Shop" connectionString="Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\Shop.mdf;Integrated Security=True" providerName="System.Data.SqlClient" />
  </connectionStrings>

https://imgur.com/a/9aCWVCU

是错误信息的链接

标签: sqlasp.netsql-serverlocaldb

解决方案


定义登录时的连接字符串必须是这样的:

<connectionStrings>
   <add name="Shop" connectionString="Data Source=(LocalDb)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\Shop.mdf;Initial Catalog=Shop.mdf;Persist Security Info=True; User ID=SomeUser; Password=topsecret;"
          providerName="System.Data.SqlClient" />
</connectionStrings>

推荐阅读