1

Visual Studio 2012 の SSDT でスキーマ比較ツールを使用して、ローカル データベース上のスキーマ オブジェクトに加えられた変更でデータベース プロジェクトを更新すると、オブジェクト宣言からスキーマが「失われます」。Windows アカウントを使用してローカルの SQL サーバー インスタンスに接続しています。このアカウントには、比較対象のデータベースの dbo の既定のスキーマがあります。

たとえば、ローカル ストアド プロシージャの定義は次のようになります。

CREATE PROCEDURE [dbo].[SetPriceBounds]

しかし、これをスキーマ比較を使用してデータベース プロジェクトに追加すると、次のようになります。

CREATE PROCEDURE SetPriceBounds

これが後で別の SQL Server インスタンスにデプロイされると、次のエラーで失敗します。

The default schema does not exist.

dbo.スキーマ比較の実行時にプレフィックスを保持する必要があります。アイデアは大歓迎です。

4

1 に答える 1

0

これは、展開を実行していたユーザーの展開ターゲット データベースの既定のスキーマを dbo に設定することで解決されました。これが問題を解決する正しい方法であるとは確信していませんが、うまくいきます。

于 2013-11-26T08:52:55.393 に答える