Visual StudioでSQL Serverデータベースプロジェクトを使用している場合、データベースに1000を超えるストアドプロシージャがある場合、インポート時にVisual Studioはプロシージャを別々のディレクトリ。SQL Serverデータベースプロジェクトが新しいスクリプトファイルの作成を正しく処理しない
スキーマ比較機能を使用して、このようなインポート後に新しいストアドプロシージャをプロジェクトに同期しようとすると、Visual Studioはこの分割フォルダ構造を忘れて、新しいスクリプトをすべて「ストアドプロシージャ」フォルダに直接配置します。これは、スクリプト化された新しいストアドプロシージャが既存の構造に収まらないことを意味します。ユーザーは、この分離された構造を使用してライブ作業を行うか、プロジェクト参照を手動で更新し、Visual Studioによって作成された初期構造にファイルをコピーし直します。
ステップ
- 新しいSQLプロジェクトを作成します。
- ソリューションエクスプローラでプロジェクトを右クリックし、[インポート]> [データベース]を選択します。
- プロシージャが1000個以上格納されているSQL2008データベースにプロジェクトをバインドします。 「フォルダごとの最大ファイル数」を1000に設定します。
- VSがすべてのストアドプロシージャをスクリプトアウトできるようにします。自動的に が1000のバッチに分割され、必要に応じて各バッチに新しいフォルダ 'Proc1'、 'Proc2' が作成されます。
- SQLプロジェクトを右クリックして[スキーマ比較]を選択して新しい比較を開きます。
- SQLプロジェクトを 元のデータベースと比較することによって、データベースが正しく同期されていることを確認してください。保留中の変更はありません。
- 同期されたデータベースに新しいストアドプロシージャを作成します。
- 比較をもう一度実行すると、新しいストアドプロシージャ が[追加]タイプで表示されます。
- [更新]をクリックして、VSが新しい手順のスクリプトを作成できるようにします。
- 新しいスクリプトを元の1000区切りのフォルダ構造に配置する代わりに、代わりに新しいスクリプトを「ストアドプロシージャ」フォルダに直接配置します。