-1
我已經瀏覽了幾十篇關於這個錯誤的文章,並且他們都有相同的解決方案,刪除了由模式引用的所有對象 - 但是錯誤給我的對象不存在。不能刪除模式,因爲它正在被對象引用
所以我嘗試運行以下語法
DROP SCHEMA [Application]
它給人的錯誤
Cannot drop schema 'Application' because it is being referenced by object 'ApplicationRequestTable'.
所以我覺得「OK沒問題,我會刪除對象,就像它指出「過去幾個意見」,所以我輸入
SELECT * FROM sys.objects WHERE name = N'ApplicationRequestTable'
而且上面沒有任何迴應 - 我正在做什麼ng錯誤,因爲它看起來像我的模式引用了一個不會退出的對象?!?我通過鍵入
SELECT o.name, s.name FROM sys.objects o JOIN sys.schemas s on o.schema_id = s.schema_id ORDER by s.name
進一步驗證並沒有在應用程序架構下,單個對象...任何指針將不勝感激,因爲我無法看到所有現在參照這個模式什麼?
版:SQL服務器2014 SP1(建12.0.4100)
我發現表中table_types(這是一個用戶定義的表畢竟) 'SELECT * FROM sys.table_types其中name = N'ApplicationRequestTable'' 這ApplicationRequestTable不會出現在sys.all_columns,儘管如此,你有這個錯誤... 'SELECT OBJECT_NAME(ac.object_id)FROM sys.all_columns ac ORDER BY OBJECT_NAME(ac.object_id)' 返回14786行,ApplicationRequestTable不是其中之一,Application.ApplicationRequestTable表在對象資源管理器中也不存在。 –
解釋爲什麼我錯了,即使您在要刪除的架構中找到了您的對象。 Application.ApplicationRequestTable不是一個表。它是一個**表類型**,它出現在Programmability..Types節點(不是Tables節點)下,並且在sys.columns中沒有任何條目。我提到了sys.all_columns,所以你可以找到依賴於模式的對象:不要查找關於你的對象的元數據。 – gbn
好吧,我現在看到。你的措辭是「完整列表」,所以我認爲我的ApplicationRequestTable應該在所謂的「完整」列表中 - 你是指對象類型列表(如果這是正確的措辭,即table_types)?因此,從列表中的24箇中選擇一個將返回我的ApplicationRequestTable的答案 –