使用托管 Web 应用程序连接到 SQL 服务器数据库

Connecting to SQL Server Database using a Hosted Web Application

我已经使用 c# 创建了一个 .net Web 应用程序,它可以从 SQL 服务器数据库中插入、更新和删除数据。我已经使用本地主机对其进行了测试,并且运行良好。现在我想在托管站点上发布此应用程序。

我的问题是,数据库是否需要与应用程序位于同一 server/host 上才能连接?
有没有人有关于如何实现这个的任何提示?

不,您不必 运行 数据库与应用程序位于同一台服务器上。为了可扩展性,最好将两者分开,一台专用服务器用于您的数据库,一台服务器用于托管您的所有网站。

在您的应用程序中,您指定与数据库的连接。在您的数据库服务器上,如果您确实需要进一步的安全性,您还可以对 IP 设置访问此数据的限制。

如果您的问题是 'How to connect database present on another server',那么您必须在 Web.config 文件中添加它的 IP 地址,如:

<connectionStrings>
    <add name="myConnectionString" connectionString="data source=myserver\SQLEXPRESS;initial catalog=myDatabase;uid=myUserName;password=myPassword;" />
</connectionStrings>

data source 可以是 IP 地址或 PC 名称,其中存储数据库。

does the database need to be on the same server/host that the application is in for it to connect?

将数据库放在同一台机器上或不同的机器上由您决定machine.You可以选择以下场景

  • 如果它是一个简单的网站并且您只有一台机器,那么您可以在同一台服务器上安装数据库(或者如果它已经存在)。在这种情况下,连接字符串可能需要更改也可能不需要更改,具体取决于您使用什么类型的连接字符串(例如,如果您的 sql 服务器实例名称不同,连接字符串将会更改)
  • 您的网站可能会变得复杂或处理大量数据,使用专用数据库服务器是有意义的。这种情况下连接字符串将更改

Does anyone have any tips on how to implement this?

解决这个问题的最简单方法是使用 web.config transformation.All 你要做的就是创建一个新的 Web.Release.Config

更多详情请参考此回答How do I use Web.Config transform on my connection strings?