SQL Server 无法初始化恢复实践

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

寒山sql数据库修复中心/
SQL Server 备份和恢复最佳实践
产品最佳实践之—产品最佳实践之——SQL Server
目录
介绍……3 1.1 目标读者……3 1.2 本文档使用范围: ……3 1.3 爱数备份软件SQL Server 模块的功能简介…… 3 SQL Server 数据库的一些基本知识…… 5 2.1 恢复模型……5 2.2 备份类型…… 6 SQL Server 最佳备份实践……7 3.1 备份前注意事项……
7 3.2 最佳备份操作......7 3.2.1 配置客户端......7 3.2.2 新建备份任务......8 3.3.3 备份策略......10 SQL Server 最佳恢复实践......11 4.1 恢复类型......11 4.2 最佳恢复操作......12 4.3 恢复注意事项......13 常见问题总结 (15)
2
产品最佳实践之—产品最佳实践之——SQL Server
介绍
本文档是爱数备份软件SQL Server模块的备份与恢复最佳实践文档.它描述如何正确使用爱数备份软件备份和恢复SQL Server数据库的方法,包括备份前后的注意事项,恢复前后的注意事项,以及常见问题总结.
1.1
目标读者本技术文档面向爱数备份软件的用户和相关技术人员,主要介绍SQL Server数据库的相关基础知识, 以及三种主要的备份方式和恢复模型, 旨在通过此文档帮助用户和技术人员快速地掌握使用爱数备份软件保护SQL Server数据库的正确方法.
1.2 本文档使用范围:
项目产品范围爱数备份软件企业版3.0 爱数备份软件中小企业版3.0 爱数备份存储柜3.0 爱数Tx3 SQL Server 版本SQL Server 2000 (32/64bit) SQL Server 2005 (32/64bit) SQL Server 2008 (32/64bit) 操作系统版本Windows 2003 Server (32/64bit) Windows 2008 Server (32/64bit) Windows 7 Server (32/64bit) Windows 2000 提示:本文档中的界面截图来自爱数备份软件企业版3.0,其他版本有类似的界面.
1.3
爱数备份软件SQL Server 模块的功能简介
功能备份类型循环备份客户端自动搜索实例描述完全备份,差异备份和事务日志备份完全备份,差异备份和事务日志备份相结合的循环支持
3
产品最佳实践之—产品最佳实践之——SQL Server
客户端多实例备份恢复单任务多客户端SQL Server 实例单实例多任务同时备份master,msdb 数据库保护恢复方式恢复位置恢复粒度异机恢复恢复为其他名支持尾日志的备份灾难恢复
支持支持支持(任务中无相同数据库) master,msdb 数据库每次默认进行完全备份浏览恢复原位置或其它已安装SQL Server 的客户端服务器,整个实例,单个数据库支持支持恢复数据库时恢复为新数据库名使得用户在发生介质损坏导致数据丢失的时候可以做到不丢失一条数据支持SQL Server 的灾难恢复
4
产品最佳实践之—产品最佳实践之——SQL Server
SQL Server 数据库的一些基本知识
SQL Server 是由Microsoft 开发和推广的关系数据库管理系统(DBMS).它最初是由
Microsoft ,Sybase 和Ashton-Tate 三家公司共同开发的,于1988年推出了第一个OS/2 版本.在Windows NT 推出后,Microsoft 与Sybase 在SQL Server 的开发上就分道扬镳了,Microsoft 将SQL Server 移植到Windows NT系统上,专注于开发推广SQL Server 的Windows NT 版本.Sybase 则较专注于SQL Server 在UNIX 操作系统上的应用.SQL Server 近年来不断更新版本,1996年,Microsoft 推出了SQL Serer 6.5版本;1998年,SQL Server 7.0版本和用户见面; SQL Server 2000是Microsoft公司于2000年推出的版本;后来的版本有SQL Server 2005,SQL Server 2008和SQL Server 2008 R2.
2.1
恢复模型
Microsoft SQL Server 提供了三种恢复模型:简单恢复模型,大容量日志的恢复模型和完全恢复模型.下表提供了三种恢复模型的优点和含义的概述. 恢复模型简单优点允许高性能大容量复制操作. 回收日志空间以使用空间要求最小. 数据文件丢失或损坏不会导致工作损失. 可以恢复到任意即时点(例如, 应用程序或用户错误之前) . 允许高性能大容量复制操作: 大容量操作使用最少的日志空间.
工作损失表现
必须重做自最新的数据库或者差异备份后所发生的更改. 正常情况下没有. 如果日志损坏,则必须重做自最新的日志备份后所发生的更改. 如果日志损坏,或者自最新的日志备份后发生了大容量操作,则必须重做自上次备份后所做的更改,否则不丢失任何工作.
能否恢复到即时点
可以恢复到任何备份的结尾处,随后必须重做更改. 可以恢复到任何即时点.
完全
大容量日志记录的
可以恢复到任何备份的结尾处,随后必须重做更改.
提示:如果您需要事务日志备份,请选择大容量日志记录的模型或完全模型.如果您需要恢复数据库到故障点,请选择完全模型.
5
产品最佳实践之—产品最佳实践之——SQL Server
2.2
备份类型
Microsoft SQL Server 主要包括三种备份方式:完全备份,差异备份和事务日志备份. 下面简要介绍这三种备份方式. 完全备份数据库备份创建备份完成时数据库内存在的数据的副本. 与事务日志备份和差异数据库备份相比,数据库备份中的每个备份使用的存储空间更多.因此,数据库备份完成备份操作需要更多的时间,所以数据库备份的创建频率通常比差异数据库或事务日志备份低. 差异备份差异备份基于差异备份所包含数据的前一次最新完整备份. 差异备份仅捕获自该次完整备份后发生更改的数据. 这称为差异备份的"基准". 差异备份仅包括建立差异基准后更改的数据.在还原差异备份之前,必须先还原其基准备份. 差异数据库备份比数据库备份小而且备份速度快, 因此可以更经常地备份, 经常备份将减少丢失数据的危险.如果多次修改相同的数据,则差异数据库备份尤其有效. 事务日志备份事务日志是数据库中已发生的所有修改和执行每次修改的事务的一连串记录. 事务日志记录每个事务的开始. 在Microsoft SQL Server 2000 中,数据库必须至少包含一个数据文件和一个事务日志文件. 数据和事务日志信息从不混合在同一文件中, 并且每个文件只能由一个数据库使用.SQL Server 使用各数据库的事务日志来恢复事务. 使用差异数据库备份将数据库还原到差异数据库备份完成时的那一点. 若要恢复到精确的故障点,必须使用事务日志备份. Microsoft SQL Server 支持单独使用一种备份方式或组合使用多种备份方式.选择的恢
复模型将决定总体备份策略, 包括可以使用的备份类型. 下表说明适用于每种恢复模型的备份类型. 模型数据库简单完全大容量日志记录
必需必需(或文件备份) 必需(或文件备份)
备份类型数据库差异
可选可选可选
事务日志
不允许必需必需
文件或文件差异
不允许可选可选
建议:为了更好的保护您的SQL Server 数据库数据,建议您选择完全恢复模型.
6
产品最佳实践之—产品最佳实践之——SQL Server
SQL Server 最佳备份实践
3.1 备份前注意事项
1. 选择恢复模型
如果您需要事务日志备份, 请选择大容量日志记录的模型或完全模型. 如果您需要恢复数据库到故障点,请选择完全模型.关于恢复模型和备份类型之间关系的信息,您可以参考上面的"备份类型" .如果您需要获取详细信息,请参考SQL Server 的联机丛书.
2. 身份验证
Microsoft SQL Server 可以在两种安全(身份验证)模式之一下工作:Windows 身份验证模式(Windows 身份验证)和混合模式(Windows 身份验证和SQL Server 身份验证) . 爱数备份软件的SQL Server 模块采用Windows 身份验证模式(Windows 身份验证) .
3. 客户端版本
爱数备份软件的客户端包括32-bit 和64-bit 两种类型.如果您使用的SQL Server 为32 位版本,则您只能使用32-bit 的客户端;如果您使用64-bit 的SQL Server,您可以任意选择32-bit 或64-bit 版本.
3.2 最佳备份操作
3.2.1 配置客户端
以管理员身份登录管理控制台,单击标签栏【设置】选项卡,然后单击左边【视图】中的【客户端管理】,进入客户端管理界面.在右边的客户端列表中单击选择需要的客户端, 然后单击【配置客户端】菜单,弹出【修改客户端配置】窗口如下所示:
7
产品最佳实践之—产品最佳实践之——SQL Server
勾选SQL Server,然后单击【确定】按钮后退出.
3.2.2 新建备份任务
步骤一:单击【备份】选项卡,单击右边的【新建任务】菜单,弹出的【新建备份任
务向导】对话框如下图所示:
勾选【备份数据库】,在【请选择数据库类型】下拉列表中选择SQL Server,然后单击【下一步】按钮,进入【任务基本信息】对话框.
步骤二: 【任务基本信息】对话框如下图所示:
8
产品最佳实践之—产品最佳实践之——SQL Server
请输入任务名,选择任务组,备份策略,数据源选择方式和数据类型,单击【下一步】按钮,进入【选择数据库】对话框.
步骤三:进入【选择数据源】对话框后,选择您所需要备份的数据库,单击【下一步】
按钮,进入【设置计划及事件】对话框.
提示:不允许多个任务同时对同一个数据库执行备份操作.强烈建议不要使同一个数据库出现在多个任务中,因为它很容易导致错误的操作行为.
9
产品最佳实践之—产品最佳实践之——SQL Server
步骤四: 【设置计划及事件】对话框如下图所示:
在设置【开始时间】时,爱数软件建议您尽量在服务器空闲时进行备份操作;另外,在设置【备份数据的保留策略】时,可在综合考虑您的存储空间和数据需求等因素后进行合理的设置.设置完成后,单击【完成】按钮,退出备份任务向导.
提示: 在设置"备份数据的保留策略"时,可能会出现这样的错误操作.假设这样一
个场景,使用者tom 设置"该任务最多保留完全备份副本数"为2,备份策略是每隔两个小时进行一次完全备份,上午8:00 备份任务开启,下午2:00 时,就会出现两个完全备份集.按照备份策略,下午2:00 会进行一次完全备份,因为tom 设置只保留 2 个完全备份集,所以下午2:00 产生的这个完全备份集就会覆盖上午8:00 的完全备份集,造成数据丢失.所以请您在考虑完全备份操作执行的时间间隔因素后,再设置合理的副本数.
3.3.3 备份策略
强烈建议您组合使用多种备份方式,例如,每周进行一次完全备份,每天进行一次差异备份,每隔若干个小时进行一次事务日志备份.有关如何设置备份策略的详细信息,请参考SQL Server 联机丛书. 建议在【新建备份任务向导】中设置计划和事件,它可以帮助您自动执行备份策略.
10
产品最佳实践之—产品最佳实践之——SQL Server
SQL Server 最佳恢复实践
4.1 恢复类型
1. 异机恢复
爱数备份软件支持恢复SQL Server 数据库到另外一台机器. 在进行异机恢复时, 请确保目标机器上存在相同实例名的数据库实例. 例如,机器 A 上存在数据库实例I_A,I_A 包含一个数据库I_A_D.备份数据库I_A_D 后,然后恢复到另外一台机器 B.在恢复之前,请确保机器B 上存在实例I_A.恢复成功后, 数据库I_A_D 依然存在于数据库实例I_A.
2. 普通环境下恢复系统库master
爱数备份软件支持备份和恢复系统数据库. 在恢复master 数据库之前, 请关闭相应数据库实例的除主数据库服务之外的其他数据库服务.这是因为恢复master 数据库时,需要以单用户模式重启数据库服务,如果存在程序连接到数据库服务,爱数备份软件的SQL Server 模块将无法连接上数据库服务.
3. 双机环境下恢复系统库master
对于双机环境,爱数备份软件不支持恢复系统库master 到虚拟数据库服务实例.这是因为恢复master 系统库时不可避免地需要重启数据库服务, 这个操作会破坏双机运行环境.但是您可以恢复备份数据到普通环境.
4. 恢复系统库msdb
不能还原用户正在访问的数据库. 因此, 还原msdb 数据库前, 应停止SQL Server 代理程序.如果SQL Server 代理程序正在运行,它可能会访问msdb 数据库.
5. 恢复带有全文索引的数据库到本机的新数据库
恢复带有全文索引的数据库的备份集到本机的另外一个数据库时, 需要您手动地进行
以下操作. 不妨假设现在需要恢复数据库old 到本机的另一个数据库new,old 具有全文索引catalog0 和catalog1.请首先手动建立一个数据库new,然后手动地建立全文索引catalog0 和catalog1,然后以强制还原方式恢复old 的备份集到新数据库名new.如果
11
产品最佳实践之—产品最佳实践之——SQL Server
您需要操作的详细信息,请参考下面的"恢复操作" .
4.2 最佳恢复操作
步骤一:登录【管理控制台】,单击【恢复】选项卡进入默认的【浏览恢复】视图.
步骤二:在任务-客户端列表框中单击展开您需要恢复的SQL Server 备份任务,单
击选择需要恢复的客户端.
步骤三:单击右边的【备份时间点下拉框】,选择您需要恢复到的时间点.单击展开
数据源,如下图所示.
12
产品最佳实践之—产品最佳实践之——SQL Server
在数据源中选择您需要恢复的数据库,然后点击【恢复到客户端】菜单,将弹出【SQL Server 数据库恢复】对话框.
步骤四:单击【恢复到客户端】菜单,弹出的【SQL Server 数据库恢复】对话框如
下图所示.
4.3 恢复注意事项
首先在【恢复到客户端】下拉框中选择您需要恢复数据库到的目标机器.如果您不进行选择,爱数软件将默认目标机器为源机器;如果您选择恢复到另外一台机器,请保证目标机器上存在同名实例.
13
产品最佳实践之—产品最佳实践之——SQL Server
在【恢复到新数据库名】视图中,如果您需要恢复数据库到一个新的数据库名,请勾选【恢复到新数据库名】选项, 并其下的【数据库名】编辑框中填入您想要的新数据库名. 如果您需要显式指定数据库的数据文件和日志文件的路径, 请勾选【恢复到新存储路径】选项,并在其下的【数据文件路径】和【日志文件路径】编辑框中输入您想要的存储路径.请您务必保证输入的路径存在,否则,将导致恢复出错. 如果您勾选了【在现有数据库上强制还原】选项,恢复时,如果数据库实例下存在同名数据库, 原有的数据库数据将会被覆盖. 爱数软件建议您除非明确知道同名数据库不再需要,否则请不要勾选此项. 单击【恢复】按钮,提交该恢复操作到任务执行队列.
14
产品最佳实践之—产品最佳实践之——SQL Server
常见问题总结
1. SQL Server 无法初始化VDI:拒绝访问,备份不成功. 错误描述用户创建SQL Server 备份任务, 备份过程中出现"无法初始化VDI: 拒绝访问"错误. 错误原因和解决方法1) 权限不足.
当爱数软件的客户端服务"AnyBackupClientEngine"的"登录身份"为"本地系统账户"时,有可能出现此错误.这涉及到SQL Server 提供的VDI 接口对用户的权限要求,并非爱数软件的程序问题. 解决办法是把客户端服务"AnyBackupClientEngine"的"登录身份"改为管理员Administrator.
2)
SQL Server 版本过低.
在SQL Server 2000 中,如果SQL Server 的版本过低,可能出现此错误.可以通过下面两种方法查看SQL Server 的版本信息: 在"企业管理器"中查看SQL Server 的版本信息,如果为RTM 版本,则可能出现此错误. 单击sqlvdi.dll 文件右键菜单【属性】中的【版本】选项卡,查看sqlvdi.dll 动态库的版本信息.如果为2000.80.194.0 这个原始版本,则可能出现此错误.
15
产品最佳实践之—产品最佳实践之——SQL Server
解决办法是将SQL Server 升级为SP4. 3) 若以上方法无效,请您尝试重新注册sqlvdi.dll.
注册方法如下:不妨假设sqlvdi.dll 的安装路径为"C:\Program Files\Microsoft SQL Server\80\Tools\Binn\sqlvdi.dll".在【运行】中输入regsvr32 "C:\Program Files\Microsoft SQL Server\80\Tools\Binn\sqlvdi.dll",单击【确定】按钮. 2. 数据库处于简单恢复模型时,备份事务日志出错. 错误描述爱数软件备份SQL Server 数据库,备份类型为"事务日志"时,出现"当恢复模型为SIMPLE 时,不允许使用BACKUP LOG 语句"错误. 解决方法设置数据库的恢复模型为完全恢复模型. 3. SQL Server 无法初始化com 组件. 错误描述: 通常,如果sqlvdi.dll 组件没有注册,可能会出现"无法初始化com 组件"错误. 解决方法: 手动注册sqlvdi.dll 组件,具体方法请参考常见问题 2. 4. 尚未备份数据库XXX 的尾日志. 错误描述如果您使用的SQL Server 数据库版本为SQL Server 2005 或以上版本, 当数据库处于完全恢复模型时, 可能会出现"警告:执行SQL 语句发生错误: [Microsoft][ODBC SQL Server Driver][SQL Server]尚未备份数据库"XXX"的日志尾部.如果该日志包含您不希望丢失的工作,请使用BACKUP LOG WITH NORECOVERY 备份该日志.请使用RESTORE 语句的WITH REPLACE 或WITH STOPAT 子句来只覆盖该日志的内容." 的警告信息. 这是因为在SQL Server 2005 中引入了"尾日志"的概念,数据库为了保证不会因为误操作而丢失数据, 在执行恢复操作时会检测是否所有的日志都被备份了. 如果一部分日志没有备份,它将给出如上警告信息. 解决方法
16
产品最佳实践之—产品最佳实践之——SQL Server
1.
如果数据库的数据文件和日志文件分别放在不同的磁盘上, 当数据文件所在磁盘损坏时,日志文件仍然可用,那么可以先备份日志,然后再选择此时间点进行恢复, 恢复时勾选"强制还原数据库"选项.
2.
如果是用户误删除了数据, 或者数据文件和日志文件都损坏, 那么直接选择之前备份的时间点进行恢复,恢复时勾选"强制还原数据库"选项.
5. 恢复存在全文索引的数据库. 错误描述对于一个建有全文索引的数据库, 从备份集中恢复时可能会出错, 具体的错误信息如下: "警告, 原因是执行SQL 语句发生错误: [Microsoft][ODBC SQL Server Driver][SQL Server]The file 'C:\Program Files\Microsoft SQL Server \MSSQL.1\MSSQL\FTDat a\cata_1' cannot be overwritten. It is being used by database 'db_old'". 全文目录和索引不存储在它们所属的数据库中.目录和索引由Microsoft 搜索服务分开管理.不同数据库的全文目录是默认都存储在相同的文件目录(C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\FTData)下,由于恢复时需要建立db_new 的全文目录,且其默认的全文目录名也为cata_1,但是由于一个目录不能属于多个数据库,所以就发生了重写错误. 解决方法在恢复之前,请先手动建立一个数据库db_new,并且在数据库db_new 中建立db_old 的备份集中存在所有全文目录.如果db_old 的备份集中存在多个全文目录,请在数据库db_new 都建立. 在爱数软件下恢复数据库db_old 的备份集到新的数据库名
db_new,也可以指定新的数据库存储的路径. 6. SQL Server 2005 RTM 版本的安装错误. 当使用爱数软件SQL Server 的64 位客户端时,可能会出现无法记载动态库SQLDMO.DLL 错误,如果您的64 位的SQL Server 为SQL Server 2005 RTM 版本, 则可能会出现此错误. 这是SQL Server 2005 安装程序存在的一个问题, 解决的方法是将您的SQL Server 升级到SP3.
17
本文来自sql数据库修复大师/soft/57122.html。

相关文档
最新文档