之前我有寫過一篇開發 ASP.NET 使用 SQL Server 2000 要注意權限是否足夠,但同樣的問題今天又有同事遇到了,不過當我要將該使用者設定為該資料庫的擁有者時,SQL 2000 卻回應我「規劃的新資料庫擁有者已經是資料庫的使用者」錯誤訊息,不過用這段訊息去搜尋什麼也找不到,通常我都將特定的關鍵字翻譯成英文後再去查詢就會查到了,而這段話的英文其實是 "The proposed new database owner is already a user in the database",當然,我也因此找到了解答。
我的資料庫使用者名稱是 User1,登入帳號為 User1,而該使用者已經新增到該資料庫了,所以才無法被指派為該資料庫的使用者。
解決的方法就是先將該使用者從資料庫中刪除,然後就可以從「資料庫屬性」的「檔案」頁籤指定新的擁有者了,而擁有者就直接選取 User1 登入帳號即可。
不過,你可別想從資料庫的 [安全性] -> [使用者] 再新增 User1 進去阿,因為他會回應你【登入已經具有一個不同使用者名稱之下的帳號。】
你不用再新增使用者,即可用 User1 登入帳號存取此資料庫了,因為 User1 已經是本資料庫的擁有者了。
P.S. 這問題只有在使用 Visual Studio 2005/2008 + SQL Server 2000 開發專案,且需進入除錯模式(Debug Mode)時才會出現的問題。
相關連結