首页 » SQL Server » Sql Server 2008 简单搭建主从复制

Sql Server 2008 简单搭建主从复制

通过将主服务器上备份出来的transaction log 传送到辅助服务器上并进行恢复,实现主从库的同步,有些类似mysql 的主从和oracle 的OGG,不过sqlserver 的日志传输当主服务器宕机的时候,日志传送功能并不能实现从主服务器到辅助服务器的自动故障转移功能,需要手动将辅助服务器切换到联机状态,使得辅助服务器上数据库来提供服务,从而实现数据库的高可用性。

Parimary DB
——————–
IP: 192.168.217.240
OS: windows 2003 x64
DB: Sql server 2008
——————–

Secondly DB
——————–
IP: 192.168.217.240
OS: windows 2003 x32
DB: Sql server 2008
——————–

Transaction Log data flow
————————-

primary db
  -->backup e:\db_backup 
             --> shared e:\db_backup as \\192.168.217.240\db_bacup
                                                      |
                                                      |secondly copy  \\192.168.217.240\db_bacup 

to local e:\db_restore
                                                                                           --

>secondly retore from e:\db_restore


1,Verify DB service and Agent service

首先确保软件都已正常安装且监听已可以启动,两台机器互相通过sa可以访问 或telnet IP 1433,注意在

windows2003安装的sql server的监听可能默认未正常启动,查看默认1433端口是否已启动

cmd>netstat -an

打开“SQL Server 配置管理器”->”sql server 网张配置”->”mssqlserver 的协议” ->tcp/ip 状态修改为启用
双击tcp/ip 协议选项卡修改已启用 “是” ,IP地址选项卡–IPALL 把TCP动态端口清空,TCP端口改为1433

监听TCP动态 默认是1632 而不是1433,而且未启用,修改完后,重启sql server服务。

2, Verify OS and DB Authentication

主库和备库都使用administrator 操作系统用户且主\从 服务器的administrator密码一致.

打开“SQL Server 配置管理器”->sql server 服务->双击sql server 服务->登录 修改为”本帐户”浏览选

administrator
打开“SQL Server 配置管理器”->sql server 服务->双击sql server 代理服务->登录 修改为”本帐户”浏览选

administrator

两个服务的启动模式为:自动

主库和备库修改服务器属性
打开SQL Server Management Studio 连接上服务器,右击服务器

3,create local directory and shared directory

主库
创建e:\db_backup ntfs安全把administrator有完全控制权限,并共享,共享名db_backup权限administrator

读写

备库
创建e:\db_resotor ntfs安全把administrator有完全控制权限

从备库访问主库的共享目录如\\192.168.217.240\db_backup 确保正常访问

4,Config sql server log transfer on primary db

前期工作都配置好到这一步通常很顺利,这里配置xmsbshanghai库的主从

确认xmsbshanghai库属性中的恢复模式为完整,也可以从SQL Server Management Studio 工具图形修改

select name,recovery_model_desc,compatibility_level from sys.databaseswhere DB_NAME(database_id) = 

'xmsbshanghai'

Alter database xmsbshanghai set recovery FULL

打开SQL Server Management Studio 工具连上主库,右键xmsbshanghai --属性--事务日志传送

“将此数据库启用为日志传送配置中的主数据库” 打勾
“备份设置”
          "备份文件夹网络路径" 填写主库共享目录 \\192.168.217.240\db_backup
          "如果备份文件夹位于主服务器上.." 填主库刚才写的用户存日志文件的目录 e:\db_backup
                   "计划" 执行间隔     为了测试快速看到效果 可以改为10秒

  确认

“辅助数据库”-->添加-->连接
      服务器名称:192.168.217.241   windows身份验证 连接如果失败检测备库的监听

  初始化辅助的数据库 选项卡 会自动监测备库如果存在库名 自动会是认为已初始化过,如果不存在自动为是“是,生成主数据库完整备份..” 还原选项 数据文件的文件夹 和日志文件的文件夹 选项 填写备库上存在的文件夹如d:\mssqldb 如果不填,使用数据库默认

  复制文件选项卡 复制文件的目标文件夹 填写上面备库上创建的e:\db_restore 用于存放日志文件在库库
               计划 同样修改执行间隔为10秒

  还原事务日志选项卡 选择备用模式
               计划 同样修改执行间隔为10秒

好,点确认开始初始化备库,在备库会看到恢复中的字样,并同时在主库和备库创建日志备份、日志copy,日志restore,alert 的schedule job,备库回复成功后会看到“备用/只读”的字样

note:

不要随意修改主机名,修改主机名后sql server配置db-240->db240

use master
select SERVERPROPERTY(‘ServerName’)
select @@SERVERNAME

EXEC sp_dropserver ‘DB-240’
EXEC sp_addserver ‘DB240’, ‘LOCAL’

select @@servername

sp_dropserver ‘old_computer_name’
go

sp_addserver ‘new_computer_name’,’local’
go

打赏

对不起,这篇文章暂时关闭评论。