6

その下に複数のスキーマとオブジェクトを持つデータベースがあります。オブジェクトを 1 つのスキーマに統合したいと考えています。

私は試した

ALTER SCHEMA dbo TRANSFER <custom_schema>.<table_name>

私は得る

オブジェクトが既に存在するというメッセージ

しかし、管理スタジオでは見ることができず、

SELECT * from dbo.<table_name>

戻り値

オブジェクトが存在しません。

一部のシステム テーブル エントリがおかしくなっているようです。sysobjects を調べたところ、 のエントリが 1 つしかありません。この問題のトラブルシューティング/修正方法に関する提案は大歓迎です。

注: シノニムを作成できます

CREATE SYNONYM dbo.<table_name> FOR <custom_schema>.<table_name>

正常に動作します

4

1 に答える 1

14

この MSDN ページによると、問題は主キー名の重複が原因である可能性があります。つまり、table_name の主キー名が、dbo の他のテーブル内で既に定義されている主キー名と競合しています。

この問題を解決するには、移動するテーブルの主キーの名前を変更します。宛先スキーマで主キーとして表示されない名前を使用してください。

于 2011-04-28T18:30:56.163 に答える