SQL Server Express和Enterprise如何通信?

4
我对SQL Server如何处理多个查询有些困惑,因为我在SQL Server Express中运行查询,但数据存储在Business/Enterprise SQL Server中。我在服务器上安装了企业版SQL Server,其拥有多TB的数据。由于无法物理访问服务器,我有两种方法。一是使用RDP连接到服务器并运行查询,二是通过在本地机器上安装的SQL Server Express连接到SQL Server实例(显然我们应该在同一个域中)。我没有任何关于RDP的问题,我的关注点在于第二种方法。当我在本地机器上运行多个查询时(而不是在服务器上),我发现性能非常慢。从这里这里看来,我的SQL Server Express正在运行查询,并且由于# CPU限制,速度非常慢。

但我希望确保SQL Server如何处理我的查询。具体来说,我想了解这里所示的步骤3和4更多信息。特别是,我想知道Express和Enterprise如何通过tcp/ip相互通信。SQL Server Express发送什么给Enterprise,Enterprise发送什么给Express?

我找到了这篇文章,但它似乎不是我要找的东西。


您的本地 SQL Express 如何连接到服务器?如果 SQL Express 可以连接到业务服务器,为什么你不能连接呢?您是否混淆了 SQL Server 和 SSMS? - Greg
谢谢Greg,我正在通过SSMS连接服务器,连接正常。在连接方面没有问题,只是关于Express和Bussiness之间通信的细节。 - Mohsen Sichani
2
要么你连接到本地的SQL Server Express并在那里运行查询(本地运行-带有所有限制),要么你使用SSMS连接到SQL Server Enterprise数据库,然后查询在该服务器上运行(不在本地机器上-你只是使用本地机器上的GUI来查看发生了什么)。除非你设置了某种复制或“链接服务器”,否则本地实例和远程服务器实例之间没有“通信”。 - marc_s
谢谢Marc,如果我在本地机器上使用SSMS连接到企业服务器,查询是否会在服务器上运行? 它运行太慢了,有没有办法确保执行机器? 我明天会尝试这个(http://blog.sqlauthority.com/2009/01/07/sql-server-find-currently-running-query-t-sql/)。另外,关于这一点:“您连接到本地SQL Server Express并在那里运行查询(本地运行-带有所有限制)”,您能否解释更多? 数据流是什么? - Mohsen Sichani
1
@Marc_s 谢谢,是的你说得对。当我使用本地SSMS连接到服务器时,查询是在企业服务器上运行的。因此,在Express版本方面应该没有任何限制,对吧? - Mohsen Sichani
@mohsenhs:不,如果这些查询在“企业版”服务器上运行,则不会应用任何“Express”限制.... - marc_s
2个回答

2

好的,要么

  • 您连接到本地的SQL Server Express 并在本地运行查询(有所有限制)

或者

  • 您通过SSMS从本地计算机连接到SQL Server Enterprise数据库,然后在该服务器上运行查询(不在本地计算机上运行-您只是使用本地计算机上的GUI查看情况)。由于这些查询在服务器上运行,因此您本地的Express实例的任何限制都不会影响您的查询

除非您设置了某种复制或“链接服务器”,否则本地实例和远程服务器实例之间没有“通信”.....


2

SQL Server是数据库引擎,而SSMS(SQL Server Management Studio)只是一个IDE(集成开发环境)。

所有查询都始终在服务器上执行,无论是Express还是Enterprise版本。

SSMS从不执行查询,它不执行任何工作。它只将查询传递到服务器并显示结果记录集。唯一可以观察到的速度差异是由于将数据集从服务器传输到客户端。

请阅读:SQL Server Management Studio和Express版之间有什么区别?


感谢Ricardo的额外评论。 - Mohsen Sichani

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接