2012-03-23 10 views
2

データベース内にあるテーブルのために関係を作成しようとしたときに競合が発生していて、削除されたようです。テーブルはオブジェクトエクスプローラに表示されませんが、エラーは「例外が発生しました。新しい名前は既にOBJECT名として使用されており、重複が発生します」と表示されます。どこがテーブル名だけでなく、オブジェクトへのすべての参照を削除します。SQL Server 2008のゴーストエラーの取得

+1

があなたの場所にシノニムを持っていますか? sys.tablesテーブルをチェックしてそこに本当にエントリがあるかどうか確認しましたか? – Sage

+0

いいえ、私は同義語を一切使用していません。 – wootscootinboogie

+0

シノニムはオブジェクトではなく、少なくともsys.objectテーブルには見つからないため、独自のサブシステムを取得します。あなたのデータに何がぶつかっているのかを調べようとすると、かなり刺激的です... –

答えて

6

おそらく、その名前のデータベースに別のオブジェクトがあります。実行

SELECT * 
from sys.objects 
where name = 'YourName' 

を参照してください。

+0

これは、競合する名前のオブジェクトを返しました。これらのエラーを避けるために、この悪い少年をどこから削除するのですか? – wootscootinboogie

+1

それはテーブルだと言いますが、データベース内の他のテーブルには表示されません。どうしてですか? – wootscootinboogie

+0

テーブルに権限がない可能性はありますか?あなたはDBOとしてログインしていますか? – Andomar

0

テーブルを削除して別のテーブルの名前を変更する必要があるスクリプトを実行するたびに、同じエラーが発生していました(「オブジェクト」にはテーブル、ビュー、プロシージャ、関数、デフォルト、およびその他の不明なものが多数含まれています)同じ名前の直後、及び他のフォーラムではこの勧告に出くわし:名前を変更するとき

は、新しいテーブル名のうち、スキーマを残す:

sp_RENAME '[schema.OldTableName]' , '[NewTableName]' 

それが動作する理由を私は説明できません、それは確かに私のコードを保存しました。

(功績:https://social.msdn.microsoft.com/forums/sqlserver/en-US/654678f2-313f-4dad-8bd2-1741b01561f3/find-object-sprename-issue上Rhomeroo)