開発用SQL Server 2008(Developer Edition)では機能するが、運用SQL Server 2008では機能しないアプリケーションに問題があります。運用サーバーから設定をエクスポートし、サーバー構成と比較する簡単な方法はありますか?
SQL Server Management StudioのファセットをXMLファイルにエクスポートし、それらを差分ツールで比較できることがわかりました。
2つのSQL Serverインスタンスの設定をエクスポートして比較する他の/より良い方法はありますか?
あなたは本当に創造的になる必要があります。ご存知のように、比較対象の内容によっては、設定が保存される場所がたくさんあります。たとえば、インスタンス全体の構成設定を比較するには、単純にEXCEPT
クエリを実行します(リンクサーバーを作成するか、その方法に応じてデータをエクスポート/インポートする必要がある場合があります)。
select *
from [YourProdInstance].master.sys.configurations
except
select *
from [YourDevInstance].master.sys.configurations
比較する他のすべての構成設定に、この同じタイプの方法を使用します。
カスタムポリシーまたは事前定義されたポリシー(いわゆる ベストプラクティス )を使用して、開発者のSQL Serverインスタンスに応じて調整できます。次に、 SQL Serverポリシーベースの管理-複数のSQL Serverインスタンスのポリシーの評価 オンラインの記事で説明されているように、(複数の)本番インスタンスに対してそれらを評価します
一般的なサーバー構成をスクリプト化してさまざまなファイルに保存するオープンソースユーティリティを作成しました。これには、sys.configurationsのすべてに加えて、セキュリティ設定、サーバープロパティ、資格情報、データベースなどが含まれます。
ユーティリティは、CodePlexでは SQL Server Configurations です。
2つのサーバーのスクリプトを作成し、結果に対してdiffユーティリティを使用すると、2つのサーバーの違いのかなり優れたリストが得られます。主にDRの目的で使用しますが、この場合は問題なく機能します。
インスタンスとデータベースの設定を比較し、AzureDBでも機能する無料のツールの作成を支援しました。
1)環境を比較する継続的な方法を探している場合、および2)商用ソリューションを利用できる場合は、 https://www.orcaconfig.com/compare-configurations)を確認することをお勧めします。
Orcaは、アプリケーション、ミドルウェア、データベース(SQL Server、オペレーティングシステムを含む)の構成をキャプチャします。また、ttは、構成を既知の標準(ゴールドマスターリビジョンやゴールドマスターサーバーなど)およびコンプライアンス標準と自動的に比較します。私はそこで働いています。
それ以外の場合は、他のコメンターがリストしたオプションがおそらく最良の選択です。