SQL Server 2008 Auto Change Change Scripts Legacy Problem
-
06-07-2019 - |
質問
" Tools ==>を有効にしますオプション==>デザイナー==>テーブルおよびデータベースデザイナー==>変更スクリプトの自動生成" SQL Server Management Studio(SSMS)で。データベーススキーマを変更するとき、スクリプトを保存し、アプリケーションを実行しているすべてのマシンにインストールされたDB移行ツールのおかげで、次のソフトウェアバージョン更新時にスキーマを同期できます。
最近、開発用コピーと一部の運用サーバーをSQL Server 2008に切り替えました。ただし、数十個のSQL Server 2005がまだソフトウェアを実行しています。これらを少しの間アップグレードする予定はありません。
問題は簡単です。 SSMSによって生成されたスクリプトは、単にSQL Server 2005で動作するとは限りません。SMSSはコマンドに追加のメタデータを追加しています(たとえば、ロックエスカレーションなど)。 2005年にスクリプトを作成するには、余分な情報を手動で削除する必要があります。削除しないと、スクリプトは実行されません。
SQL Server 2005と互換性のあるスクリプトを生成するようにSSMSを構成する方法はありますか?余分なSQLを自動的に削除するツールがありますか、少なくとも問題のあるファイルをお知らせください。
解決
SQL Server Management Studio 2008の[ツール]に移動->オプション-> SQL Serverオブジェクトエクスプローラー->スクリプトと「サーバーバージョン用のスクリプト」を選択します。それをSQL Server 2005に変更します。
他のヒント
オプションを変更するための推奨される解決策は正しいように見えますが、それでもデータベース上でALTER TABLE SET(LOCK_ESCALATION = TABLE)を生成します(互換モード90に入れます)
2008管理スタジオはまだ使用していませんが、以前のすべてのバージョンでは、どこかのオプションで特定のバージョンのSQL Serverにスクリプトを設定できました。
2005年の管理スタジオでは、同様の理由で2000の互換スクリプトを生成するように設定しています。