一般在還原資料庫後,給這個資料庫新增一個登入名時出現。
例如資料庫備份檔案中已經包含了使用者abc,現在還原了資料庫,然後發現現有資料庫中沒有abc這個使用者,想要新建一個abc使用者,作為該資料庫的owner,便會出現這個問題。
http://blog.csdn.net/cjh200102/article/details/8669166 這篇文章做了詳細的介紹。
可以理解為登入名和使用者是兩個不同的概念,雖然名稱相同。在新建登入名的時候,如果不新增該資料庫對映則不會報錯。
新增資料庫對映相當於給該資料庫新增一個同名使用者。但是已經存在了abc這個使用者了,所以此時會報錯。
可以通過以下方法解決該問題。
1.新建一個abc登入名,但是不要新增資料庫對映。
2.使用指令碼,將孤立使用者abc關聯到登入名abc上:
Use [資料庫名]
go
sp_change_users_login 'update_one', 'abc', 'abc'