久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

SQLServer 中怎么實現鏡像功能

156次閱讀
沒有評論

共計 3741 個字符,預計需要花費 10 分鐘才能閱讀完成。

這期內容當中丸趣 TV 小編將會給大家帶來有關 SQLServer 中怎么實現鏡像功能,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

在域環境下我沒配置成果,也許是域用戶的原因,因為我在生產環境下搞的,更改域用戶需要重啟 SQLServer,所以這個方法放棄了,只能用證書形式。環境:主機:192.168.10.2 (代號 A) 鏡像:192.168.10.1 (代號 B, 為了一會說明方便)(條件有限我沒有搞見證服務器。)兩臺服務器上的都是 SQLServer2005 首先配置主機 主機上執行以下 SQL 復制代碼 代碼如下:
– 創建主機數據庫主密鑰 USE master; CREATE MASTER KEY ENCRYPTION BY PASSWORD = password GO – 在 10.2 上為數據庫實例創建證書 CREATE CERTIFICATE As_A_cert WITH SUBJECT = As_A_cert , START_DATE = 09/02/2011 , EXPIRY_DATE = 01/01/2099 GO – 在 10.2 上使用上面創建的證書為數據庫實例創建鏡像端點 CREATE ENDPOINT Endpoint_As STATE = STARTED AS TCP (LISTENER_PORT=5022, LISTENER_IP = ALL) FOR DATABASE_MIRRORING (AUTHENTICATION = CERTIFICATE As_A_cert, ENCRYPTION = REQUIRED ALGORITHM RC4, ROLE = ALL); GO

注:這里要注意設置數據庫的鏡像端口。5022. – 備份 10.2 上的證書并拷貝到 10.1 上 BACKUP CERTIFICATE As_A_cert TO FILE = D:\As_A_cert.cer GO 注:備份證書 A,并將證書 A 拷貝到鏡像服務器 B 上。配置鏡像服務器復制代碼 代碼如下:
USE master; CREATE MASTER KEY ENCRYPTION BY PASSWORD = password GO – 在 10.1 B 上為數據庫實例創建證書 CREATE CERTIFICATE As_B_cert WITH SUBJECT = As_B_cert , START_DATE = 09/2/2011 , EXPIRY_DATE = 01/01/2099 GO – 在 10.1 B 上使用上面創建的證書為數據庫實例創建鏡像端點 CREATE ENDPOINT Endpoint_As STATE = STARTED AS TCP (LISTENER_PORT=5022 , LISTENER_IP = ALL) FOR DATABASE_MIRRORING (AUTHENTICATION = CERTIFICATE As_B_cert , ENCRYPTION = REQUIRED ALGORITHM AES , ROLE = ALL); GO

– 備份 10.1 B 上的證書并拷貝到 10.2 A 上 BACKUP CERTIFICATE As_B_cert TO FILE = D:\As_B_cert.cer GO 同樣將備份的證書 B 拷貝到 A 服務器上。建立用于鏡像登錄的賬戶 在 A 上執行 – 交換證書,– 同步 Login 復制代碼 代碼如下:
CREATE LOGIN B_login WITH PASSWORD = password CREATE USER B_user FOR LOGIN B_login; CREATE CERTIFICATE As_B_cert AUTHORIZATION B_user FROM FILE = D:\As_B_cert.cer GRANT CONNECT ON ENDPOINT::Endpoint_Bs TO [B_login];

在 B 上執行復制代碼 代碼如下:
– 交換證書,– 同步 Login CREATE LOGIN A_login WITH PASSWORD = password CREATE USER A_user FOR LOGIN A_login; CREATE CERTIFICATE As_A_cert AUTHORIZATION A_user FROM FILE = D:\As_A_cert.cer GRANT CONNECT ON ENDPOINT::Endpoint_As TO [A_login];

記得兩臺服務器的端口 5022 是不被占用的,并且保證兩個服務器可以連接 以后步驟執行沒問題,鏡像已經完成一半了。接下來完整備份 A 服務器上的 Test 庫復制代碼 代碼如下:
– 主機執行完整備份 USE master; ALTER DATABASE Test SET RECOVERY FULL; GO BACKUP DATABASE Test TO DISK = D:\SQLServerBackups\Test.bak WITH FORMAT; GO BACKUP LOG Test TO DISK = D:\SQLServerBackups\Test.bak GO

– 將備份文件拷貝到 B 上。一定要執行完整備份。在 B 服務器上完整歡迎數據庫 這里問題多多。一個一個說。如果我們直接執行如下 SQL. 復制代碼 代碼如下:
RESTORE DATABASE Test FROM DISK = D:\Back\Test.bak WITH NORECOVERY GO RESTORE LOG Test FROM DISK = D:\Back\Test_log.bak WITH FILE=1, NORECOVERY GO [code] 可能會報:消息 3154,級別 16,狀態 4,第 1 行 備份集中的數據庫備份與現有的 Test 數據庫不同。消息 3013,級別 16,狀態 1,第 1 行 可能是兩個數據庫的備份集名稱不同導致,找了半天原因未果,所以采用下面 sp_addumpdevice 方法來做。用 sp_addumpdevice 來建立一個還原的設備。這樣就保證了改備份文件是數據這個數據庫的。[code] exec sp_addumpdevice disk , Test_backup , E:\backup\Test.bak exec sp_addumpdevice disk , Test_log_backup , E:\backup\Test_log.bak go

成功之后我們來執行完成恢復復制代碼 代碼如下:
RESTORE DATABASE Test FROM Test_backup WITH DBO_ONLY, NORECOVERY,STATS; go RESTORE LOG Test FROM Test_log_backup WITH file=1, NORECOVERY; GO

這里如果之前備份過多次數據庫的話,肯會產生多個備份集。所以這里的 file 就不能指定為 1 了。這個錯誤可能是:消息 4326,級別 16,狀態 1,第 1 行 此備份集中的日志終止于 LSN 36000000014300001,該 LSN 太早,無法應用到數據庫。可以還原包含 LSN 36000000018400001 的較新的日志備份。可以通過這句話來查詢該備份文件的備份集 restore headeronly from disk = E:\backup\Test_log.bak 找到最后一個的序號就指定給 file 就可以。還需要注意的是第一次完整恢復的時候需要指定 NORECOVERY。至此所有準備工作都已經完成我們開始執行鏡像 先在鏡像服務器上執行 ALTER DATABASE Test SET PARTNER = TCP://192.168.10.2:5022 成功之后再在主機上執行 ALTER DATABASE Test SET PARTNER = TCP://192.168.10.2:5022 這樣兩臺服務器的鏡像就同步了。

刪除鏡像:

ALTER DATABASE Test SET PARTNER OFF

如果主機出現問題,在主機執行復制代碼 代碼如下:
USE MASTER Go ALTER DATABASE Test SET PARTNER FAILOVER Go

總結:如果在建立鏡像的時候中間的那個步驟出國,需要重新執行的時候一定要把該刪得東西刪除掉。– 查詢鏡像 select * from sys.endpoints – 刪除端口 drop endpoint Endpoint_As – 查詢證書 select * from sys.symmetric_keys – 刪除證書,先刪除證書再刪除主鍵 DROP CERTIFICATE As_A_cert – 刪除主鍵 DROP MASTER KEY – 刪除鏡像 alter database dbname set partner off – 刪除登錄名 drop login login_name sp_addumpdevice 的語法復制代碼 代碼如下:
sp_addumpdevice [@devtype =] device_type , [@logicalname =] logical_name , [@physicalname =] physical_name ] 其中參數有:@devtype:設備類型,可以支持的值為 disk 和 tape,其中 disk 為磁盤文件;tape 為 windows 支持的任何磁帶設備。@logicalname:備份設備的邏輯名稱,設備名稱。@physicalname:備份設備的物理名稱,路徑

上述就是丸趣 TV 小編為大家分享的 SQLServer 中怎么實現鏡像功能了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注丸趣 TV 行業資訊頻道。

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-08-03發表,共計3741字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 阳山县| 介休市| 景东| 图木舒克市| 漠河县| 休宁县| 青河县| 同德县| 北海市| 从化市| 密云县| 醴陵市| 乐平市| 阿鲁科尔沁旗| 平和县| 新宁县| 鹿泉市| 九江县| 琼海市| 噶尔县| 鄄城县| 临猗县| 苍南县| 彰武县| 青河县| 兴城市| 潍坊市| 读书| 资源县| 泰顺县| 维西| 闻喜县| 泰兴市| 襄汾县| 蓬溪县| 社旗县| 射阳县| 天水市| 巴彦淖尔市| 永清县| 紫金县|