来自paticular文件夹的SQL连接问题

时间:2016-01-25 18:23:38

标签: c# .net sql-server sql-server-2008 folder-permissions

背景:

  • 创建的C#.NET应用程序连接到SQL db并执行各种操作
  • App使用固定的SQL ID用户和密码
  • App使用标准连接字符串:
    • SqlConnection connection = new SqlConnection(conn_string)
  • SQL Server 2008 R2 / Windows 7 / C#,共享位于不同的域中

情况:

  • 用户可以运行exe并从folder1连接到sql(\ server1 \ share1 \ folder1)
  • 用户可以运行exe但是UNABLE从folder2连接到sql(\ server1 \ share2 \ folder2)(收到错误26)
  • 驱动器位于同一服务器上,但我只能在文件夹1/2级具有完全访问权限,因此无法查看更高版本的权限
  • 我在folder2中创建了一个单独的文件夹,并授予用户对该文件夹的完全控制权,用户仍然无法连接到SQL
  • 用户能够从两个驱动器ping和tracert(创建一个应用程序并从每个文件夹运行)到服务器(假设这应该无关紧要,因为客户端可以连接,这应该足够exe在客户端上运行?)
  • 我尝试过授予用户和windows id完全sa权限与最后一次尝试相同的结果
  • 从用户的本地计算机上运行
  • 我可以正常运行并从两个位置连接

要点:

可以访问和运行

exe,但是对于某些用户,来自文件夹2的SQL连接失败。用户可以从不同的文件夹中查看服务器和访问权限,我相信这与更高级别的某种文件夹权限有关。对share2的什么权限可能会导致这种行为,为什么它会先于我在新子文件夹上授予的完全访问权限?

1 个答案:

答案 0 :(得分:1)

好的 - 所以我设法创建了一个解决方案,现在我需要理解这个推理。

似乎通过添加列表,阅读attrib& share2的读取权限可以解决问题。

所以澄清:
-user可以从nas服务器根遍历到app - 连接到sql工作正常 - 用户无法从nas服务器根遍历,但可以映射应用程序所在的文件夹,并且可以访问并运行应用程序 - 连接不起作用

不确定为什么这些文件夹权限会影响与sql的连接,因为应用程序会在客户端上有效执行 - 但这将是我的下一个问题......