SQL Server2008 R2 数据库镜像实施手册(双机)SQL Server2014同样
一、配置主备机1、 服务器基本信息 主机名称为:HOST_A,IP地址为:192.168.1.155 备机名称为:HOST_B,IP地址为:192.168.1.156 二、主备实例互通实现互通可以使用域或证书来实现,考虑实现的简单,以下选取证书的方式实现。注意:实现“主备数据库实例互通”的操作只需要做一次,例如为了将两个SQL Server 2008的实例中的5个数据库建成镜像关系,则只需要做一次以下操作就可以了;或者这样理解:每一对主备实例(不是数据库)做一次互通。 1、创建证书(主备可并行执行)--备机执行:USE master; 2、创建连接的端点(主备可并行执行)CREATE ENDPOINT Endpoint_MirroringSTATE = 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 Endpoint_Mirroring STATE = STARTED AS TCP ( LISTENER_PORT=5022,LISTENER_IP = ALL ) FOR DATABASE_MIRRORING ( AUTHENTICATION = CERTIFICATE HOST_B_cert,ROLE = ALL ); 3、备份证书以备建立互联(主备可并行执行)BACKUP CERTIFICATE HOST_A_cert TO FILE = 'C:SQLBackupHOST_A_cert.cer';--备机执行: 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_A_login WITH PASSWORD = '123456'; CREATE USER HOST_A_user FOR LOGIN HOST_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、 手工同步登录名和密码在上文中提到数据库镜像的缺点之一是无法维护登录名,所以需要我们手工维护登录。 通常来说数据库都将会有若干个用户作为访问数据库的用户,并且数据库会有相应的登录名,但是在备机中缺少与之相对应的登录名,例如某业务系统使用'myuser'作为登录名访问数据库,但是在备机中没有'myuser'这个登录名,因此一旦主备切换,业务系统就无法登录数据库了,这种情况称为"孤立用户"。在主机和备机数据库上建立相同用户名及密码即可。 2、 准备备机数据库(主机备份及镜像还原)在主机上备份数据库,先做完整备份,再做日志事务备份。 1、主数据必须设置成完整模式进行备份,如下图:
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为数据库名,需要根据实际进行修改。192.168.1.156为备机IP地址,需根据实际进行修改。 执行成功后: 到此,SQL镜像热备配置完成。 四、常见命令
-- 备机强制切换 |