-1
不幸的是我在SQL Server 2008中創建表調用'sysmessages'。當我將數據庫恢復到SQL Server 2012時,我意識到我有兩個表調用'sysmessages'。 我不想更改我的表名,因爲它在代碼中使用。有沒有辦法從一個數據庫中刪除'sysmessages'表?
我可以只從特定的數據庫系統表中刪除嗎?
不幸的是我在SQL Server 2008中創建表調用'sysmessages'。當我將數據庫恢復到SQL Server 2012時,我意識到我有兩個表調用'sysmessages'。 我不想更改我的表名,因爲它在代碼中使用。有沒有辦法從一個數據庫中刪除'sysmessages'表?
我可以只從特定的數據庫系統表中刪除嗎?
select * from sys.sysmessages
,你會解決它像select * from dbo.sysmessages
edit - no。 2.不適用於SQL 2012,但它是測試和SQL 2008 R2
工作你不能刪除系統表,最好的辦法是改變你的代碼
我沒有測試過,但可能'SELECT * FROM dbo.sysmessages'仍然最終會從系統視圖中選擇以實現向後兼容的原因,因爲它在2000年的dbo架構中。 –
@MartinSmith true,與SQL 2012中的SQL 2008R2不同,它真的最終會從sys.sysmessages中選擇 –