无法使用模拟连接到共享的本地SQL Server数据库

时间:2016-05-11 21:24:10

标签: c# sql-server windows-7 impersonation localdb

我尝试使用C#测试连接到本地SQL Server数据库。此数据库已成功共享,我可以使用SQLCMD使用多个用户连接到该数据库。这包括所需的用户,READ。

现在我要做的是冒充READ然后用C#连接到数据库。我正在使用已经证明有效的标准模拟机制。

当我冒充READ时,我得到例外:

测试方法

  

System.Data.SqlClient.SqlException:建立与SQL Server的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确,以及SQL Server是否配置为允许远程连接   (提供程序:SQL网络接口,错误:50 - 发生本地数据库运行时错误。在LocalDB实例API方法调用内发生意外错误。请参阅Windows应用程序事件日志以获取错误详细信息。)

我检查并仔细检查了连接字符串。我的主用户帐户ADMIN(谁拥有共享)使用相同的字符串连接到数据库就好了。

该异常指出应用程序事件日志将包含更多信息。他们只注意到" ACCESS IS DENIED"错误5。

我已经与execute和其他人一起提供了连接权限。我尝试将sysadmin提供给整个服务器到用户帐户,但是,当我冒充时,它无法连接。

注意:对于假冒我正在使用"互动"级别冒充。

我有什么遗失的东西吗?我是否需要为本地系统中的凭据授予特定权限? Localdb是否可以使用本机SQL Server客户端进行正确的身份验证?为什么我可以像其他用户一样运行流程时连接,只是不使用进程内模拟?

0 个答案:

没有答案