为了账号安全,请及时绑定邮箱和手机立即绑定

无法打开登录请求的数据库“test”。登录失败。用户'xyz \ ASPNET'登录失败

无法打开登录请求的数据库“test”。登录失败。用户'xyz \ ASPNET'登录失败

LEATH 2019-07-27 10:36:11
无法打开登录请求的数据库“test”。登录失败。用户'xyz \ ASPNET'登录失败我创建了一个将一些数据保存到db的Web服务。但是我收到了这个错误:无法打开登录请求的数据库“test”。登录失败。用户'xyz \ ASPNET'登录失败。我的连接字符串是Data Source=.\SQLExpress;Initial Catalog=IFItest;Integrated Security=True
查看完整描述

3 回答

?
米琪卡哇伊

TA贡献1998条经验 获得超6个赞

  • 要么:“xyz \ ASPNET”不是登录(在sys.server_principals中)

  • 或者:“xyz \ ASPNET”已设置但未映射到数据库测试中的用户(sys.database_principals)

我会选择第二个选项:错误消息暗示默认数据库不存在或没有权限,而不是设置为登录。

测试它是否设置为登录

SELECT SUSER_ID('xyz\ASPNET') -- (**not** SUSER_SID)

如果为NULL

CREATE LOGIN [xyz\ASPNET] FROM WINDOWS

如果不是NULL

USE test
GO
SELECT USER_ID('xyz\ASPNET')

如果为NULL

USE test
GO
CREATE USER [xyz\ASPNET] FROM LOGIN [xyz\ASPNET]


查看完整回答
反对 回复 2019-07-27
?
慕虎7371278

TA贡献1802条经验 获得超4个赞

登录问题的最佳解决方案是在sqlServer中创建登录用户。以下是创建使用Windows身份验证(SQL Server Management Studio)的SQL Server登录的步骤:

  1. 在SQL Server Management Studio中,打开对象资源管理器,然后展开要在其中创建新登录名的服务器实例的文件夹。

  2. 右键单击“安全性”文件夹,指向“新建”,然后单击“登录”。

  3. 在“常规”页面上,在“登录名”框中输入Windows用户的名称。

  4. 选择Windows身份验证。

  5. 单击确定。

例如,如果用户名是xyz\ASPNET,则在登录名框中输入此名称。

您还需要更改用户映射以允许访问要访问的数据库。


查看完整回答
反对 回复 2019-07-27
  • 3 回答
  • 0 关注
  • 1041 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信