DBAtlas · データベース運用アトラス

3729: Cannot DROP because it is being referenced by object(オブジェクトから参照されているため DROP できない)

SQL Server

意味

削除しようとしているオブジェクト (テーブル、型、関数など) が別のオブジェクトから参照されており、その依存関係が削除を妨げている。特にスキーマバインドされたオブジェクトはこのように保護される。

原因

WITH SCHEMABINDING で作成したビューや関数が依存するテーブル/オブジェクトの削除、外部キーで参照されているテーブルの削除、またはテーブル/パラメータがまだ使用しているユーザー定義型の削除。

対処方法

先に参照元オブジェクトを削除するか、依存関係を解除する。依存関係の確認: SELECT referencing_schema_name, referencing_entity_name FROM sys.dm_sql_referencing_entities('app_schema.object', 'OBJECT'); スキーマバインドされたビューの場合は、まず ALTER VIEW で SCHEMABINDING を外すかビューを削除してから、テーブルを削除する。

DBAtlas で開く →

同じデータベースの他の項目