最近公司在進行資料庫容災和備份上的工作,記錄關於映象配置的總結
步驟一:備份和恢復資料庫--以完整和事務日誌備份主資料庫
--從伺服器上先後還原完整備份和事務日誌備份,注意選擇不對資料庫執行任何操作(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命令列視窗,執行如下命令 ...