无法打开登录请求的数据库“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]
慕虎7371278
TA贡献1802条经验 获得超4个赞
登录问题的最佳解决方案是在sqlServer中创建登录用户。以下是创建使用Windows身份验证(SQL Server Management Studio)的SQL Server登录的步骤:
在SQL Server Management Studio中,打开对象资源管理器,然后展开要在其中创建新登录名的服务器实例的文件夹。
右键单击“安全性”文件夹,指向“新建”,然后单击“登录”。
在“常规”页面上,在“登录名”框中输入Windows用户的名称。
选择Windows身份验证。
单击确定。
例如,如果用户名是xyz\ASPNET
,则在登录名框中输入此名称。
您还需要更改用户映射以允许访问要访问的数据库。
- 3 回答
- 0 关注
- 1041 浏览
添加回答
举报
0/150
提交
取消