スキーマ ビューでデータベース リファクタリングを使用すると、データベース オブジェクトをスキーマ間で移動できます。 その変更は、データベース プロジェクトに適用する前にプレビューできます。 その後、変更を配置してターゲット データベースを更新する必要があります。 リファクタリング ログには、リファクタリング操作がすべて記録されます。これにより、意図したとおりに変更を配置することが可能になります。 詳細については、「別のスキーマにデータベース オブジェクトを移動する」を参照してください。
別のスキーマにデータベース オブジェクトを移動するには
スキーマ ビューで、移動するオブジェクトを右クリックし、[リファクタ] をポイントし、[スキーマへ移動] をクリックします。
[スキーマへ移動] ダイアログ ボックスが表示されます。
メモ :
オブジェクトのリファクタリングは、コード ウィンドウまたはソリューション エクスプローラでは実行できません。
[新しいスキーマ] ボックスの一覧から、オブジェクトの移動先となるスキーマの名前を選択します。
(省略可能) [変更のプレビュー] チェック ボックスをオンにします。
メモ :
単体テスト内とスクリプト内の参照を更新するには、このチェック ボックスをオンにする必要があります。 [変更のプレビュー] ダイアログ ボックスが表示された場合は、参照の更新を実行することを指定する必要があります。 詳細については、「方法 : リファクタリングの変更をプレビューする」を参照してください。
(省略可能) [非修飾スクリプトおよび単体テストの参照に既定のプロジェクト スキーマ dbo を使用] チェック ボックスをオンにします。
このチェック ボックスをオフにした場合や、スクリプト内と単体テスト内で完全修飾名を指定していない場合、リファクタリング操作で参照を更新することはできません。 このチェック ボックスをオンにし、スクリプト内と単体テスト内で完全修飾名を指定していない場合、これらのオブジェクトの既定のスキーマとプロジェクトの既定のスキーマは同じであると見なされます。
(省略可能) [警告またはエラーを含むスキーマ オブジェクトの参照を更新する] チェック ボックスをオンにします。
このチェック ボックスをオフにすると、その参照が含まれているオブジェクト定義で警告またはエラーが発生する場合、参照は更新されません。 このチェック ボックスをオンにすると、その参照が含まれているオブジェクト定義で警告またはエラーが発生するかどうかにかかわらず、参照は更新されます。
(省略可能) [リファクタリング ログの生成] チェック ボックスをオンにします。
メモ :
このチェック ボックスをオンにすると、配置に影響するリファクタリング操作に関する情報を記録するリファクタリング ログが生成されます。 これらのリファクタリング ログは、データベース プロジェクトを配置する際にリファクタリング操作の意図を保持するための ProjectName.refactorlog ファイルからは独立しています。
リファクタリング ログは、YourProjectPath\Refactoring Logs フォルダに格納されます。
[OK] をクリックします。
[変更のプレビュー] チェック ボックスがオンになっている場合、[変更のプレビュー] ダイアログ ボックスが表示されます。 それ以外の場合は、オブジェクト名が更新され、そのオブジェクトがスキーマ ビューの新しい位置に表示されます。
メモ :
オブジェクトを別のスキーマに移動する場合、そのオブジェクトが定義されているファイルの名前は変更しないでください。 ファイル名を更新する場合は、ソリューション エクスプローラで名前を変更する必要があります。
手順 6. で説明したオプションのログ ファイルに加え、データベース オブジェクトを別のスキーマに移動すると常に、ProjectName.refactorlog ファイルにエントリが書き込まれます。 このファイルはデータベース プロジェクトの一部であり、データベース プロジェクトの配置時に使用されます。 このファイルは、バージョン管理にチェックインし、他の共有プロジェクト資産と同じように管理する必要があります。 詳細については、「別のスキーマにデータベース オブジェクトを移動する」を参照してください。