程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> SQL Server 錯誤:15023

SQL Server 錯誤:15023

編輯:MySQL綜合教程

SQL Server 錯誤:15023


   sql server錯誤15023:當前數據庫中已存在用戶或角色

  在把遠程服務器上的數據庫備份還原到本地機後, 給一個"登錄"關聯一個"用戶"時(用戶映射),發生錯誤: “錯誤15023:當前數據庫中已存在用戶或角色”

SQL Server 錯誤:15023 幫客之家

  原因:

  sql server中“登錄”與“用戶”的區別,“登錄”用於用戶身份驗證,而數據庫“用戶”帳戶用於數據庫訪問和權限驗證。登錄通過安全識別符 (SID) 與用戶關聯。將數據庫恢復到其他服務器時,數據庫中包含一組用戶和權限,但可能沒有相應的登錄或者登錄所關聯的用戶可能不是相同的用戶。這種情況被稱為存在“孤立用戶”。此時是不能通過新建登錄或者是對同名登錄授予對應數據庫的“用戶”權限來解決登錄問題,因為SQL Server會報出“錯誤15023:當前數據庫中已存在用戶或角色”

  解決:

  為了解決這個問題,需要調用系統存儲過程sp_change_users_login,具體用法如下:

  Use Northwind

  go

  sp_change_users_login 'update_one', 'test', 'test'

  其中Northwind為存在孤立用戶的數據庫,update_one是存儲過程的參數,表示只處理一個用戶,前一個test是“用戶”,後一個test是“登錄”,以上這個SQL表示將服務器登錄“test”與 Northwind 數據庫用戶“test”重新連接起來。這樣就可以正常使用數據庫了。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved