我正嘗試在SQL Server 2005上的舊數據庫中重命名十幾個表的架構。我正在使用SQL Server Management Studio Express版本9.0。基於這裏找到詳細的建議,以及在其他網站上幾個論壇,我一直在嘗試這種簡單的命令:嘗試更改SQL Server數據庫中的架構時發生語法錯誤
ALTER SCHEMA newschemaname TRANSFER oldschemaname.table1
我一直得到這個錯誤:
Msg 156, Level 15, State 1, Line 1
Incorrect syntax near the keyword 'SCHEMA'
這是一樣的我是否直接在「新建查詢」窗口中運行它或將其構建到存儲過程中。
數據庫的所有者是「SA」,可以追溯到我的虛擬主機(物理服務器的所有者)幾年前首次設置此數據庫時。這讓我覺得可能存在權限問題,或者是所有者名稱和我正在使用的登錄名之間存在一些模糊的不匹配。但如果這是真的,我希望這個錯誤告訴我我沒有執行該命令的權限。
是否有一些明顯的語法錯誤我缺少,或者我是否需要深入研究所有權和權限以獲得解決此問題的權利?
什麼是你的數據庫的兼容級別? – RBarryYoung
即使在compatibility_level = 80中,ALTER SCHEMA也能工作,所以不能這樣做。 SELECT @@ VERSION;'的輸出是什麼? –
兼容性級別是SQL Server 2000(80)。 我驚訝地發現Select Version命令返回SQL Server 2000 - 8.00.2039。我被引導認爲幾年前這已經升級到了2005年。 –