【问题标题】:connection string for remote database server远程数据库服务器的连接字符串
【发布时间】:2009-06-25 16:08:26
【问题描述】:

我目前设置了 2 台服务器。一个是运行 Win Server 08 的 Web 服务器,另一个是在 Win Server 08 上运行 SQL Server 08 的数据库服务器。

目前我有我的站点设置,以便它可以通过使用我使用数据库名称、服务器 ip、db 用户和 db pwd 创建的连接字符串来读取/写入数据库。我创建的 db 用户在数据库中有一个“公共”角色设置(不是 db 所有者),并且可以运行 exec 存储过程。我的连接字符串目前看起来像这样:

<add name="SiteDBConn" connectionString="Server=IPOfServer;Database=DBname;User ID=userhere;Password=passhere;"/>

虽然这对我来说非常有效,但我想设置一个不包含任何用户名和密码的数据库连接字符串。在我的其他一些服务器上,SQL 服务器与 Web 文件位于同一台服务器上,我可以使用受信任的连接并使用我的数据库中内置的“网络服务”用户。这让我可以运行一个没有用户名和密码的连接字符串,如下所示:

<add name="SiteDBConn" connectionString="Server=localhost;Database=DBname;Trusted_Connection=Yes;"/>

在使用 2 个不同的服务器时,是否有一种简单的方法可以在不硬编码用户名和密码的情况下实现与数据库的连接(如上面的连接字符串)?我是不是在浪费时间走这条路,因为我创建的数据库用户无论如何都只有 exec 权限?

感谢您对此的看法。

【问题讨论】:

    标签: sql web-config connection-string trustedconnection


    【解决方案1】:

    您没有在浪费时间。这是一个非常好的做法。当您在不同的机器上分离出 IIS 和 SQL 时,这里有一些选项:

    • 在 IIS 机器和 SQL 服务器上创建 asp.net 用户(最好使用相同的密码)
    • 使用模拟(更改网站运行环境)
    • 在 注册表 配置文件中加密连接字符串并忘记可信连接 (brrrr)
    • 将 asp.net 上下文切换为域用户
    • 在本机应用程序模式下使用 IIS6

    【讨论】:

    • 感谢您的反馈。关于模拟,您是否知道任何好的指南或演练来设置它?干杯。
    • 实际上是从最后一个问题开始。在你的文章和这个问题之间,我有我需要的信息。谢谢。 stackoverflow.com/questions/982216/…
    【解决方案2】:

    如果两台服务器不在同一个 Windows 域中,则无法使用可信连接。

    此外,登录必须创建为 Windows 身份验证,您不能将 SQL 身份验证登录与受信任的连接一起使用。

    否则,塔波里所说的一切。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-09
      • 2012-03-04
      • 2014-06-28
      • 1970-01-01
      • 1970-01-01
      • 2016-11-12
      • 1970-01-01
      相关资源
      最近更新 更多