《SQLServer镜像数据库实施手册双机》由会员分享,可在线阅读,更多相关《SQLServer镜像数据库实施手册双机(11页珍藏版)》请在金锄头文库上搜索。
1、一、配置主备机1、 服务器基本信息主机名称为:HOST_A,IP 地址为:192.168.1.155备机名称为:HOST_B,IP 地址为:192.168.1.156二、主备实例互通实现互通可以使用域或证书来实现,考虑实现的简单,以下选取证书的方式实现。注意:实现“主备数据库实例互通”的操作只需要做一次,例如为了将两个 SQL Server 2008 的实例中的 5 个数据库建成镜像关系,则只需要做一次以下操作就可以了;或者这样理解:每一对主备实例(不是数据库)做一次互通。1、创建证书(主备可并行执行)-主机执行:USE master; CREATE MASTER KEY ENCRYPTION
2、 BY PASSWORD = 123456; CREATE CERTIFICATE HOST_A_cert WITH SUBJECT = HOST_A certificate , START_DATE = 2012-08-02, EXPIRY_DATE = 2099-08-02; -备机执行:USE master; CREATE MASTER KEY ENCRYPTION BY PASSWORD = 123456; CREATE CERTIFICATE HOST_B_cert WITH SUBJECT = HOST_B certificate, START_DATE = 2012-08-02,
3、 EXPIRY_DATE = 2099-08-02; 2、创建连接的端点(主备可并行执行)-主机执行: CREATE ENDPOINT Endpoint_Mirroring STATE = STARTED AS TCP ( LISTENER_PORT=5022 , LISTENER_IP = ALL ) FOR DATABASE_MIRRORING ( AUTHENTICATION = CERTIFICATE HOST_A_cert , ENCRYPTION = REQUIRED ALGORITHM AES , ROLE = ALL ); -备机执行:CREATE ENDPOINT Endpo
4、int_Mirroring STATE = STARTED AS TCP ( LISTENER_PORT=5022 , LISTENER_IP = ALL ) FOR DATABASE_MIRRORING ( AUTHENTICATION = CERTIFICATE HOST_B_cert , ENCRYPTION = REQUIRED ALGORITHM AES , ROLE = ALL );3、备份证书以备建立互联(主备可并行执行)-主机执行:BACKUP CERTIFICATE HOST_A_cert TO FILE = C:SQLBackupHOST_A_cert.cer; -备机执行
5、:BACKUP CERTIFICATE HOST_B_cert TO FILE = C:SQLBackupHOST_B_cert.cer;4、互换证书将备份到 C:SQLBackup的证书进行互换,即 HOST_A_cert.cer 复制到备机的C:SQLBackup。HOST_B_cert.cer 复制到主机的 C:SQLBackup。5、添加登陆名、用户(主备可并行执行)以下操作只能通过命令行运行,通过图形界面无法完成。(截至 SQL Server2005 的补丁号为 SP2)-主机执行:CREATE LOGIN HOST_B_login WITH PASSWORD = 123456; C
6、REATE USER HOST_B_user FOR LOGIN HOST_B_login; CREATE CERTIFICATE HOST_B_cert AUTHORIZATION HOST_B_user FROM FILE = C:SQLBackupHOST_B_cert.cer; GRANT CONNECT ON ENDPOINT:Endpoint_Mirroring TO HOST_B_login; -备机执行:CREATE LOGIN HOST_A_login WITH PASSWORD = 123456; CREATE USER HOST_A_user FOR LOGIN HOST
7、_A_login; CREATE CERTIFICATE HOST_A_cert AUTHORIZATION HOST_A_user FROM FILE = C:SQLBackupHOST_A_cert.cer; GRANT CONNECT ON ENDPOINT:Endpoint_Mirroring TO HOST_A_login; 三、建立镜像关系以下步骤是针对每个数据库进行的,例如:现有主机中有 5 个数据库以下过程就要执行5 次。1、 手工同步登录名和密码在上文中提到数据库镜像的缺点之一是无法维护登录名,所以需要我们手工维护登录。通常来说数据库都将会有若干个用户作为访问数据库的用户,并
8、且数据库会有相应的登录名,但是在备机中缺少与之相对应的登录名,例如某业务系统使用myuser作为登录名访问数据库,但是在备机中没有myuser这个登录名,因此一旦主备切换,业务系统就无法登录数据库了,这种情况称为“孤立用户“。在主机和备机数据库上建立相同用户名及密码即可。2、 准备备机数据库(主机备份及镜像还原)在主机上备份数据库,先做完整备份,再做日志事务备份。1、主数据必须设置成完整模式进行备份,如下图:上图中将“恢复模式”选成“完整模式” 。2、备份数据库,如下图:备份时将“备份类型”选成“完整” 。3、备份事务日志,如下图:将“备份类型”选成“事务日志”且备份目录与备份数据库的目录一致
9、。将备份文件在备机上使用主机的全备文件进行还原,在还原数据的时候需要使用选上“with non recover” 。如图所示:如果执行成功数据库将会变成这个样子:3、 建立镜像-在备机中执行如下语句:ALTER DATABASE shishan SET PARTNER = TCP:/192.168.1.155:5022;说明:shishan为数据库名,需要根据实际进行修改。192.168.1.155为主机IP地址,需根据实际进行修改。-主机执行:ALTER DATABASE shishan SET PARTNER = TCP:/192.168.1.156:5022; 说明:shishan为数据
10、库名,需要根据实际进行修改。192.168.1.156为备机IP地址,需根据实际进行修改。执行成功后:到此,SQL 镜像热备配置完成。四、常见命令四、常见命令-切换主备 use master;alter database testdb set partner failover;- 备机强制切换use master;alter database testdb set partner force_service_allow_data_loss;-恢复镜像use master;alter database testdb set partner resume;-取消见证服务器ALTER DATABAS
11、E testdb SET WITNESS OFF ;-取消镜像ALTER DATABASE testdb SET PARTNER OFF;-设置镜像数据库还原为正常RESTORE DATABASE testdb WITH RECOVERY;总结版本:SQL Server2005 及以上版本,不支持免费版要进行以上 sql server 2005 的镜像设置一定要使用 sql server 的配置管理器开启TCP/IP 协议,如下图如果没有启用 TCP/IP 协议则只能在同一个网段内的机器配置镜像,前面的配置步骤里面所用到的 IP 地址要换成对应的实例名。同一个网段配置并使用镜像的时实性、传输速率更高,适用于大数据量的同步,跨网段或者跨公网的 sql server 2005 镜像一般适用于数据量小,时实性要求不高的数据同步,而且数据库在公网上同步也不安全。