SQL 資料庫備份和恢復 映象配置(證書方式)

2022-08-26 15:15:26 字數 3714 閱讀 9706

最近公司在進行資料庫容災和備份上的工作,記錄關於映象配置的總結

步驟一:備份和恢復資料庫

--以完整和事務日誌備份主資料庫

--從伺服器上先後還原完整備份和事務日誌備份,注意選擇不對資料庫執行任何操作(with norecovery)

步驟二:主伺服器a配置證書

--建立主金鑰

create master key encryption by password =

'passworda';

go--

建立證書

create certificate cert_a with subject =

'a證書';

go--

建立端點

ifexists( select

1from sys. endpoints where name=

'主映象')

drop endpoint [

主映象]

gocreate endpoint [

主映象]

authorization[sa

]state

=started

as tcp (listener_port =

5022 , listener_ip =

all)

for data_mirroring (role = partner, authentication = certificate cert_a, encryption=

required algorithm rc4)

go--

匯出證書

backup certificate cert_a to

file='

h:\mycert\cert_a.cer

'步驟三:從伺服器b配置證書

--建立主金鑰

create master key encryption by password =

'passwordb';

go--

建立證書

create certificate cert_b with subject =

'b證書';

go--

建立端點

ifexists( select

1from sys. endpoints where name=

'從映象')

drop endpoint [

從映象]

gocreate endpoint [

從映象]

authorization[sa

]state

=started

as tcp (listener_port =

5022 , listener_ip =

all)

for data_mirroring (role = partner, authentication = certificate cert_b, encryption=

required algorithm rc4)

go--

匯出證書

backup certificate cert_cy08 to

file='

c:\cert_b.cer

'步驟四:交換證書

步驟五:主伺服器a建立登陸使用者

usemaster ;

--建立登入名

create login b_login with password =

'passworda';

go--

建立使用者

create

user cy08_user for

login b_login;

go--

還原b 證書

create

certificate cert_b

authorization

b_user

from

file='

h:\mycert\cert_b.cer'go

--授權端點給登陸名

grant connect on endpoint::[

主映象]to[

b_login];

步驟六:從伺服器a建立登陸使用者

usemaster ;

--建立登入名

create login a_login with password =

'passworda';

go--

建立使用者

create

user a_user for

login a_login;

go--

還原b證書

create

certificate cert_a

authorization

a_user

from

file='

c:\cert_a.cer'go

--授權端點給登陸名

grant connect on endpoint::[

從映象]to[

a_login];

步驟七:開始映象

--從資料庫執行,連線映象

usemaster

goalter

database cyems set partner =

'tcp:

';

go--

主資料庫執行

usemaster

goalter

database cyems set partner =

'tcp:';

go相關指令碼

--停止映象,之後可重新連線;配置過程中發生問題可用

alter

database cyems set partner off;--

高安全模式,off為非同步模式

alter

database cyems set safety full;--

切換主備;可用於資料庫公升級維護

alter

database

[dbname

]set

partner failover;

--當主庫故障無法連線時,強制將映象庫設定為主庫,允許資料丟失

alterdatabase[

dbname

]setpartnerforce_service_allow_data_loss;

--恢復映象

alter

database

[dbname

]set

partner resume;

--設定資料庫聯機

alter

database

[dbname

]set

online;

--在主備執行:建立資料庫映象監視器作業

usemsdb ;

exec

sys .sp_dbmmonitoraddmonitoring

--exec sys.sp_dbmmonitorhelpmonitoring

--exec sys.sp_dbmmonitorresults dbname,0,0

--exec sys.sp_dbmmonitorchangemonitoring

--exec sys.sp_dbmmonitordropmonitoring

這種映象備份的方式用於多台伺服器同時執行上,在資料庫的還原和備份上實現了短時間內的及時備份,在資料庫檔案隔天備份或者月度周度備份上又將維度擴大了,中小型資料庫中有較好的使用。

c 備份恢復sql資料庫

很多人想實現在c 中備份與恢復sql資料庫,又想要有在sql中那種進度條的狀態.其實用c 的sqldmo就可以實現 資料庫備份 string backaway textbox1.text.trim sqldmo.backup obackup new sqldmo.backupclass sqldmo...

資料庫備份和恢復

這裡介紹兩種方法 1.mysqldump mysqldump不需要登入到資料庫中就可以備份和恢復庫和表 1 備份 mysqldump uroot p 123123 mytest mnt mytest bak date f sql 注意這裡是在命令列操作的,不是在mysql資料中,所以也不會有冒號 2...

SQL入門 2 資料庫的備份和恢復

演示恢復和備份 create database tt use tt create table a name varchar 20 insert into a name values aaaa select from a 看到a表有資料 對tt作備份操作,啟動乙個window命令列視窗,執行如下命令 ...