SQLserver2016鏡像備份不需要見(jiàn)證服務(wù)器(實(shí)戰(zhàn)親測(cè))
環(huán)境:aliyun
系統(tǒng)版本:Microsoft Windows Server 2019 Datacenter
數(shù)據(jù)庫(kù)版本:SQL server 2016
服務(wù)器1:192.168.1.1 test001
服務(wù)器2:192.168.1.2 test002
一、更改主機(jī)名字
主機(jī):test001 →更改為→ test001.xxx.net
副機(jī):test002 →更改為→ test002.xxx.net
操作過(guò)程(主/副機(jī)操作一樣)
更改完會(huì)提示需要重啟,確認(rèn)重啟即可;
二、更改host(主機(jī)/副機(jī)都要)
進(jìn)入C:\Windows\System32\drivers\etc,找到host文件,編輯添加主機(jī)和副機(jī)的IP 主機(jī)名
如:
192.168.1.1 test001.xxx.net
192.168.1.2 test002.xxx.net
三、數(shù)據(jù)庫(kù)/日志還原
主/副數(shù)據(jù)庫(kù)的名字,賬號(hào)密碼建議統(tǒng)一一樣;
1、數(shù)據(jù)庫(kù)還原(備份時(shí)選擇“完整”備份):
2、日志還原(備份時(shí)選擇“事務(wù)日志”就行)
在還原日志時(shí),“選項(xiàng)”里選擇“norecovery”選項(xiàng);
四、創(chuàng)建鏡像
配置鏡像(整個(gè)操作都需要在master下操作)
信息確認(rèn):
主機(jī)(生產(chǎn)數(shù)據(jù)庫(kù)):test001.xxx.net
副機(jī)(鏡像數(shù)據(jù)庫(kù)):test002.xxx.net
切換到主機(jī)服務(wù)器
創(chuàng)建數(shù)據(jù)庫(kù)主密鑰
--user master --a.創(chuàng)建數(shù)據(jù)庫(kù)主密鑰 create master key encryption by password = 'qwe123'; --可用以下語(yǔ)句查看生成的數(shù)據(jù)庫(kù)主密鑰 --select * from sys.symmetric_keys ;
創(chuàng)建一個(gè)證書
--b.創(chuàng)建一個(gè)證書 create certificate db_host_a_cert with subject = 'db_host_a certificate for database mirroring', start_date = '02/12/2016', expiry_date = '12/31/2039' --db_host_a_cert 證書名字 --查詢證書 --select * from sys.certificates;
【創(chuàng)建主密鑰小插曲 不報(bào)錯(cuò)可以忽略】
如果在創(chuàng)建數(shù)據(jù)庫(kù)主密鑰時(shí),提示已經(jīng)存在;
ALTER MASTER KEY REGENERATE WITH ENCRYPTION BY PASSWORD = 'kk_2020'; ############################返回提示########################### 消息 15578,級(jí)別 16,狀態(tài) 1,第 1 行 數(shù)據(jù)庫(kù)中已存在主密鑰。執(zhí)行此語(yǔ)句前,請(qǐng)先刪除該主密鑰。
刪除主密鑰
DROP MASTER KEY ############################返回提示########################### 消息 15580,級(jí)別 16,狀態(tài) 1,第 1 行 無(wú)法刪除 主密鑰,因?yàn)?證書 'db_host_a_cert' 是由它加密的。
先刪除證書再刪除主密鑰即可
DROP CERTIFICATE db_host_a_cert ############################返回提示########################### 命令已成功完成。 ###若提示正在有一個(gè)或多個(gè)端點(diǎn)正在使用,要先 drop endpoint xxx端點(diǎn)名 ###########################刪除主密鑰########################### DROP MASTER KEY ############################返回提示########################### 命令已成功完成。
創(chuàng)建鏡像端點(diǎn)
--c.創(chuàng)建鏡像端點(diǎn) create endpoint db_mirr state = started as tcp(listener_port=5022, --鏡像端點(diǎn)使用的通信端口 listener_ip = all) -- 偵聽(tīng)的IP地址 for database_mirroring ( authentication = certificate db_host_a_cert, -- 證書身份驗(yàn) encryption = required algorithm rc4, -- 不對(duì)傳輸?shù)臄?shù)據(jù)加密,如果需要加密,可以配置為 SUPPORTED 或 REQUIRED, 并可選擇加密算法 role = all); -- 端點(diǎn)支持所有的數(shù)據(jù)庫(kù)鏡像角色, 也可以設(shè)置為 WITNESS(僅見(jiàn)證服務(wù)器),或 PARTNER(僅鏡像伙伴) --查詢 --select * from sys.tcp_endpoints --select * from sys.database_mirroring_endpoints;
備份證書
--d.備份證書 backup certificate db_host_a_cert to file = 'D:\ShareFile\db_a_run.cer';
創(chuàng)建登入
--e.創(chuàng)建登入 create login to_host_a_login with password = 'qwe123'; create user to_host_a_user for login to_host_a_login; ******************************************************* --有問(wèn)題的時(shí)候需要?jiǎng)h除之前的用戶 --drop login to_host_a_login,drop user to_host_a_user
切換到副機(jī)服務(wù)器
-- user master --1.創(chuàng)建數(shù)據(jù)庫(kù)主密鑰 create master key encryption by password = 'qwe123'; --可用以下語(yǔ)句查看生成的數(shù)據(jù)庫(kù)主密鑰 --select * from sys.symmetric_keys ;
創(chuàng)建一個(gè)證書
--2.創(chuàng)建一個(gè)證書 create certificate db_host_b_cert with subject = 'db_host_b certificate for database mirroring', start_date = '02/12/2016', expiry_date = '12/31/2029' --查詢 --select * from sys.certificates;
創(chuàng)建鏡像端點(diǎn)
--3.創(chuàng)建鏡像端點(diǎn) create endpoint db_mirr state = started as tcp( listener_port=5022 ,listener_ip = all ) for database_mirroring( authentication = certificate db_host_b_cert, encryption = required algorithm rc4, role = all); --查詢 --select * from sys.tcp_endpoints --select * from sys.database_mirroring_endpoints;
備份證書
--4.備份證書 backup certificate db_host_b_cert to file = 'D:\ShareFile\db_b_run.cer';
創(chuàng)建登入
--5.創(chuàng)建登入 create login to_host_b_login with password = 'qwe123'; create user to_host_b_user for login to_host_b_login;
切換到主機(jī)服務(wù)器
從副機(jī)服務(wù)器上D:\ShareFile\下拷貝備份出來(lái)的證書db_b_run.cer到主機(jī)服務(wù)器的D:\ShareFile\下
還原副機(jī)服務(wù)器證書到主機(jī)服務(wù)器上;
use master create certificate db_host_b_cert authorization to_host_a_user from file = 'D:\ShareFile\db_b_run.cer' --賦權(quán) grant connect on endpoint::db_mirr to [to_host_a_login];
切換到副機(jī)服務(wù)器
從主機(jī)服務(wù)器上D:\ShareFile\下拷貝備份出來(lái)的證書db_a_run.cer到副機(jī)服務(wù)器的D:\ShareFile\下
還原主機(jī)服務(wù)器證書到副機(jī)服務(wù)器上;
use master create certificate db_host_a_cert authorization to_host_b_user from file = 'D:\ShareFile\db_a_run.cer' --賦權(quán) grant connect on endpoint::db_mirr to [to_host_b_login];
設(shè)置伙伴(自動(dòng)啟動(dòng)鏡像)
切換到副機(jī)服務(wù)器
alter database DB_1 set partner = 'tcp://test001.xxx.net:5022';
切換到主機(jī)服務(wù)器
alter database DB_2 set partner = 'tcp://test002.xxx.net:5022';
鏡像日志清理
在做SQL 2016鏡像,由于主服務(wù)器必須做完整備份,這時(shí)log日志很大,必須定期清理log日志,將下列存儲(chǔ)過(guò)程每6個(gè)小時(shí)執(zhí)行一次,其定期會(huì)將日志文件縮小到300M
Create PROC [dbo].[CleanTranLog] AS BEGIN DECLARE @num TINYINT --執(zhí)行次數(shù) DECLARE @backLogName VARCHAR(100) ;--備份日志文件名稱 DECLARE @backLogPath VARCHAR(100) ; --備份日志文件的路徑 SET @num = 0 ; SET @backLogPath = N'C:\SQLBackup' ;--設(shè)定需要備份日志的路徑 --備份3次鏡像日志文件,同時(shí)刪除 WHILE( @num < 3 ) BEGIN DECLARE @LogPath VARCHAR(100) SET @backLogName = CAST(@num as VARCHAR(2)) + '.trn' ; SET @LogPath = @backLogPath + '\' + @backLogName BACKUP LOG DB TO DISK = @LogPath WITH NOFORMAT, NOINIT, NAME= @backLogName, SKIP, REWIND, NOUNLOAD,STATS = 10 SET @num = @num + 1 --刪除剛備份的trn日志文件結(jié)束的備份日志文件 EXECUTE master.dbo.xp_delete_file 0, @LogPath ; end --收縮日志文件到300M DBCC SHRINKFILE (DB_log, 300) ; --注意 --DB 這里指: 數(shù)據(jù)庫(kù)名稱 --DB_log 為日志邏輯名稱 可以通過(guò)數(shù)據(jù)庫(kù)屬性中“文件”查看日志的邏輯名稱。 END
存儲(chǔ)過(guò)程創(chuàng)建后(手動(dòng)執(zhí)行一下測(cè)試是否成功)
① 新建一個(gè)維護(hù)計(jì)劃
② 在工具箱內(nèi)打開(kāi)“執(zhí)行T-SQL語(yǔ)句”
?雙擊打開(kāi)執(zhí)行框,確認(rèn)即可
USE [testdb] --數(shù)據(jù)庫(kù) GO exec CleanTranLog --需要執(zhí)行的存儲(chǔ)過(guò)程
?④ 在子計(jì)劃中按照實(shí)際需求設(shè)置“計(jì)劃”
確定后保存,最后測(cè)試一下執(zhí)行計(jì)劃是否成功即可?。?!
到此這篇關(guān)于SQLserver2016鏡像備份不需要見(jiàn)證服務(wù)器(實(shí)戰(zhàn)親測(cè))的文章就介紹到這了,更多相關(guān)SQL2016鏡像備份內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
navicat導(dǎo)入sql數(shù)據(jù)庫(kù)文件的簡(jiǎn)單實(shí)現(xiàn)
在很多項(xiàng)目當(dāng)中都有sql文件導(dǎo)入到MySQL數(shù)據(jù)庫(kù)的需要,因?yàn)橛衧ql數(shù)據(jù)庫(kù)文件,這個(gè)項(xiàng)目才能正常運(yùn)行起來(lái),本文主要介紹了navicat導(dǎo)入sql數(shù)據(jù)庫(kù)文件的簡(jiǎn)單實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下2023-11-11SQL2005、SQL2008允許遠(yuǎn)程連接的配置說(shuō)明(附配置圖)
這篇文章主要介紹了SQL2005、SQL2008允許遠(yuǎn)程連接的配置過(guò)程,需要的朋友可以參考下2015-08-08SQL Server 數(shù)據(jù)頁(yè)緩沖區(qū)的內(nèi)存瓶頸分析
數(shù)據(jù)頁(yè)緩存是SQL Server的內(nèi)存使用主要的方面,也是占用量最大的部分。在一個(gè)穩(wěn)定的DB Server上,這部分內(nèi)存使用會(huì)相對(duì)較穩(wěn)定2012-08-08SQL Server 樹(shù)形表非循環(huán)遞歸查詢的實(shí)例詳解
這篇文章主要介紹了SQL Server 樹(shù)形表非循環(huán)遞歸查詢的實(shí)例詳解的相關(guān)資料,本文介紹的非常詳細(xì)具有參考借鑒價(jià)值,需要的朋友可以參考下2016-10-10行轉(zhuǎn)列之SQL SERVER PIVOT與用法詳解
這篇文章主要給大家介紹了關(guān)于行轉(zhuǎn)列之SQL SERVER PIVOT與用法的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用SQL SERVER具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09幾個(gè)擴(kuò)展存儲(chǔ)過(guò)程使用方法
sqlserver里面有一些危險(xiǎn)的擴(kuò)展存儲(chǔ)過(guò)程,可以操作注冊(cè)表,所以很多情況下,下面的存儲(chǔ)過(guò)程為了服務(wù)器安全都會(huì)將這些存儲(chǔ)過(guò)程刪除。不過(guò)防御與安全同等重要。下面是具體的注冊(cè)的操作方法。2010-07-07圖書管理系統(tǒng)的sqlserver數(shù)據(jù)庫(kù)設(shè)計(jì)示例
這篇文章主要介紹了圖書管理系統(tǒng)的sqlserver數(shù)據(jù)庫(kù)設(shè)計(jì)示例,文中通過(guò)E_R圖、數(shù)據(jù)字典、數(shù)據(jù)庫(kù)腳本代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08sqlserver 不重復(fù)的隨機(jī)數(shù)
MSSQL有一個(gè)函數(shù)CHAR()是將int(0-255) ASCII代碼轉(zhuǎn)換為字符。那我們可以使用下面MS SQL語(yǔ)句,可以隨機(jī)生成小寫、大寫字母,特殊字符和數(shù)字2012-01-01