当前位置: 首页 > 面试题库 >

SQL Server链接服务器性能

鲁洋
2023-03-14
问题内容

我正在使用SQL Server 2008 Enterprise。我正在使用链接服务器技术从另一台服务器链接另一台SQL Server 2008
Enterprise实例。我编写TSQL来操作两个服务器实例中的对象(例如表)。

我的问题是,对于链接服务器,是否存在很大的性能问题?如果是,我们应遵循的主要性能瓶颈和最佳实践是什么?

在此先感谢,乔治


问题答案:

我的问题是,对于链接服务器,是否存在很大的性能问题?如果是,我们应遵循的主要性能瓶颈和最佳实践是什么?

比起什么?有什么疑问?当然, 这取决于 您在做什么。对于某些查询,对于其他大量查询而言,性能影响可以忽略不计。

您应该记住很多问题:

  • 如果要将DB1中的2个表连接到DB2中的2个表,并且这些表很大,那么东西可能会变得很丑陋。最终,查询将在某处执行。数据库将必须将所有结果拉入主数据库,并维护主数据库上的事务完整性。这可能真的很昂贵。
  • 如果您开始运行分布式事务,则东西会变得丑陋,快速。
  • 当跨服务器加入内容时,远程服务器上的索引可能变得无用。所有数据都必须移动到某个地方进行连接。
  • 链接的服务器链接可能会在意外的时候中断,并导致难以诊断的错误。

在过去,我发现在本地移动远程数据并在加入之前对其进行索引的速度要快几个数量级。



 类似资料:
  • 问题内容: 我想编写一个脚本来测试所有链接的服务器,并返回唯一已连接的服务器(可以肯定只有一个)。 这是我当前的脚本,但是我被困在这一点上: 但是使用此查询,代码无法在第一次迭代时停止,因为它无法连接到表的第一台服务器。这是错误消息: 链接服务器“ server1”的OLE DB提供程序“ MSDASQL”返回了消息“通信链接失败; -10709连接失败(连接超时已过期)”。消息7303,级别16

  • 问题内容: 我正在尝试将链接的服务器添加到Access数据库。我正在使用以下SQL代码来执行此操作。 但是当我运行这个… 我得到这个错误… OLE DB提供程序’Microsoft.Jet.OLEDB.4.0’不能用于分布式查询,因为该提供程序配置为在单线程单元模式下运行。我究竟做错了什么? 我在32位系统上使用SQL Server Management Studio 2008。 问题答案: 我想

  • 我正在开发web套接字应用程序。从前端来看,每个应用程序都有一个插座。但我不确定后端。我们将Python和nginx与Flask socketIO和socket io客户端库一起使用。此体系结构将用于通知前端发生了更改,并应更新数据。 以下是我的疑问-服务器上将创建多少套接字和线程?不同连接之间是否可以共享套接字?是否有任何工具可以分析插座是否打开?

  • 问题内容: 我有一个SQL Server 2012.(120.120.55.15) 今天,我将MySQL服务器(120.120.55.30)链接到我的SQLServer,并将其命名为 “ MYSQL”。 在对象资源管理器中,一切似乎都很好。我可以看到 MySQL 服务器的数据库“ exampleDataBase ”和其中的表。 但是当我尝试运行选择查询时,如下所示: 我弄错了: 消息7399,级别

  • 问题内容: 是否可以为链接服务器构造一个动态查询(如果可以的话)? 例如: 问题答案: 例子 确保阅读《动态SQL的诅咒和祝福》以防止SQL注入

  • 问题内容: 我有一个带有链接服务器的SQLServer到其他地方的另一个数据库。我已经在该链接服务器上创建了一个视图 我想以下 但这会产生错误:“外键’fk1_baz_to_foo’引用的对象’dbo.vw_foo’不是用户表。” 如果我尝试使用以下命令将外键直接放在桌子上 然后我得到以下错误: 对象名称“ LINKEDSERVER.RemoteDatabase.dbo.tbl_bar”包含的前缀