我们计划为我们的实时服务器购买并安装 SQL Server 2008 R2 Web 版本。我们的宏伟计划是安装一个装有此 SQL Server(Web 版本)的全新服务器,并更改其他两台服务器上各种 Web 应用程序的连接字符串以指向新的数据库服务器。
在寻找另一个问题的答案时,我偶然发现了这条评论(来自https://serverfault.com/a/198080/3039):
您不能在其上安装 SQL Server,然后将该 SQL 用于其他应用程序/服务器。
那么,我的上述计划行不通?我必须在同一个物理 SQL Server(Web 版)上安装并运行 IIS?
答案1
我认为这是正确的,Web 版不提供远程 T-SQL 端点,因此您必须:
在安装 SQL Server 的同一台服务器上运行所有 Web 应用程序,或者
在您的 SQL Server 上运行一个 Web 服务,所有其他(远程)Web 应用程序都可以从中查询/检索数据。
从性能的角度来看,在单独的 Web 应用程序中部署“中继”数据访问层可能不是一个好主意。
您应该考虑部署 SQL Server 标准版以满足您在问题中指定的需求
答案2
您可以在与 SQL Server Web 版本物理不同的服务器上运行 IIS。最后,我通过我们购买该软件的经销商向 Microsoft 提出了支持请求。他们首先确认了这一点,我们今天已经安装了它,并且运行正常。
安装完成后,我们按照此博客文章的步骤进行操作,以确保已启用远程连接:http://blogs.msdn.com/b/walzenbach/archive/2010/04/14/how-to-enable-remote-connections-in-sql-server-2008.aspx在我们的网络版中,我们只需要打开防火墙上的端口(在评估版,即完整的企业版中,我们还必须启用 TCP/IP)。
在我们购买该软件之前,我问了这个问题:
SQL Server 使用“端点”与其他应用程序/服务进行通信。其中一个端点用于 HTTP 访问,但 Web 版不支持 HTTP/SOAP 端点!我不确定这是否意味着我们的环境可以正常工作 - 还有另一个 TCP/IP 端点,在我看来这意味着它可以正常工作,但我不知道我是否需要 HTTP 端点?
我们基本上有 2 个前端网络服务器来托管我们所有的网页(大多数仍在使用经典 ASP 和 Microsoft OLE DB 提供程序进行连接)...
并收到答复:
Dan 分享的信息是正确的,并且也承认了访问服务器的正确方法。它将通过 TCP/IP 端点,并且 http 端点不可用不会影响该场景。