是否有SQL Server Expess的SQL Server Profiler?也许是一个开源的?或者只是一个工具,可以帮助我查看传递给数据库的查询?
在调试在IIS Express下运行的ASP.Net MVC应用程序时,尝试使用成员资格提供程序时出现以下错误:
无法打开登录请求的数据库"MyDB".登录失败.
用户'MY-PC\MyName'登录失败.
我尝试使用中列出的步骤进行故障排除
SELECT SUSER_ID('MY-PC\MyName')
Run Code Online (Sandbox Code Playgroud)
返回一个ID.
SELECT USER_ID('MY-PC\MyName')
Run Code Online (Sandbox Code Playgroud)
返回NULL
CREATE USER [MY-PC\MyName] FROM LOGIN [MY-PC\MyName]
Run Code Online (Sandbox Code Playgroud)
返回错误消息
登录已拥有不同用户名下的帐户.
实际上,有一个登录帐户,在我创建数据库时自动创建,被调用
DBO
映射到MY-PC\MyName.
我的连接字符串是
Data Source=.\SQLEXPRESS;Initial Catalog=MyDB;Persist Security Info=True;Integrated Security=SSPI;
Run Code Online (Sandbox Code Playgroud)
在生产环境中运行我会知道如何创建适当的用户和登录.我一直坚持如何解决IIS Express使用我的Windows帐户名来尝试在Windows帐户已经关联时登录MyDB的事实dbo.
我尝试执行此 Web 应用程序,但当我尝试在 Web 应用程序中注册用户帐户时,它给了我以下错误消息:
发生 System.Data.SqlClient.SqlException
HResult=0x80131904
Message=无法打开登录请求的数据库“rentalsystem”。登录失败。
用户“MicrosoftAccount\corene100@outlook.com”登录失败。
来源=.Net SqlClient 数据提供程序
我在网上查找并尝试上述的任何解决方案,但每次我尝试单击注册按钮时仍然会弹出此错误。MicrosoftAccount\corene100@outlook.com我已经在 Microsoft SQL Server Management Studio 中创建了一个用户登录名(使用 Windows 身份验证),并确认它具有db_owner数据库的权限。
但是,如果我尝试为 SQL Server 身份验证创建登录名,则由于存在特殊字符,登录名不可用。我之前连接过很多其他数据库,但从来没有出现过这个错误。
有什么方法可以让 Visual Studio 2017 使用我的原始用户登录凭据连接到数据库吗?这是DESKTOP-2UB7OKA\Corene. 我也尝试将连接字符串更改为:
Data Source=DESKTOP-2UB7OKA;Initial Catalog=rentalsystem;
Integrated Security=True;Pooling=False;User ID=MicrosoftAccount\corene100@outlook.com
Run Code Online (Sandbox Code Playgroud)
或者
Data Source=DESKTOP-2UB7OKA;Initial Catalog=rentalsystem;
Integrated Security=True;Pooling=False;User ID=DESKTOP-2UB7OKA\Corene
Run Code Online (Sandbox Code Playgroud)
这些都不起作用。第二个仍然让它使用MicrosoftAccount\corene100@outlook.com用户名登录数据库。
这里有什么问题?我已确认两个用户都拥有数据库的 db_owner 权限,并且我已在 Web 应用程序属性上启用了 Windows 身份验证。我不知道接下来我要做什么。
请帮忙,谢谢。