图文详解SQLServer 主从同步.docx
《图文详解SQLServer 主从同步.docx》由会员分享,可在线阅读,更多相关《图文详解SQLServer 主从同步.docx(21页珍藏版)》请在冰豆网上搜索。
图文详解SQLServer主从同步
图文详解SQLServer2008主从同步
——日志传送
——————————————————
——————————————————
李向付
2013年3月28日
一:
初始配置:
使用sqladmin用户登录到WindowsServer2008操作系统,如果不确定现在的用户身份,可以打开开始菜单,就可以看到当前登录的用户身份,或者打开命令提示符,输入:
“whoami”命令查看当前登录的用户。
(图1)
图1确认当前用户身份
创建SQLServer数据库的管理员用户:
单击窗口左下角的管理服务器图标
,打开服务器管理器。
如果当前用户不是管理员,或者没有管理员权限,系统会提示输入管理员的密码,单击确定后即可打开服务器管理器界面。
(图2,图3)
图2身份验证
图3创建新用户
在“服务器管理器”窗口中,依次展开“服务器管理器”,“配置”,“本地用户和组”,“用户”,右击右侧窗口的空白处,选择“新用户”选项。
在弹出的“新用户”窗口中,输入用户名、全名、描述、密码和确认密码,并取消“用户下次登录时必须更改密码”选项,然后选中“用户不能更改密码”和“密码永不过期”,单击“创建”按钮完成用户创建。
这里需要对sqladmin用户设置一个强壮的密码。
(图4)为了服务器的安全起见,可以右击新建的用户“sqladmin”,点击“属性”,在“隶属于”选项卡中将“users”组删除,这样确保此用户有最小的系统访问权限。
图4新用户创建界面
创建一个用于存放主从备份日志文件的共享目录DB_Backpu(图5),右击文件夹,选择“属性”,在弹出的“DB_Backup属性”界面,选择“共享”选项卡,单击“高级共享”中的“高级共享”按钮(图6)。
图5用于存放备份日志文件的共享目录
图6共享文件夹的共享设置
在“高级共享”窗口中,勾选“共享次文件夹”选项,然后单击“权限”按钮对该共享文件夹的权限进行设置(图7)。
需要让sqladmin用户具有完全控制该文件夹的权限,先将默认的“everyone”用户删除,然后添加sqladmin用户,并切在“sqladmin的权限”中勾选“完全控制”,“更改”和“读取”项,然后单击两次“确定”按钮保存共享设置(图8)。
图7共享文件夹
图8设置sqladmin用户的共享权限
在NTFS文件系统中,还需要设置用户对该目录的安全权限(NTFS权限),如果安全权限不够,系统在写入备份文件的时候同样会报没有权限的错误。
可以在“安全”选项卡中设置文件夹或文件的安全权限,右击DB_Backup目录选择“属性”,在弹出的窗口中选择“安全”选项卡,单击“编辑”按钮,在“DB_Backup的权限”界面,单击“添加”按钮,添加sqladmin用户,然后在“sqladmin的权限”中选择“完全控制”权限,单击“确定”按钮保存权限信息(图9)。
图9配置sqladmin用户的NTFS权限
配置完主库,还应该在从库上创建一个用于存放来自主库日志的目录,这里我也在C盘创建一个DB_Backup文件夹。
图10数据库服务器的右键菜单
分别从主数据库服务器上和从数据库服务器上打开SQLServer配置管理器,设置SQLServer服务和SQLServer代理服务的“登录身份为”sqladmin用户,如果不是,可以右击该服务选择“属性”,在弹出的对话框中选择“本账户”,然后指定一个有操作该数据库服务器的用户,这里我选择的是sqladmin用户。
同时确保这两个服务的启动状态为“自动”。
图11打开SQLServer配置管理工具
图12修改服务的登录用户
二:
配置SQLServer日志传送
在主数据库服务器上打开SQLServerManagementStudio管理控制台,连接到本地的主数据库服务器上,此时应确保下面的“用户名”中的用户具有控制该SQLServer服务器的权限(图13)。
单击“连接”按钮连接到本地的SQLServer数据库实例中。
图13连接到本地SQLServer数据库服务器
图14数据库实例属性
右击数据库服务器实例,选择“属性”选项(图10),在弹出的“服务器属性–MASTERDB”界面中,单击左侧的“安全性”,然后在右侧窗口中的“服务器身份验证”中选择“SQLServer和Windows身份验证模式”,并勾选“服务器代理账户”中的“启用服务器代理账户”选项。
输入正确的“代理账户”和“密码”,单击“确定”按钮保存配置信息(图14)。
我这里创建了一个“test_db”的数据库测试用。
右击你要作为主库的数据库,选择“属性”选项(图15),弹出“数据库属性–test_db”窗口,选择左侧的“选项”,在右侧的“恢复模式”中选择“完整”或“大容量日志”(图16)。
图15数据库的右键菜单
图16修改SQLServer日志恢复模式
然后再切换到左侧的“事务日志传送”中,勾选“将此数据库启用为日志传送配置中的主数据库”选项,单击“事务日志备份”中的“备份设置”按钮(图17),打开“事务日志备份设置”界面(图18)。
图17事务日志界面
图18事务日志备份设置界面
在“作业计划属性”界面,确认“计划类型”为重复执行,每天频率的执行间隔可以设置的稍微大一些,这里我测试环境,为了尽快看到效果,设置为每十秒执行一次作业计划。
最后确认“持续时间”,根据自己需要设置,如果需要一直备份的话,可以设置为“无结束日期”(图19)。
图19作业计划属性界面
注意,如果设置完成,保存之后再次打开“事务日志备份设置”界面,则备份作业的作业名称后面将变成“编辑作业”按钮,单击此按钮会弹出如(图20)的界面,请确定此处的“所有者”具需要具备操作数据库的权限(不需要具有操作系统管理员的权限)。
选择左侧的“计划”项目,选择之前创建的任务计划,单击“编辑”按钮就会弹出(图21)的界面
图20编辑作业属性
完成之后单击“确定”按钮保存备份设置信息。
单击数据库属性界面的“辅助数据库”中的“添加”按钮(图21),打开“辅助数据库设置”窗口。
图21添加从库
图22连接到从库
单击“辅助数据库设置”窗口中的“连接”按钮,打开“连接到服务器”窗口,在“数据库名称”中输入从库的IP地址或者从库服务器的主机名,此时应保证下面的“用户名”中的用户有权限访问从数据库。
单击“连接”按钮连接到从库(图22)。
图23初始化辅助数据库设置
在这里可以单击如(图23)中的“还原选项”按钮打开“还原选项”窗口,设置该数据库在从库上的文件保存路径,可以设置默认的存放路径或者保留空白(图24)。
图24指定从库的数据库文件保存路径
在“复制文件“选项卡中,设置从库上用于存放主库日志文件的文件夹路径(图25),单击“计划”按钮配置任务定期执行。
如(图26)
图25设置从库的日至存放路径
图26设置从库还原日志的计划任务
切换到“还原事务日志”选项卡,在“还原备份时的数据库状态”中选择“备用模式”,这里可以继续单击“计划”按钮设置相关的计划任务来让作业定期执行(图27)。
图27还原事务日志界面
图28将配置信息导出到文件
配置完成,可以单击“数据库属性”窗口的“编写配置脚本”按钮,在弹出的快捷菜单中选择“将配置脚本保存到文件”,以便以后排错或者查阅之用(图28)。
单击“确定”按钮保存配置,此时SQLServer将会把主库做一个完全备份,并且还原到从数据库服务器上。
检查从数据库上是否已经成功还原了主数据库。
并确定其中的数据是否完整(图29)。
图29连接到从库检查还原结果
为了测试两个库之间是否可以自动同步,可以在主库上创建一个用于测试的表格,过一段时间之后检查从库上是否已经成功同步过去,如果可以正常同步,则主从同步正常。
如果为成功同步,可以先检查下面的SQLServer代理服务是否已经启用,或者打开“SQLServer代理”中的“作业活动监视器”,检查里面的作业是否有报错信息。
至此,SQLServer的主从同步就已经完成了。
如果遇到报错,请查阅相关的日志文件。