SQL+SERVER2005日志传送
- 格式:pdf
- 大小:371.55 KB
- 文档页数:12
迁移sql2005到sql2008r2步骤说明:这⾥包含迁移Migrate和升级Upgrade两个动作,为了保留SQL所有设置,升迁要包括master和msdb两个数据库。
步骤1:在服务器B上安装SQL2008R2&SP2。
步骤2:备份SQL2008R2的master,msdb,model三个数据库,并拷贝⼀份数据库⽂件到别处,皆备份⽤途。
步骤3:在服务器上运⾏SQL2008R2上运⾏单⽤户模式sqlservr.exe -m,恢复服务器A的master备份失败,sql error提⽰版本不兼容,不能恢复。
步骤3:使⽤Symantec Backup Exec恢复服务器A的master备份重定向到服务器B,选中“⾃动还原主数据库”,仍然失败,提⽰“V-79-65323-0 查询数据库 master 时出错”。
步骤3:在服务器A上将master的备份恢复到master2数据库,分离master2数据库,改名为master.mdf和mastlog.ldf并复制到服务器B替换之。
创建和服务器A上SQL实例相同的⽬录(包括Data和Log⽬录),将model和msdb的数据库⽂件复制到这个Data⽬录。
步骤4:启动服务器B上的SQL,观察errorlog,顺利的话隔⼏分钟就完成master的升级和实例的启动,如有错误再纠正。
步骤5:使⽤ALTER database msdb/model/tempdb modify file(name=tempdev, filename='...')逐个更改(调整)数据库物理⽂件路径,停⽌SQL复制物理⽂件到新路径,重启SQL。
步骤6:msdb如果从备份恢复也可能不成功(没有试这个步骤,也没有试从复制过来的数据⽂件升级),可以使⽤SQL Server Business Intelligence Development Studio新建⼀个Integration Services 项⽬来传输所有的Logins和Jobs。
将SQLSERVER2005迁移到新的服务器上(在新的服务器上恢复)SQLSERVER2005迁移到新的服务器上(在新的服务器上恢复)当原先服务器出现故障,已经⽆法启动。
需要将整个SQLSERVER系统紧急迁移到⼀台备⽤服务器上,那么这个迁移步骤怎样做呢?在说之前复习⼀下各个系统数据库的主要作⽤,以便⼤家更清楚恢复这些系统数据库的好处master:记录SQLSERVER系统的所有系统级信息model:在SQLSERVER实例上为所有数据库创建的模版msdb:SQLSERVER代理⽤来安排警报和作业以及记录操作员信息的数据库,msdb数据库还包含历史记录表,错误页suspect_page 以及备份和还原历史记录表resource:包含SQLSERVER附带的所有系统对象副本的只读数据库,resource数据库是不能备份的,⽽且在SSMS⾥是看不见的tempdb:⽤于保存临时或中间结果集的⼯作空间。
每次启动SQLSERVER实例时SQLSERVER都会根据model数据库为蓝本重新创建此数据库。
服务器实例关闭时,将永久删除tempdb数据库中的所有数据---------------------------------------------------------华丽的分割线-----------------------------------------------------------------------好了,现在进⼊正题:先说⼀下具体环境:操作系统Windows2003企业版SP2;备⽤服务器名字叫:SQL2005PC;SQLSERVER是默认实例;数据库:SQL2005企业版备⽤服务器和原服务器不同名,SQLSERVER安装的路径也不⼀样。
(备⽤服务器安装路径为c:\Program Files\Microsoft SQL Server\MSSQL.4\MSSQL)现在⼿头有最新的master,msdb,model数据库备份,以及其他所有⽤户数据库备份将系统数据库恢复,以还原所有数据库系统信息(⽤户,密码,任务等),然后才能恢复⽤户数据库在这种情况下,恢复系统数据库需要修改系统数据库路径,还要修改SQLSERVER记录下⾃⼰的服务器名字友情提⽰:注意:命令⾏下运⾏的指令是⼤⼩写敏感的!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!------------------------------------------------------------------华丽的分割线----------------------------------------------------------------正式开始拉!!不好意思让⼤家久等了1、确认备⽤服务器的SQL版本和原服务器⼀致1SELECT@@VERSION返回的号码必须跟原先服务器返回的号码完全⼀样2、确保你备⽤服务器的SQLSERVER在启动的时候没有程序连接进来,不然的话等⼀下连接数据库的时候就会报错以下是错误消息:消息 18461,级别 14,状态 1,服务器 XXX,第 1 ⾏⽤户 'XXX\Administrator' 登录失败。
SQL2005数据库迁移
现有的数据库sql2005server更换磁盘柜,将存放在原来存储上的数据库文件迁移到新的盘柜存储。
采用分离附加的方法。
1、使用SQL2005的管理器打开SQL2005
2、使用windows身份验证或SQLserver验证的有足够管理者权限的账户。
3、查看到现在正在使用的数据库。
和次要的数据库文件,以及事务日志文件存放的位置。
5、选择要分离的数据库。
右键,任务—分离。
6、断开数据库的来连接,状态为就绪。
7、点击确定后,数据库文件从SQL2005server上分离出来。
次分离一个数据库文件,待这个数据库迁移完成,在分离其他数据库完成迁移。
9、将分离的数据库文件复制到新的存储位置。
主要和次要,事务日志文件。
10、copy到新的存放位置。
主要和次要、事务日志文件。
11、右键‘数据库’ 选择‘附加’。
12、在附件数据库的窗口中,点击添加,选择要添加的主要数据库文件。
手动修改为正确的次要库文件或事务日志文件的存放路径。
14、点击确定后,完成数据库的附加。
查看数据库中表等信息是否正确。
15、附加后的数据库,可以正常打开表等,实现对数据库的正常操作。
如何在SQL Server 2005 实例之间传输登录和密码在本文中,服务器A 和服务器B 是不同的服务器。
另外,服务器A 和服务器B 都在运行SQL Server 2005。
在将一个数据库从服务器A 上的SQL Server 实例移动到服务器B 上的SQL Server 实例之后,用户可能无法登录到移至服务器B 上的数据库。
而且,用户可能会收到以下消息:用户“MyUser”登录失败。
(Microsoft SQL Server,错误:18456)出现此问题的原因是,您未将登录和密码从服务器A 上的SQL Server 实例传输到服务器B 上的SQL Server 实例。
若要将登录和密码从服务器A 上的SQL Server 实例传输到服务器B 上的SQL Server 实例,请执行以下步骤:1.在服务器A 上,启动SQL Server Management Studio,然后连接到要从中移动数据库的SQL Server 实例。
2.打开新的查询编辑器窗口,然后运行以下脚本。
USE masterGOIF OBJECT_ID ('sp_hexadecimal') IS NOT NULLDROP PROCEDURE sp_hexadecimalGOCREATE PROCEDURE sp_hexadecimal@binvaluevarbinary(256),@hexvaluevarchar (514) OUTPUTASDECLARE @charvaluevarchar (514)DECLARE @i intDECLARE @length intDECLARE @hexstringchar(16)SELECT @charvalue = '0x'SELECT @i = 1SELECT @length = DATALENGTH (@binvalue)SELECT @hexstring = '0123456789ABCDEF'WHILE (@i <= @length)BEGINDECLARE @tempintintDECLARE @firstintintDECLARE @secondintintSELECT @tempint = CONVERT(int, SUBSTRING(@binvalue,@i,1)) SELECT @firstint = FLOOR(@tempint/16)SELECT @secondint = @tempint - (@firstint*16)SELECT @charvalue = @charvalue +SUBSTRING(@hexstring, @firstint+1, 1) +SUBSTRING(@hexstring, @secondint+1, 1)SELECT @i = @i + 1ENDSELECT @hexvalue = @charvalueGOIF OBJECT_ID ('sp_help_revlogin') IS NOT NULLDROP PROCEDURE sp_help_revloginGOCREATE PROCEDURE sp_help_revlogin @login_namesysname = NULL AS DECLARE @name sysnameDECLARE @type varchar (1)DECLARE @hasaccessintDECLARE @denyloginintDECLARE @is_disabledintDECLARE @PWD_varbinaryvarbinary (256)DECLARE @PWD_stringvarchar (514)DECLARE @SID_varbinaryvarbinary (85)DECLARE @SID_stringvarchar (514)DECLARE @tmpstrvarchar (1024)DECLARE @is_policy_checkedvarchar (3)DECLARE @is_expiration_checkedvarchar (3)DECLARE @defaultdbsysnameIF (@login_name IS NULL)DECLARE login_curs CURSOR FORSELECT p.sid, , p.type, p.is_disabled, p.default_database_name, l.hasaccess, l.denylogin FROMsys.server_principals p LEFT JOIN sys.syslogins lON ( = ) WHERE p.type IN ( 'S', 'G', 'U' ) AND <> 'sa'ELSEDECLARE login_curs CURSOR FORSELECT p.sid, , p.type, p.is_disabled, p.default_database_name, l.hasaccess, l.denylogin FROMsys.server_principals p LEFT JOIN sys.syslogins lON ( = ) WHERE p.type IN ( 'S', 'G', 'U' ) AND = @login_nameOPEN login_cursFETCH NEXT FROM login_curs INTO @SID_varbinary, @name, @type,@is_disabled, @defaultdb, @hasaccess, @denyloginIF (@@fetch_status = -1)BEGINPRINT 'No login(s) found.'CLOSE login_cursDEALLOCATE login_cursRETURN -1ENDSET @tmpstr = '/* sp_help_revloginscript 'PRINT @tmpstrSET @tmpstr = '** Generated ' + CONVERT (varchar, GETDATE()) + ' on ' + @@SERVERNAME + ' */'PRINT @tmpstrPRINT ''WHILE (@@fetch_status<> -1)BEGINIF (@@fetch_status<> -2)BEGINPRINT ''SET @tmpstr = '-- Login: ' + @namePRINT @tmpstrIF (@type IN ( 'G', 'U'))BEGIN -- NT authenticated account/groupSET @tmpstr = 'CREATE LOGIN ' + QUOTENAME( @name ) + ' FROM WINDOWS WITH DEFAULT_DATABASE = [' + @defaultdb + ']' ENDELSE BEGIN -- SQL Server authentication-- obtain password and sidSET @PWD_varbinary = CAST( LOGINPROPERTY( @name,'PasswordHash' ) AS varbinary (256) )EXEC sp_hexadecimal @PWD_varbinary, @PWD_string OUTEXEC sp_hexadecimal @SID_varbinary,@SID_string OUT-- obtain password policy stateSELECT @is_policy_checked = CASE is_policy_checked WHEN 1 THEN 'ON' WHEN 0 THEN 'OFF' ELSE NULL END FROM sys.sql_logins WHERE name = @nameSELECT @is_expiration_checked = CASE is_expiration_checked WHEN 1 THEN 'ON' WHEN 0 THEN 'OFF' ELSE NULL END FROMsys.sql_logins WHERE name = @nameSET @tmpstr = 'CREATE LOGIN ' + QUOTENAME( @name ) + ' WITH PASSWORD = ' + @PWD_string + ' HASHED, SID = ' + @SID_string + ', DEFAULT_DATABASE = [' + @defaultdb + ']'IF ( @is_policy_checked IS NOT NULL )BEGINSET @tmpstr = @tmpstr + ', CHECK_POLICY = ' +@is_policy_checkedENDIF ( @is_expiration_checked IS NOT NULL )BEGINSET @tmpstr = @tmpstr + ', CHECK_EXPIRATION = ' +@is_expiration_checkedENDENDIF (@denylogin = 1)BEGIN -- login is denied accessSET @tmpstr = @tmpstr + '; DENY CONNECT SQL TO ' + QUOTENAME( @name )ENDELSE IF (@hasaccess = 0)BEGIN -- login exists but does not have accessSET @tmpstr = @tmpstr + '; REVOKE CONNECT SQL TO ' + QUOTENAME( @name )ENDIF (@is_disabled = 1)BEGIN -- login is disabledSET @tmpstr = @tmpstr + '; ALTER LOGIN ' + QUOTENAME( @name ) + ' DISABLE'ENDPRINT @tmpstrENDFETCH NEXT FROM login_curs INTO @SID_varbinary, @name, @type,@is_disabled, @defaultdb, @hasaccess, @denyloginENDCLOSE login_cursDEALLOCATE login_cursRETURN 0GO注意:此脚本会在“master”数据库中创建两个存储过程。
SQL Server 2005数据库维护计划计算机系统各种软、硬件故障、用户误操作以及恶意破坏是不可避免的,这些影响到数据的正确性甚至造成数据损失、服务器崩溃等致命后果。
数据库的备份对保证系统的可靠性具有重要的作用。
下面会根据执行强度对维护任务及其相应的程序进行分类描述,执行强度用不同的时间间隔定义,包括每天、每周、每月和每季度,能够建立起良好的维护实务,确保SQL Server 数据库性能和安全。
一、每天的例行维护任务需要数据库管理员密切关注的维护任务,最好每天都检查一下,这样可以确保系统的可靠性、可用性、运行性能和安全。
每天的例行维护任务包括:1、检查是不是所有被请求的SQL Server服务都正常运行。
2、检查日常备份日志中成功、警告或者失败记录。
3、检查Windows事件日志有没有错误记录。
4、检查SQL Server日志有没有安全警告记录,例如非法登录。
5、执行完全备份或差异备份。
6、在设置了完全恢复模型或大容量日恢复模型的数据库上执行事务日志备份任务。
7、核实SQL Server作业没有失败。
8、检查所有的数据库文件和事务日志具有合适的磁盘空间大小。
9、至少要监控处理器、内存或者磁盘计数器没有出现瓶颈。
二、每周的例行维护任务关注程度稍逊于每天的例行维护任务,最好每周进行一次例行检查。
每周的例行维护任务包括:1、执行完全备份或差异备份。
2、检查以前执行的维护计划报告。
3、检查数据库完整性。
4、如果需要,执行收缩数据库任务。
5、通过重新组织索引任务压缩聚集和非聚集表和视图。
6、通过重新生成索引任务在数据页和索引页重新组织数据。
7、更新所有用户表和系统表的统计信息8、清除备份、还原、SQL Server代理作业和维护计划等操作的历史数据。
9、如果需要,手动增长数据库或事务日志文件10、清除执行维护计划残留下来的文件。
三、每月或每季度的维护任务有一些维护计划不需要执行得过于频繁,可以每个月或每个季度执行一次。
服务器SQL Server2005使用订阅发布同步数据库小编回来:这两天有一个同事在设计项目的时候考虑到数据量查询和写入都比较大,问我数据库该怎么设计,了解了他们的业务后,我给的建议是发布一个订阅的数据库来分担压力,写下自己的操作步骤分享给大家。
数据库复制涉及发布服务器:数据的来源服务器,维护源数据,决定哪些数据将被分发,检测哪些数据发生了修改,并将这些信息提交给分发服务器。
分发服务器:分发服务器负责把从发布服务器拿来的数据传送至订阅服务器。
订阅服务器:订阅服务器就是发布服务器数据的副本,接收维护数据。
订阅类型推订阅推订阅是指由发布服务器将所有发生修改过的数据复制给订阅者,这种在数据同步性价比较高的场合,推荐使用推订阅。
拉订阅拉订阅是指订阅服务器在经过一段时间就会向发布服务器要求复制出版数据库发生的变化的数据。
发布,分发,订阅可以部署在独立的服务器上面也可以部署在一台sql server 上面,然而分开部署肯定能提高性能。
复制代理:(1) 快照代理快照代理在分发者上创建并存储快照文件,任务是:在分发数据库中准备已发布表的架构和初始数据以及其他对象、存储快照文件并记录出版数据库和订阅服务器之间的同步信息,快照代理运行在分发者服务器上,并与出版者相连接。
每一个出版物都有自己的快照代理。
与各种类型的复制一起使用。
(2) 日志阅读代理日志读取器代理与事务性复制一起使用。
它将发布服务器上的事务日志中标记为复制的事务移至分发数据库中。
使用事务性复制发布的每个数据库都有自己的日志读取器代理,该代理运行于分发服务器上并与发布服务器连接(分发服务器与发布服务器可以是同一台计算机)。
(3) 分发代理分发代理与快照复制和事务性复制一起使用。
它将初始快照应用于订阅服务器,并将分发数据库中保存的事务移至订阅服务器。
分发代理既可以运行于分发服务器(对于推送订阅),也可运行于订阅服务器(对于请求订阅)。
(4) 合并代理:合并代理与合并复制一起使用。
实验10 维持高可用性课堂练习一:配置日志传送目标综述能够配置日志传送。
创建文件夹和共享过程列表需要2位同学相互配合完成该实验。
在此假设同学A的机器为主体数据库,同学B 为辅助数据库。
B需要在磁盘上新创文件夹并共享(LogShipSrc),让A可以写入数据。
(注:同学A的机器称为服务器A,同学B的机器称为服务器B)指定主体数据库过程列表你必须执行以下步骤来指定主体数据库:1.启动SQL Server Management Studio。
2.在“连接到服务器”对话框中,指定下表中的值,然后单击“连接”。
3.在“对象资源管理器”中,展开“数据库”。
4.右击“AdventureWorks数据库”,然后单击“属性”。
5.在“选择页”下,单击“选项”。
6.将“恢复模式”属性设置为“完整”,然后单击“确定”。
7.右击AdventureWorks数据库,然后单击“属性”。
8.在“选择页”下,单击“事务日志传送”。
9.选中“在日志传送配置中启用它作为主体数据库”复选框。
配置备份设置过程列表你必须执行下列操作以配置备份设置:1.在“事务日志备份”下,单击“备份设置”。
2.在“至备份文件夹的网络路径”框中,输入\\服务器B\LogShipSrc。
3.在“如果备份文件夹位于主体服务器上,输入到该文件夹的本地路径”框中,输入C:\LogShipBackup\LogShipSrc。
4.在“备份作业”部分,单击“计划”。
5.在“每日频率”部分,将作业设置为每1分钟发生一次,然后单击“确定”。
6.单击“确定”来关闭“事务日志备份设置”对话框。
配置辅助服务器过程列表你必须执行以下步骤来配置主体服务器:1.在“辅助服务器实例和数据库”下,单击“添加”。
2.单击“连接”,然后使用Windows身份验证连接到服务器B。
3.在“辅助数据库”框中,输入AdventureWorks。
4.在“初始化辅助数据库”选项卡上,选择“是,生成主体数据库的完整备份并将其还原到辅助数据库”。
SQL Server 2005相对于SQL Server 2000来说,无论是性能还是功能都有一个相当大的提高,甚至可以用“革命”来形容这一次升级。
SQL Server 2005使SQL Server 跻身于企业级数据库行列。
在数据高可用性方面,SQL Server 2005为用户提供了数据镜像、复制、故障转移群集、日志传送功能。
本文向读者简单介绍SQL Server 2005复制功能。
一、复制简介复制是将数据或数据库对象从一个数据库复制和分发到另外一个数据库,并进行数据同步,从而使源数据库和目标数据库保持一致。
使用复制,可以在局域网和广域网、拨号连接、无线连接和Internet 上将数据分发到不同位置以及分发给远程或移动用户。
一组SQL SERVER2005复制有发布服务器、分发服务器、订阅服服务器(图1 复制服务器之间的关系图)组成,他们之间的关系类似于书报行业的报社或出版社、邮局或书店、读者之间的关系。
以报纸发行为例说明,发布服务器类似于报社,报社提供报刊的内容并印刷,是数据源;分发服务器相当于邮局,他将各报社的报刊送(分发)到订户手中;订阅服务器相当于订户,从邮局那里收到报刊。
在实际的复制中,发布服务器是一种数据库实例,它通过复制向其他位置提供数据,分发服务器也是一种数据库实例,它起着存储区的作用,用于复制与一个或多个发布服务器相关联的特定数据。
每个发布服务器都与分发服务器上的单个数据库(称作分发数据库)相关联。
分发数据库存储复制状态数据和有关发布的元数据,并且在某些情况下为从发布服务器向订阅服务器移动的数据起着排队的作用。
在很多情况下,一个数据库服务器实例充当发布服务器和分发服务器两个角色。
这称为“本地分发服务器”。
订阅服务器是接收复制数据的数据库实例。
一个订阅服务器可以从多个发布服务器和发布接收数据。
(图1)复制有三种类:事务复制、快照复制、合并复制。
事务复制是将复制启用后的所有发布服务器上发布的内容在修改时传给订阅服务器,数据更改将按照其在发布服务器上发生的顺序和事务边界,应用于订阅服务器,在发布内部可以保证事务的一致性。
SQL SERVER 2005日志传送文档编号: (ITS-SQL-RZCH)
浪潮集团山东通用软件有限公司
2010年02月
文档控制记录
修改记录
日期编写人员版本备注
审阅记录
日期审阅人员备注
分发记录
日期接收人员备注
SQL Server 2005相对于SQL Server 2000来说,无论是性能还是功能都有一个相当大的提高,甚至可以用“革命”来形容这一次升级。
SQL Server 2005使 SQL Server 跻身于企业级数据库行列。
在数据高可用性方面,SQL Server 2005为用户提供了数据镜像、复制、故障转移群集、日志传送功能。
本文简单介绍SQL Server 2005日志传送功能。
日志传送一般有主服务器、辅助服务器、监视服务器组成(见图1)。
主服务器一般是存储生产数据库的服务器,辅助服务器用来存储主服务器上生产数据库的副本,监视服务器用来记录日志传送的所有细节服务器,监视服务器是可选的。
日志传送是将主服务器的生产数据库的事务日志复制到辅助服务器并在辅助服务器还原,从而实现主服务器生产数据库和辅助服务器数据库副本数据的一致。
图1
日志传送要求主服务器生产数据库的日志恢复模式是完全或者大容量日志
模式,将数据库切换为简单恢复模式会导致日志传送停止工作。
辅助服务器是用来保存主数据库的最新备份的服务器。
一台辅助服务器可以包含多台不同主服务器中数据库的备份副本。
例如,某个部门可能有五台服务器,每台服务器都运行关键数据库系统。
在这种情况下,可以只使用一台辅助服务器,而不必使用五台单独的辅助服务器。
五个主系统上的备份都可以加载到这个备份系统中,从而减少所需的资源数量并节省开支。
监视服务器应独立于主服务器和辅助服务器,以避免由于主服务器或辅助服务器的丢失而丢失关键信息和中断监视。
一台监视服务器可以监视多个日志传送配置。
在这种情况下,使用该监视服务器的所有日志传送配置将共享一个警报作业。
日志传送操作由四个操作组成:备份作业、复制作业、还原作业和警报作业。
•备份作业,日志传送在主服务器实例上为每个主数据库创建一个备份作业。
它执行备份操作,将历史记录信息记录到本地服务器和监视服务器上,并删除旧备份文件和历史记录信息。
•复制作业,日志传送在辅助服务器实例上为每个日志传送配置创建一个复制作业。
此作业将备份文件从主服务器复制到辅助服务器,并在辅助服务器和监视服务器上记录历史记录信息。
•还原作业,日志传送在辅助服务器实例上为每个日志传送配置创建一个还原作业。
此作业将复制的备份文件还原到辅助数据库。
它将历史记录信息记录在本地服务器和监视服务器上,并删除旧文件和旧历史记录信息。
•警报作业,如果使用了监视服务器,将在警报监视器服务器实例上创建一个警报作业。
此警报作业由使用监视器服务器实例的所有日志传送配置中的主数据库和辅助数据库所共享。
对警报作业进行的任何更改(例如,重新计划作业、禁用作业或启用作业)会影响所有使用监视服务器的数据库。
一、准备工作
首先确保生产数据库日志恢复模式为大容量日志模式或者是完整模式。
若恢复模式为简单,则在设置“将此数据启用为日志传送中配置中的主数据库”时出错。
其次规划事务日志存放目录,存放事务日志目录要求有两个,一个用来存放主服务器备份,一个用来存放辅助服务器还原的备份文件。
这两个目录可以分别建在主服务器和辅助服务器上,但是更好的做法是把主服务器的备份目录放在某文件服务器上,这样可以减少主服务器的I/O读写次数。
修改主服务器和辅助服务器上的 SQL AGGENT启动账号。
在主服务器上,定时备份事务日志是通过SQL作业来完成,确保启动SQL AGENT账号能够访问用来存放由备份作业产生的事务日志目录。
辅助服务器上复制作业和备份作业同样是由SQL AGENT 作业完成,确保的启动SQL AGENT账号要求能够访问主服务器存放事务日志的目录,同时也要求能够访问由复制作业复制过来用来存放辅助服务器还原的事务日志的目录。
二、配置步骤
为了说明配置步骤,笔者在同一台机器上装了二个实例:
SERVER01,SERVER02,笔者的机器名称为jeffery,规划了三个文件夹,
C:\DataBackup用为存放主数据库的完整备份,用于初始化辅助服务器,这个文件夹要求辅助服务器的启动SQL AGENT账号能访问;C:\PrimaryData用来存放由备份作业备份出来的主服务器的事务日志,设置成共享文件夹,这个文件夹要求辅助服务器的启动SQL AGENT账号能访问;C:\SecondaryData用来存放由辅助服务器上复制作业从主服务器的复制过来的主服务器的事务日志,也设置成共享的,这个文件夹要求辅助服务器的启动SQL AGENT账号能访问(如图2所示)。
图2
将SERVER01设置成为主服务器,主数据库为LOG_TRANSFER。
将SERVER02
设置成为辅助服务器。
第一步:备份主数据库到C:\DataBackup\ LOG_TRANSFER.BAK(主数据库的完整备份)。
第二步:在 SERVER01的LOG_TRANSFER数据库上单击右键,选择”任务”中的“传送事务日志”,打开事务日志传送配置窗口,单击“将此数据库启用为日志传送配置中的主数据库”(如图3所示)。
图3
第三步:配置主服务器的日志备份,单击“备份设置按钮”,打开备份设置窗口。
在这里需要设置主服务器备份的路径,在前面的说明中已提到,primarydata目录是用来存放主服务器的事务日志,并且设置为共享。
所以在备份文件夹的网络路径中输入
\\jeffery\PrimaryData,第二个红方框要求输入这个文件的本地路径。
图4
第四步:设置备份作业。
单击“计划”按钮。
单出如图5的对话框,在这个对话框中可以设置执行的间隔,这里设置成2分钟。
你还可以设置某一天的开始和结束的时间,比如:每天开始时间设置成为8:00,结束时间为20:00。
确定后回到图1的对话框,主服务器的日志备份设置好了。
图5
第五步:在辅助服务器区域单击“添加”按钮,添加辅助服务器。
可以为一个主服务器配置多个辅助服务器。
单击添加按钮之后,弹出辅助服务器,单击连接,连接SERVER02实例。
在准备工作中,已经对主数据库做了完全备份,网络路径为\\jeffery\DataBackup,按图6所示选项初始化辅助服务器。
图6
第六步:设置复制选项。
在单击图六中的“复制文件”选项卡,设置复制作业在辅助服务器上的目标文件夹。
这里设置为C:\SecondaryData。
如图7所示。
图7
第七步:设置复制作业计划。
单击图7中的计划按钮,弹出如图8所示窗口,设置执行间隔为3分钟。
图8
第九步:单击图7中还原选项卡,弹出如图9所示窗口,设置还原选项。
有二种还原模式:无恢复模式,这种模式下辅助数据库一直处于还原状态,不能访问。
第二种是备用模式,这种模式下,用户可以只读的方式访问数据库。
单击“计划”按钮,弹出如图8所示窗口,设置还原的间隔为4分钟。
单击确定,回到日志传送配置主窗口,单周确定会弹出一个窗口来显示日志传送设置进度。
这里限于篇幅有限,不介绍设置监视服务器。
图9
至此,日志传送设置完成。
日志传送设置程序自动在主服务器上生成备份和警报作业,在辅助服务器上生成复制、还原和警报作业。
如图10所示。
图10
三、日志传送状态报表
SQL SERVER为用户提供了一套辅助管理的报表,其中包括日志传送报表。
单击SERVER01实例名,单击工具栏“摘要”,在报表的下接列表框中可以找到事务日志传送状态报表。
如图11所示。
状态”GOOD”表示配置成功并且运行状态良好。
在SERVER02上打开此报表可以看到上次复制的日志文件和上次还原的日志文件。
图11。