找回密码
 注册账号

QQ登录

只需一步,快速开始

手机号码,快捷登录

手机号码,快捷登录

初学者课程:T3自学|T6自学|U8自学软件下载课件下载工具下载资料:通资料|U8资料|NC|培训|年结积分规则 | 使用常见问题Q&A
知识库:U8 | | NC | U9 | OA | 政务U8|U9|NCC|NC65|NC65客开|NCC客开新手必读 | 任务 | 快速增金币用友QQ群[微信群]
查看: 10023|回复: 17

[资料] 用友软件 SQL Server 备份及恢复的几种方法

  [复制链接]
  • 打卡等级:初来乍到
  • 打卡总天数:12
  • 打卡月天数:5
  • 打卡总奖励:26
  • 最近打卡:2024-11-21 09:02:53
发表于 2009-8-11 09:00:20 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册账号

×
SQL Server 备份及恢复的几种方法
随着SQL Server 版软件越来越多,与此相关的数据备份与恢复的问题也越来越多,我们在解决问题的过程中总结了一些经验如下:  一、备份各种形式 ①从系统管理里作备份,包括帐套的备份和年度帐的备份,这种份的优点是简单,易操作,压缩性好,占用硬盘空间小,但速度慢,并且如果是软件出现故障的情况下,可能无法进入系统管理.②从Enterprise Manager里做数据库的备份.每个数据库都有一个单独的备份.这种备份的优点是备份速度快,如果对SQL Server有一定了解的话,也是很简单的.③如果SQL Server无法启动的话,上述两种方法都是无效的,只能采用复制物理文件的方法,把用户帐套的ufdata.mdf ufdata.ldf 和ufsystem.mdf 和ufsystem.ldf      二、恢复数据的方法①如果有帐套的备份的话,直接使用系统管理里的帐套引入功能就可以了。在这种情况下,一些操作员的权限信息可以丢失,可以重新赋予权限,也可心恢复原来的ufsystem系统控制库②如果是年度帐的备份,并且软件中还有这个帐套和年度的话,可以用帐套主管注册,然后从年度帐菜单下引入;如果是没有这个帐套存在,就要在系统管理中新建一套帐,建帐时只要注意启用日期、行业性质、帐套主管即可,其他均可忽略,然后把备份中的ufdata.ba_ 用APP目录下的ufuncomp.exe 将它解压缩为ufdata.bak 再将此文件在enterprise manager 里restore 即可③通过Enterprise Manager 做的单个数据库的备份的和年度帐的备份可以通过 restore database 功能来操作,具体过程为 右键该数据库—所有任务—还原数据库—从设备—选择设备—磁盘—添加—浏览该文件—确定,在选项标签里把‘强制还原’选上,移至的物理文件名为 该帐套的目录和文件名。然后就可以正常恢复了。④如果是从其他数据库的备份信息里恢复的话,就可以选择还原自数据库,然后在参数处查找该数据库和数据库的备份信息。在选项标签里把‘强制还原’选上,移至的物理文件名为该帐套的目录和文件名。然后就可以正常恢复了。⑤如果是帐套的备份,而该帐套又包含很多个年度,可以先将该文件解压缩,然后通过方法③所述找到该备份文件(备份设备),查看该设备的内容,选择要恢复数据库对应的备份号(每个年度一个号),在选项标签里选强制恢复,配置正确的物理文件位置⑥如果只有ufdata.mdf(数据库文件),ufdata.ldf(日志文件)可以运用系统数据库(master)里的系统存储过程 sp_attach_db 来恢复,具体操作过程:在Query Analyzer 或者 Dos 里的osql 命令来实现,exec sp_attach_db '数据库名','参数1(第一个物理文件的目录及文件名)','参数1(第二个物理文件的目录及文件名)' 如 exec sp_attach_db 'ufsystem','D:\wf821\admin\ufsystem.ldf','D:\wf821\admin\ufsystem.mdf'注:如果是该数据库为灰色,则需要先断开该物理文件与数据库的连接, 使用sp_detach_db 语法: exec sp_detach_db '数据库名'⑦如果是只有mdf 文件(数据库文件),则需要另外一个系统存储过程sp_attach_single_file_db 具体语法为 exec ap_attach_single_file_db 'ufsystem','D:\wf821\admin\ufsystem.mdf'⑧stop SQL Server service ,replace physname by new files and start SQL server service. 其实这一种方法也可以应用于当数据库出现损坏的情况,利用SQL Server 在启动时主动检测数据库是否完好的功能。    天津用友 Kernel  不论是在编制维护工具时还是一般的调用户数据,如果能很熟练的利用SQL语句,肯定能提高效率,也减轻工作量。现在我把SQL语句的用法总结如下,供大家参考:  SQL语句由命令、子句、运行符和合计函数构成,这些元素构成的语句可以用来进行创建、更新、查找、删除、排序等数据库的操作。  1、命令 命令 描述 CREATE 创建新的表、字段和索引。 DROP 删除数据库中的表和索引。 ALTER 通过添加字段或改变字段定义修改表。 SELECT 在数据库中查找满足特定条件的记录。 INSERT 在数据库中用单一的操作加载一批数据。 UPDATA 改变特定字段和记录的值。 DELETE 从数据库表中删除记录。  2、子句 子句 描述 FROM 为从其中选定记录的表命名。 WHERE 指定所选记录必须满足的条件。 GROUP BY 把选定的记录分成特定的组。 HAVING 说明每个组需要满足的条件。 ORDER BY 按特定的次序将记录排序。  3、运算符预算符就不多说了,和计算机语言规定的一样。 例子:一个标准的查询 SELECT * FROM WA_formula IN UFDATA [ WHERE 查询条件 GROUP BY 字段列表] 选择所有字段从WA_formula表在UFDATA库中[当满足查询条件时并把记录分成一个特定的组] 例子:删除表中符合条件的记录 DELETE * FROM WA_formula WHERE cgzgradenum ="998" 删除WA_formula表中所有符合cgzgradenum字段的数据是998的记录。 例子:记录的排序 SELECT dblValue FROM fa_Cards ORDER BY dblValue ASC [ DESC ] 使fa_Cards表的dblValue(原值)字段按升序排列。(ASC,和DESC是关键字表示升序和降序)  数据库控件简介数据控件提供了访问数据库中数据的方法,可以移动到数据库中任意一条记录,和其他控件配合使用可以显示数据库中记录。他的强大功能可以使我们不编一行代码便可完成对数据库的大部分操作。熟练掌握DATA控件对编写维护工具无疑是很必要的,现在我们看看数据控件的常用属性。  Connect属性:设置或返回数据库类型,VB可以处理的数据库类型很多,比较常用的有Access;dBase;Foxpro等。如下面的语句可以访问Access类型的数据库。Data1.Connect = "Access"  DataBaseName属性:设置或返回被访问数据库的名称和路径。例如: Data1.DataBaseName = "ufdata.mdb" 或 Data1.DataBaseName = Text1.Text Text1.Text是用户在界面中的文本框输入的数据库路径和名称。 RecordSource属性:设置和返回数据库中表的名称。例如: Data1.RecordSource = "WA_formula" 如何把记录显示在窗体要使数据库中表的记录显示在界面上需要用到数据库约束控件(实际上就是文本框、标签等常用控件这些对象在数据库术语中被称为约束控件),使用约束控件的前提是在窗体中需先添加数据控件。建立约束控件和数据控件之间的关联便会显示出记录内容,如果数据控件移动到另一条记录约束控件则相应改变。  常用的属性有: DataSource属性:用来设置和文本等控件发生关联的数据控件。例如: Text1.DataSource = "Data1" 设置了文本控件向关联的数据控件为Data1。 DataField属性:返回或设置当前记录当前字段的名称,在属性窗口中可以选择要显示的字段。例如: Text1.DataField = "cGZItemFormula" 在文本框中显示工资公式表中工资表达式字段的当前记录。===============-=-=-=-========================================  由于U8采用的是SQL SERVER数据库导致了数据量的大幅度增加,备份就显的更加重要,一般单位帐套少通过输出备份就可以解决问题,可大型用户例如会计核算中心、大型工矿企业他们的帐套多,大多在60-100左右数据都在3G、4G甚至10G以上,这样一来输出备份的劣势就显现出来了。我在实践中发现了一种针对这样的用户比较简便的备份方法,即数据库备份。条件:1、必须有两台高性能的服务器,一台做主服务器,一台做备份服务器,或是          一台高性能的服务器,一台高性能的PC机       2、操作系统必须同为NT或2000,且NT安装路径,用友的数据路径必须一致       3、备份服务器的D或E 盘空间应在10G以上操作:每天或3-4天左右,将主服务器的SQL服务停止,把UFADMSQL文件夹和ZT帐套文件夹通过网络直接拷贝至备份服务器的相同路径的相同文件夹下即可。恢复时如果主服务器正常则只须将备份服务器上备份的数据回拷即可,如主服务器崩溃则只须在备份服务器上执行UFATTACH命令即可将备份的数据恢复至备份服务器上,马上备份服务器就可工作。优点:省事省力,以某会计核算中心为例,115套帐输出备份大约需要5小时,其间可能会出错,数据库备份只须1-2小时(100M网速),还不会出错,恢复起来也比输出备份简单。缺点:备份服务器所需的硬盘空间要求比较大;要求备份操作人员有一定的用友软件的使用基础和数据库知识。  需要注意的是:  1、此项工作比较适合网络版用户,在服务器上进行。 2、单机版用户,要先在system下先建一个ufadmsql文件夹,再把UFSYSTEM.LDF、UFSYSTEM.MDF、UFSUB.LDF、UFSUB.MDF拷到此文件夹内再执行UFATTACH命令 3、恢复时要先在备份服务器上运行系统管理再执行UFATTACH命令 4、关于备份的时间,可以天天做也可以隔几天做一次 5、两台服务器名、IP地址不必相同。平时可以同时开的。 6、我只进行了NT环境的测试,2000环境没有试过 7、备份服务器上不需要象8.X一样先建帐有帐套信息后再引入备份,直接运行UFATTACH命令即可
发表于 2009-8-11 09:37:00 | 显示全部楼层
不错
很详细
学习了
你的帖子挺好的
发表于 2009-9-5 20:35:56 | 显示全部楼层
收藏了,慢慢看。
发表于 2009-9-6 08:17:44 | 显示全部楼层
我是用备份软件把所有的数据库都备份下来了这样行吗?,一个星期备份一次。
但我感觉太浪费空间了,有没有差异备份的呢?
发表于 2009-9-12 08:23:39 | 显示全部楼层
学习了,不过,SQL不是有个维护计划吗,可以自动备份
发表于 2009-9-12 08:33:03 | 显示全部楼层
学习了~虽然有些深奥
但是很详细
可以研究下
发表于 2009-9-12 17:33:27 | 显示全部楼层
顶一下\!!!!!!
发表于 2009-9-18 17:06:32 | 显示全部楼层
收藏了,慢慢看了
发表于 2009-9-25 13:16:50 | 显示全部楼层
讲的好详细 眼睛都看花了
发表于 2009-9-26 11:08:49 | 显示全部楼层
好东西啊!
发表于 2009-9-26 16:54:17 | 显示全部楼层
复制。。。。。。。先
发表于 2009-10-19 15:07:44 | 显示全部楼层
详细是挺详细的,这也太烦琐
发表于 2009-10-21 12:01:42 | 显示全部楼层
密密麻麻的,这都是些什么呀?
发表于 2009-10-23 09:46:25 | 显示全部楼层
这样不错,同行就应该这样呀,大家共同分享~~谢谢!!
发表于 2009-10-23 16:10:39 | 显示全部楼层
相当的详细哦、辛苦辛苦了
您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

QQ|站长微信|Archiver|手机版|小黑屋|用友之家 ( 蜀ICP备07505338号|51072502110008 )

GMT+8, 2024-11-25 10:37 , Processed in 0.098440 second(s), 10 queries , Gzip On, Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表