しばらくの間、Visual Studio データベース プロジェクトを使用してきましたが、展開に最適です。さまざまな環境のデータベースの現在の状態を dbschemas または dacpac ファイルとしてキャプチャすることを開始しました。これにより、他のデータベース プロジェクトでそれらを参照できるようになり、本番アクセスがなくても本番スキーマの状態を確認できるようになりました。
多くの場合、ソース管理から dbschema または dacpac を取得し、そのスキーマをローカルの SQL サーバーに作成したいと考えていますが、ほとんどの場合、ローカルではなく 1 つの環境に存在するユーザーが原因でエラーが発生します。ユーザー オブジェクト タイプを無視しても、他の何かがユーザーを参照している場合 (スキーマなど) にエラーが発生します。
このケースを処理するためにサーバー プロジェクトを作成するという提案を見てきましたが、私は開発者向けの汎用ツールを作成する任務を負っているため、このためにカスタムのものを作成したくありません。任意の dbschema または dacpac を取得して、「ベスト エフォート」でインポートできるようにしたいと考えています。
これがほとんどのシナリオで危険であることは理解していますが、ローカル データベースでは、データの損失やその他の重大なエラーが発生してもほとんど気にしません。ローカル インスタンスの dbschema で有効なオブジェクトをすばやく取得する方法が必要です。