我作爲非SA用戶'bhk'登錄到SQL Server 2005數據庫,該用戶只是「公共」服務器角色的成員。以下代碼嘗試在由用戶'bhk'調用的存儲過程中執行。這行代碼...DBCC CHECKIDENT在臨時表上拋出權限錯誤,導致用戶錯誤
TRUNCATE TABLE #Table1
DBCC CHECKIDENT('#Table1', RESEED, @SequenceNumber) WITH NO_INFOMSGS
原因這個錯誤...
用戶 '客戶' 沒有權限 運行DBCC CHECKIDENT爲對象
'#Table1__00000000007F'。
我知道運行DBCC CHECKIDENT所需的權限...
來電必須擁有該表,或者是sysadmin固定服務器角色的成員,db_owner固定數據庫角色,或者db_ddladmin固定的數據庫角色。
所以我有兩個問題:
- 由於「BHK」被調用存儲 過程,創建一個臨時表 ,不應該「BHK」是所有者 和被允許運行DBCC CHECKIDENT?
- 爲什麼錯誤 消息返回該用戶'guest' 沒有權限?據我所知,我不是 作爲'客人'登錄。
任何幫助將不勝感激。
雖然這可能會起作用,但我同意不喜歡那種操縱。 – 2008-10-22 16:17:12