別のスキーマにデータベース オブジェクトを移動する

データベース オブジェクトを別のスキーマに移動する場合、データベース リファクタリングを使用すると、より簡単にデータベース プロジェクト内のそのオブジェクトに対するすべての参照を正しく更新できます。 たとえば、セキュリティを強化する場合や、より論理的にデータベースを整理する場合、データベースを複数のスキーマに分割することもできます。 分割後は、1 つ以上のオブジェクトを新しいスキーマに移動するだけでなく、そのオブジェクトに対する完全修飾されたすべての参照を更新する必要があります。 新しいスキーマを参照するためにすべての参照を手動で変更すると、エラーが発生する可能性があります。 データベース リファクタリングを使用すると、それらの参照を自動的に検索および更新できます。

リファクタリング ログによる変更意図の保持

データベース オブジェクトの名前を変更すると、データベース プロジェクトのリファクタリング ログにエントリが追加されます。 変更を配置するときは、このログにより、ターゲット環境内の対応するオブジェクトを意図したとおりの名前に変更できます。 それ以外の場合、既存のオブジェクトが削除され、オブジェクトは新しい名前で追加されます。 ログは、ProjectName.refactorlog という名前の XML ファイルに保持されます。 データベース プロジェクトを構成するその他のファイルにチェックインするときに、このファイルをバージョン管理にチェックインします。 このログ ファイルは、[スキーマへ移動] ダイアログ ボックスの [リファクタリング ログの生成] チェック ボックスをオンにしたときに作成されるオプション ファイルとは異なります。 オプション ファイルでは、選択したチェック ボックスで実行したすべてのリファクタリング操作の記録を提供します。 ProjectName.refactorlog ファイルには、配置時に特殊な処理が必要なリファクタリング操作に関する情報のみが含まれています。

配置

リファクタリングを使用すると、運用データベースではなく、データベース プロジェクトのみが更新されます。 この方法により、バージョン管理やチーム開発など、データベース プロジェクトのすべての利点を利用できます。 データベース プロジェクトをビルドすると、すべてのリファクタリング ログ ファイルがプロジェクトの \sql フォルダの transaction.refactorlog ファイルにマージされます。 変更を配置する場合、マージされたファクタリング ログ ファイルにより、データベース プロジェクトに対する変更の意図を保持できます。

詳細については、「データベースのビルドおよび分離開発環境への配置」を参照してください。

Dd193277.alert_note(ja-jp,VS.90).gifメモ :

チーム環境では、アプリケーションとデータベースの単体テストを実行してから、変更を運用サーバーに配置する必要があります。 詳細については、「チーム データベース開発の開始」を参照してください。

一般的なタスク

次の表に、このシナリオをサポートする一般的なタスクの説明と、それらのタスクを正常に完了する方法の詳細へのリンクを示します。

タスク

関連するトピック

実習を行う : 以下のチュートリアルに従うと、他の種類のリファクタリングに加え、データベース オブジェクトを別のスキーマに移動する方法を参照できます。

チュートリアル : データベース リファクタリング機能の適用

データベース オブジェクトを別のスキーマに移動する : リファクタリングを使用すると、データベース オブジェクトを別のスキーマに移動したり、データベース プロジェクト内のそのオブジェクトへのすべての参照を自動的に更新したりできます。 リファクタリング操作の一部として、適用する前に変更を確認できます。

方法 : 別のスキーマにデータベース オブジェクトを移動する

リファクタリング操作を元に戻す : リファクタリング操作を元に戻す必要がある場合は、Visual Studio の現在のセッションのリファクタリング操作を元に戻すことができます。

方法 : データベース リファクタリング操作を元に戻す

データベース リファクタリングの変更を配置する : データベース プロジェクトをリファクタリングした後、ターゲット データベースに変更を配置する必要があります。 通常、バージョン管理にチェックインする前に、分離開発環境に変更を配置し、テストします。

方法 : データベース リファクタリングの変更を配置する

チュートリアル : データベース リファクタリングの変更の配置

問題をトラブルシューティングする : データベース リファクタリングに関する一般的な問題をトラブルシューティングする方法についてさらに詳しく学習できます。

リファクタリングに関する問題のトラブルシューティング

関連するシナリオ

データベース オブジェクトへのすべての参照の名前を変更する

サーバーまたはデータベースへの参照の名前を変更する

データベース オブジェクトの名前の完全修飾

SELECT ステートメントでワイルドカード文字を展開する

参照

概念

データベース コードとデータのリファクタ

データベース プロジェクトとサーバー プロジェクトの概要