如何比较两个 SQL Server 2008 配置

Rob*_*roj 7 sql-server-2008 sql-server export configuration

我的应用程序在我的开发 SQL Server 2008(开发人员版)上运行时遇到问题,但在生产 SQL Server 2008 上不起作用。是否有一种简单的方法可以从生产服务器导出设置并将其与我的服务器配置进行比较?

我发现我可以将 SQL Server Management Studio 中的 Facet 导出到 XML 文件并在差异工具中进行比较。

有没有其他/更好的方法来导出和比较两个 SQL Server 实例的设置?

Tho*_*ger 13

你真的只需要发挥创意。众所周知,设置的存储位置有很多,具体取决于您要比较的内容。例如,要比较实例范围的配置设置,您可以简单地进行EXCEPT查询(您可能需要创建链接服务器,或者根据您想要的方式导出/导入数据):

select *
from [YourProdInstance].master.sys.configurations

except

select *
from [YourDevInstance].master.sys.configurations
Run Code Online (Sandbox Code Playgroud)

对要比较的所有其他配置设置使用相同类型的方法。

  1. 找到配置数据的根
  2. 在公共位置获取两个实例的配置数据
  3. 编写一个查询来比较数据(无论是否为 XML)


Iva*_*vic 6

您可以使用自定义策略或预定义的策略(所谓的最佳实践)并根据您的开发人员 SQL Server 实例进行调整。然后,如SQL Server 基于策略的管理 – 评估多个 SQL Server 实例在线文章中的策略,针对(甚至多个)生产实例评估它们


小智 5

我编写了一个开源实用程序,它将编写常见的服务器配置脚本并将它们保存到各种文件中。它包括 sys.configurations 中的所有内容以及安全设置、服务器属性、凭据、数据库等等。

该实用程序是CodePlex 上的SQL Server 配置

如果您编写两台服务器的脚本并在结果上使用 diff 实用程序,您应该有一个很好的列表,列出两台服务器之间的不同之处。我主要将它用于 DR 目的,但在这种情况下它应该可以很好地工作。