有时候为了考虑数据安全我们都会备份数据库 sqlserver的备份格式一般都是bak结尾的 但覆盖时容易出问题 这里简单介绍下 需要的朋友可以参考下 有时候完全备份 当还原的时候说不时数据库文件不让还原 解决办法: 可以直接复制数据库文件 xxx mdf 和 xxx ldf (实际复制过程中需要先停止sqlserver服务才可以) 用 sp_attach_db 存储过程 就能搞定 示例 下面的示例将 pubs 中的两个文件附加到当前服务器 EXEC sp_attach_db @dbname = N pubs @filename = N c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs mdf @filename = N c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs_log ldf N 表示Unicode的含义 就象类型中有varchar和nvarchar一样 一个Unicode字符占两个字节 使用N 的情况主要是在双字节系统环 境中强制系统对每个字符用Unicode标准来解释 否则如果你的数据库 mdf文件是中文名而又不加N 的话 数据库加载后名称可能就变成乱码 因为系 统按单字节处理字符造成! 如果确认是SQL SERVER无法启动 请按照下面步骤操作: 重装SQL SERVER(注意要保留原来数据库的数据库文件 日志文件可不要) 在SQL Analysis中用sp_attach_db将数据库加到服务器 sp_attach_db用法: sp_attach_db 将数据库附加到服务器 语法 sp_attach_db [ @dbname = ] dbname [ @filename = ] filename_n [ ] 参数 [@dbname =] dbname 要附加到服务器的数据库的名称 该名称必须是唯一的 dbname 的数据类型为 sysname 默认值为 NULL [@filename =] filename_n 数 据库文件的物理名称 包括路径 filename_n 的数据类型为 nvarchar( ) 默认值为 NULL 最多可以指定 个文件名 参数名称以 @filename 开始 递增到 @filename 文件名列表至少必须包括主文件 主文件包含指向数据库中其它文件的系统表 该列表还必须包括数据库分离后所有被移动的文件 返回代码值 (成功)或 (失败) 结果集 无 注释 只应对以前使用显式 sp_detach_db 操作从数据库服务器分离的数据库执行 sp_attach_db 如果必须指定多于 个文件 请使用带有 FOR ATTACH 子句的 CREATE DATABASE 如果将数据库附加到的服务器不是该数据库从中分离的服务器 并且启用了分离的数据库以进行复制 则应该运行 sp_removedbreplication 从数据库删除复制 权限 只有 sysadmin 和 dbcreator 固定服务器角色的成员才能执行本过程 lishixinzhi/Article/program/MySQL/201311/29555
问题1:在没有备份的情况下,卸载了软件,但是账套数据文件存在,如何恢复数据?
引子:通常情况下,应该提醒用户经常在系统管理中进行账套备份。如果在没有备份的情况下,卸载了软件(或重装了系统),这时软件是安装在其他盘上,比如D盘。
若这两个文件存在的话,可以通过以下方法把数据恢复。
解决方法:
(1)、把zt991文件夹备份好,卸载干净后,重新安装软件;
(2)、在“系统管理”创建991账套,启用年份及行业性质都与原账套相同。如果原来账套是多个年度的,则一定要建立年度账(比如001账套是2006年启用的,则要新建一个001账套,启用年份是2006年,并且要建立2007年和2008年的年度账)。这样在软件安装目录下会形成一个文件夹zt991。
(3)、将sqlserver服务关闭(可在任务栏中使用“sqlserver服务管理器”进行服务停止,或在控制面板--管理工具--服务中将mssqlserver服务停用)
(4)、将已经备份出去的zt991文件夹覆盖新的zt991文件夹。
(5)、重新启动sqlserver服务和U6的服务,然后登录U6应用程序,即可看到原账套中的信息,确认信息无误后,及时进行数据备份。
问题2:在系统管理中进行了账套备份,但是恢复账套的时候,提示“备份信息文件无效,恢复失败”。
引子:在系统管理中进行账套备份,形成两个文件:uferpactlst(通uf2kactlst)和ufdataba_。所以当出现这个提示的时候,先对这两个文件进行操作。首先检查ufdataba_是否可以解压缩,如果解压缩失败,说明物理文件破坏,这时备份文件无效了(这时就要考虑用问题1中的方法来解决了)。如果解压缩成功,可以用以下两个方法来操作。
解决方法一:还原数据
(1)、用产品自带的解压工具把ufdataba_文件解压。解压工具D:\U6SOFT\Admin\ ufuncompexe。双击这个文件,选择源文件,录入解压文件,把ufdataba_解压成ufdatabak,点击“解压缩”按钮。
(2)、在系统管理中新建一个账套,假定账套号是001。
(3)、在sql server 的企业管理器中,逐层展开树形结构,鼠标右键点击“数据库”,选择“所有任务”—“还原数据库”
(4)、进入“还原数据库”界面,从下拉列表中选择“还原为数据库ufdata_001_2008,“从设备”还原,然后点击“选择设备”。
(5)、进入“选择还原设备”,点击“添加”按钮,进入“选择还原目的”界面,点击“文件名”后的浏览按钮,选择ufdatabak文件所在的路径。然后点击“确定”按钮。
(6)、再点击“确定”按钮,又一次进入“还原数据库”界面,在“选项”页签下,选择“在现有数据库上强制还原”。
一定要注意逻辑文件名对应的“移至物理文件名”对应的路径是否正确。点击“确定”就可以了。
注:这样方法也适用于只有ufdataba_文件的情况下恢复数据,以及只对年度账数据进行恢复的情况。
解决方法二:把现有运行正常的账套进行备份,然后用记事本的方式打开uferpactlst文件,同时也打开恢复失败的账套的uferpactlst文件,参照自己备份出来的账套的uferpactlst文件,修改恢复失败的账套的uferpactlst文件,除了保留账套号外,其余不一致的地方都要修改。
bitsCNcom
如何备份、还原MSSQL数据库(新手详细教程)
一、备份数据库 1、企业管理器 2、SQL语句(完全备份):backup database 数据库 to disk='c:/您的备份文件名'
二、还原数据库 1、企业管理器 2、SQL语句:restore database 数据库 from disk='c:/您的备份文件名'
以下为具体的操作步骤:
一、备份数据库
1、打开SQL企业管理器,在控制台根目录中依次点开Microsoft SQL Server;
2、SQL Server组-->双击打开您的服务器-->双击打开数据库目录;
3、选择您的数据库名称(如论坛数据库Forum)-->然后点上面菜单中的工具-->选择备份数据库;
4、备份选项选择完全备份,目的中的备份到如果原来有路径和名称则选中名称点删除,然后点添加,如果原来没有路径和名称则直接选择添加,接着指定路径和文件名,指定后点确定返回备份窗口,接着点确定进行备份。
二、还原数据库
1、打开SQL企业管理器,在控制台根目录中依次点开Microsoft SQL Server;
2、SQL Server组-->双击打开您的服务器-->点图标栏的新建数据库图标,新建数据库的名字自行取;
3、点击新建好的数据库名称(如论坛数据库Forum)-->然后点上面菜单中的工具-->选择恢复数据库;
4、在弹出来的窗口中的还原选项中选择从设备-->点选择设备-->点添加-->然后选择您的备份文件名-->添加后点确定返回,这时候设备栏应该出现您刚才选择的数据库备份文件名,备份号默认为1(如果您对同一个文件做过多次备份,可以点击备份号旁边的查看内容,在复选框中选择最新的一次备份后点确定)-->然后点击上方常规旁边的选项按钮;
5、在出现的窗口中选择在现有数据库上强制还原,以及在恢复完成状态中选择使数据库可以继续运行但无法还原其它事务日志的选项。在窗口的中间部位的将数据库文件还原为这里要按照您SQL的安装进行设置(也可以指定自己的目录),逻辑文件名不需要改动,移至物理文件名要根据您所恢复的机器情况做改动,如您的SQL数据库装在D:/Program Files/Microsoft SQL Server/MSSQL/Data,那么就按照您恢复机器的目录进行相关改动改动,并且最后的文件名最好改成您当前的数据库名(如原来是bbs_datamdf,现在的数据库是forum,就改成forum_datamdf),日志和数据文件都要按照这样的方式做相关的改动(日志的文件名是_logldf结尾的),这里的恢复目录您可以自由设置,前提是该目录必须存在(如您可以指定d:/sqldata/bbs_datamdf或者d:/sqldata/bbs_logldf),否则恢复将报错;
6、修改完成后,点击下面的确定进行恢复,这时会出现一个进度条,提示恢复的进度,恢复完成后系统会自动提示成功,如中间提示报错,请记录下相关的错误内容并询问对SQL操作比较熟悉的人员,一般的错误无非是目录错误或者文件名重复或者文件名错误或者空间不够或者数据库正在使用中的错误,数据库正在使用的错误您可以尝试关闭所有关于SQL窗口然后重新打开进行恢复操作,如果还提示正在使用的错误可以将SQL服务停止然后重起看看,至于上述其它的错误一般都能按照错误内容做相应改动后即可恢复。
三、设定每日自动备份数据库
1、打开企业管理器,在控制台根目录中依次点开Microsoft SQL Server-->SQL Server组-->双击打开您的服务器;
2、然后点上面菜单中的工具-->选择数据库维护计划器;
3、下一步选择要进行自动备份的数据-->下一步更新数据优化信息,这里一般不用做选择-->下一步检查数据完整性,也一般不选择;
4、下一步指定数据库维护计划,默认的是1周备份一次,点击更改选择每天备份后点确定;
5、下一步指定备份的磁盘目录,选择指定目录,如您可以在D盘新建一个目录如:d:/databak,然后在这里选择使用此目录,如果您的数据库比较多最好选择为每个数据库建立子目录,然后选择删除早于多少天前的备份,一般设定4-7天,这看您的具体备份要求,备份文件扩展名一般都是bak就用默认的;
6、下一步指定事务日志备份计划,看您的需要做选择-->下一步要生成的报表,一般不做选择-->下一步维护计划历史记录,最好用默认的选项-->下一步完成;
7、完成后系统很可能会提示Sql Server Agent服务未启动,先点确定完成计划设定,然后找到桌面最右边状态栏中的SQL绿色图标,双击点开,在服务中选择Sql Server Agent,然后点击运行箭头,选上下方的当启动OS时自动启动服务;
8、这个时候数据库计划已经成功地运行了,它将按照您上面的设置进行自动备份。
作者“wwwqqcom65127378ol”
bitsCNcom
SQL2000数据库的备份概念
SQL
SERVER
2000有四种类型是:数据库、事务日志、差异、文件和文件组
数据库备份是创建完事数据库的复本。它并非将所有的页都复制到备份集,而只将实际包含数据的页复制到备份集。数据页和事务日志页均复制到备份集。
数据库备份用于重新创建数据库,使其恢复到BACKUP语句完成时的状态。如果数据库只存在数据库备份,那么数据库只能恢复到服务器或数据库发生故障前最后一次数据库备份时的状态。
事务日志备份仅制作日志文件的复本。日志文件备份本身不能用于还原数据库。日志文件用于在数据库还原后将数据库恢复到原始故障点。
例如,某站点在星期天晚上执行数据库备份,而在其它每个晚上执行日志备份。如果数据库的某个数据磁盘在星期二2:30丢失,则该站点可以:
1备份当前事务日志
2还原从星期天晚上开始的数据库备份
3还原从星期一晚上开始的日志备份,以将数据库前滚。
4还原故障之后的日志备份。这将使数据库前滚到故障发生的那一刻。
事务日志恢复需要从数据库备份的那一刻到磁盘丢失那一刻之间所进行的一边串不间断的事务日志备份。
差异备份只追寻数据库中自上一次数据库备份之后修改过的所有页的复本。差异日志主要用于使用频繁的系统,一旦这类系统中的数据库发生故障,必须尽快使其重新联机。差异备份比完事数据库备份小,因此对正在运行的系统影响较小。
例如,某个站点在星期天晚上执行完事数据库备份。在白天每隔4小时制作一个事务日志备份集,并用当天的备份重写头一天的备份。每晚则进行差异备份。如果数据库的某个数据磁盘在星期四上午9:12出现故障,则该站点可以:
1备份当前事务日志。
2还原从星期天晚上开始的数据库备份。
3还原从星期三晚上开始的差异备份,将数据库前滚到这一时刻。
4还原从早上4点到8点的事务日志备份,以将数据库前滚到早上8点。
5还原故障之后的日志备份,这将使数据库前滚到故障发生的那一刻。
SQL2000支持备份或还原数据库中的个别文件或文件组。这是一种相对较完善的备份和还原过程,通常用在具有较高可用性要求的超大型数据库中。如果可用的备份时间不足以支持完事数据库备份,则可以在不同的时间备份数据库的子集。
例如,某站点需要花三小时备份数据库,并且每天只能用两个小时执行备份。该站点可在一个晚上备份一半文件或文件级,并在第二个晚上备份另一半。如果包含数据库文件或文件组的磁盘出现故障,那么该站点可以只还原丢失的文件或文件组。
该站点还必须进行事务日志备份,并且在备份文件或文件组之后必须还原所胡事务日志备份。还可以从完事数据库备份集中还原文件和文件组。这将回忆恢复速度,因为在第一步只还原已损坏的文件或文件组,而不是整个数据库。
一、通过企业管理器进行单个数据库备份。打开SQL SERVER 企业管理器,展开SQL SERVER组LOCAL下的数据库,右键点击你要备份的数据库,在弹出的菜单中选择所有任务下的备份数据库,弹出备份数据库对话框:
点击添加按钮,填写备份文件的路径和文件名,点击确定添加备份文件,点击备份对话框上的备份,开始进行备份。
二、通过企业管理器多数据定时库备份。打开SQL SERVER 企业管理器,展开SQL SERVER组下的管理节点,右键单击数据库维护计划,选择新建维护计划。在弹出的欢迎对话框中选择下一步,然后显示如下对话框:
选择你想要备份的数据库,下一步。在接下来的一步中,我们默认所有选项,下一步。在当前对话框中可以选择是否检查数据库的完整性,这里我们默认就可以进行下一步就行了。对话框入图所示:
选中作为维护计划的一部分来备份数据库,点击更改按钮修改备份数据库的时间,单击下一步,入下图:
在这里,我们可以选择“使用此目录”为备份指定路径,选中“删除早于此时间的文件”可以指定备份文件的保留时间。
下面的几个步骤我们都选择默认设置,最后在完成对话框里为备份起一个名字,点击完成后,数据库会在你指定的时间进行备份。关于数据库维护计划的更多知识请查看其它相关资料。
三、备份数据库文件。打开SQL SERVER 企业管理器,展开SQL SERVER组LOCAL下的数据库,右键点击你要备份的数据库,选择属性。在弹出的对话框中选择数据文件,在这里显示了数据文件的路径,如下图:
打开SQL SERVER 服务管理器,将SQL SERVER 停止。然后打开我的电脑,找到数据文件路径,将其拷贝出来进行备份(注意同时备份LDF文件)。
最后开启SQL SERVER服务
四、回复数据库备份文件(适用于用企业管理器备份的数据库)。打开SQL SERVER 企业管理器,展开SQL SERVER组LOCAL下的数据库,右键点击你要还原的数据库,选择所有任务下的还原数据库,弹出如下对话框:
选择从设备,点击选择设备,为还原添加备份文件路径,然后进行确定还原。
五、还原数据库备份文件。在企业管理器中对数据库节点右键单击,选择所有任务下的附加数据库,弹出附加数据库对话框。如下图:
选择一个你之前拷贝的数据文件,然后点击确定即可附加成功(注:如果数据库已经存在,请删除数据库后在对其进行附加)。
您可能感兴趣的文章:sqlserver备份还原数据库功能封装分享SQLSERVER数据库备份后无法还原的解决办法简化SQL Server备份与还原到云工作原理及操作方法MySQL数据库备份和还原的常用命令小结解决SQL2005备份数据库dat或bak还原时的结构错误的解决方法sql server 2005数据库备份还原图文教程
欢迎分享,转载请注明来源:品搜搜测评网