Sql server 2005 在SQL 2005中进行跨数据库调用是否会影响性能?

Sql server 2005 在SQL 2005中进行跨数据库调用是否会影响性能?,sql-server-2005,Sql Server 2005,在SQL 2005中进行跨数据库调用是否会影响性能?换句话说,让存储过程和函数与数据所在的数据库在同一个数据库中运行是否会提高性能 如果数据库驻留在相同的服务器实例中,则不需要太多。如果它们驻留在不同的服务器实例中,则需要传输请求和数据。所以我想答案是肯定的,让它在同一个数据库中运行对性能更好。这不会影响性能,但可能会影响灾难恢复。例如,如果正在进行数据库镜像,则可能会在一个数据库故障转移到DR数据中心之前,将另一个数据库故障转移到DR数据中心。如果查询被设计为在不同于它们自己的数据库中执行,并

在SQL 2005中进行跨数据库调用是否会影响性能?换句话说,让存储过程和函数与数据所在的数据库在同一个数据库中运行是否会提高性能

如果数据库驻留在相同的服务器实例中,则不需要太多。如果它们驻留在不同的服务器实例中,则需要传输请求和数据。所以我想答案是肯定的,让它在同一个数据库中运行对性能更好。

这不会影响性能,但可能会影响灾难恢复。例如,如果正在进行数据库镜像,则可能会在一个数据库故障转移到DR数据中心之前,将另一个数据库故障转移到DR数据中心。如果查询被设计为在不同于它们自己的数据库中执行,并且该数据库已故障转移,则查询将失败。为了简单起见,您可能希望在正确的数据库中运行它们,以防止出现此类问题—想想几年后,当您离开并且其他人必须维护应用程序时会发生什么


其次,还有一个绩效报告的含义。在对数据库进行概要文件/跟踪时,可以尝试根据数据库筛选活动。如果查询来自不同的数据库,则除非从两个数据库捕获活动,否则您不会捕获这些查询。

回答您的特定问题,是的,代码在与表相同的数据库中更好

  • (将代码添加到表中)
  • 问题
  • 管理安全。服务器级登录映射到数据库级用户。这需要麦田两次
  • BCP问题(版本冲突、数据不匹配等)
没有性能开销(相同的服务器),但存在巨大的维护问题

你为什么要考虑这个设计呢

包含数据的数据库来自第三方MS Enterprise Server应用程序。我们不想在此数据库中放置自定义SQL。我们选择创建一个自定义数据库,在需要时跨数据库查询