在遷移資料庫的過程中SQLServer SDE的問題

來源:互聯網
上載者:User

在遷移資料庫的過程中SQLServer SDE的問題

SQLServer2008使用者組或角色'*****'在當前資料庫中已存在問題的解決辦法

在遷移資料庫的過程中SQLServer SDE的問題
 
為一個資料庫添加一個使用者時,提示以下資訊:
使用者、組或角色 '*****' 在當前資料庫中已存在。 (Microsoft SQLServer, Error: 15023)
 
問題分析:在遷移測試平台資料庫的過程中發現,
在兩台伺服器上啟動並執行sql server伺服器之間遷移資料庫的之後,
會出現一個在原始伺服器上可以正常的使用者在目的伺服器上無法登入的情況。
 
問題解決:
將資料庫恢複到其他伺服器時,資料庫中包含一組使用者和許可權,
但可能沒有相應的登入或者登入所關聯的使用者可能不是相同的使用者。
這種情況被稱為存在“孤立使用者”。
此時是不能通過建立登入或者是對同名登入授予對應資料庫的“使用者”許可權來解決登入問題,
因為SQLServer會報出“錯誤15023:當前資料庫中已存在使用者或角色”,
為瞭解決這個問題,
需要調用系統預存程序sp_change_users_login,
具體用法如下:
 
1.開啟SQL Server Management Studio,
右鍵選擇“資料庫”>“建立查詢”來建立一個查詢。
輸入以下sql指令碼:
//=======================
Use [資料庫名]
go
sp_change_users_login 'update_one', 'AAA', 'AAA'
//========================

sp_change_users_login 'update_one', 'AAA', 'AAA'
接著執行指令碼即可。
 
註:其中update_one是預存程序的參數,
表示只處理一個使用者,前一個AAA是“使用者”,
後一個AAA是“登入”,
以上這個SQL表示將伺服器登入“AAA”與資料庫使用者“AAA”重新串連起來。

Use sde
go
sp_change_users_login 'update_one','sde','sde'
go

use cbjyq_flowdb
go
sp_change_users_login 'update_one', 'cbjyq_flowdb', 'cbjyq_flowdb';
go

use sde
go
sp_change_users_login 'update_one', 'cbjyq_flowdb', 'cbjyq_flowdb';
go

use cbjyq_flowdb
go
sp_change_users_login 'update_one', 'sde', 'sde';
go
--the--end!
 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.