Visual Studio 2012 の SSDT でスキーマ比較ツールを使用して、ローカル データベース上のスキーマ オブジェクトに加えられた変更でデータベース プロジェクトを更新すると、オブジェクト宣言からスキーマが「失われます」。Windows アカウントを使用してローカルの SQL サーバー インスタンスに接続しています。このアカウントには、比較対象のデータベースの dbo の既定のスキーマがあります。
たとえば、ローカル ストアド プロシージャの定義は次のようになります。
CREATE PROCEDURE [dbo].[SetPriceBounds]
しかし、これをスキーマ比較を使用してデータベース プロジェクトに追加すると、次のようになります。
CREATE PROCEDURE SetPriceBounds
これが後で別の SQL Server インスタンスにデプロイされると、次のエラーで失敗します。
The default schema does not exist.
dbo.
スキーマ比較の実行時にプレフィックスを保持する必要があります。アイデアは大歓迎です。