基于SQL Server的用友U8数据库备份规划与实施
2022-03-11王文峰
摘要:用友软件公司研发的U8软件基于SQL Server数据库平台构建,在国内中小型企业管理中有着广泛的应用。由于服务器硬件故障、计算机病毒攻击破坏、人为误操作等诸多因素,U8信息系统与数据库面临着各种风险隐患。针对U8账套和数据库规划设计安全可靠的备份系统与实施应急预案,可以切实提高U8系统的安全性与可靠性。
关键词:用友;U8;SQL Server;账套;备份
中图分类号:TP311 文献标识码:A
文章编号:1009-3044(2022)01-0018-02
1 前言
用友软件公司研发的U8软件遵循最佳业务实践的行业核心理念,包含供应链管理、财务管理、人力资源管理等多个集成化模块,在企业管理中有着广泛的应用[1-3]。U8系统从逻辑上分为数据库服务器、应用服务器和客户端三层体系架构,对于部署U8系统的企业,其经营业务的正常开展高度依靠于这套成熟的信息系统,同时对SQL Server数据库稳定运行与安全性提出了很高要求。
2 SQL Server数据库面临的安全风险
中小企业构建用友U8系统采用了物理服务器直接安装操作系统部署、基于虚拟化架构部署和云端部署等多种方式,一般采用服务器、多客户端的C/S组网模式。SQL Server数据库连续稳定运行是ERP系统安全管理的基础[4-5]。由于硬件故障、勒索病毒加密破壞、黑客攻击、软件崩溃等多种因素,容易引起U8系统瘫痪和数据库丢失的风险隐患,严重时会造成企业经营业务的全面中断,后果十分严重。并且硬件维修、零配件更换、系统重新构建以及加强网络安全措施可能要花费数个工作日以上,对企业正常生产和经营来说是不能容忍的。根据国家信息系统安全等级保护的定义,U8系统包含着企业生产和经营的重要数据,可以定义为二级或二级以上的重要信息系统。为了积极贯彻落实信息系统安全等级保护工作,规划和实施安全可靠的数据库备份解决方案,采取切实有效的技术措施提高U8系统安全性。
3 用友U8数据库备份规划与实施
3.1 U8账套级的备份
账套级备份其实质就是SQL Server数据库备份,采取一定的策略,定时将用友的账套信息备份导出,提高业务数据的安全性。U8的系统管理工具能够自动对账套进行本机备份,减轻管理员的网络维护工作量。以账套主管身份注册,进入系统管理模块,在系统管理中设置备份作业计划,包括账套备份和年度账备份,其优点是操作简单,数据压缩性好,占用硬盘的存储空间小。备份方式是在U8服务器上自动执行账套备份和年度账套备份。账套备份主要针对业务账套的全部年度的数据库进行备份,包含了使用U8软件以来历年数据。备份频率可以设置为每月两至三次。年度账套备份主要针对业务账套的年度数据库进行备份,备份频率为每天的24点自动执行一次,有效触发时间设为2小时。年度账备份与账套备份相比,其优点是能够针对各个账套的某个年度数据进行备份,因此数据备份量小,备份速度快,执行效率高。
3.2 SQL Server数据库自动执行完全备份与差异备份
U8账套级备份适用于在无业务操作、无数据更新的时间段进行备份,其缺点是无法进行差异备份和异机备份。可以在SQL Server中编写脚本做进一步修改完善。在SQL Server数据库完整备份的基础上增加备份频率。根据企业的实际情况采取灵活的备份策略,包括:在每个工作日23点一次执行数据库完全备份,早上8点至下午5点的工作时间段每隔一小时自动执行一次差异备份。作为数据库完整备份的补充,差异备份只备份上次完整备份后更新的数据,因此数据备份量较小且备份速度快,可以提高差异备份的频率以减少最新业务数据丢失的风险。上述操作通过T-SQL编执行程并在SQL代理作业中调用,实现无人工干预的全自动执行。对于业务数据更新频率特别高的企业,可以使用完全恢复模型或大容量日志记录恢复模型,在完整备份与差异备份的基础上增加SQL事务日志备份,以便在应急恢复中精确恢复到某个具体的时间点。
针对ufdata_001_2021数据库执行完全备份和差异备份的参考T-SQL源代码如下:
**工作日23点执行一次完全备份。
use master
exec master..xp_cmdshell 'net use \\192.168.0.196\backup backupuser /user:backupserver\backupuser'
declare @sql varchar(50)
select @sql='\\192.168.0.196\backup\ ufdata_001_2021'+convert(varchar(10),getdate(),112)+'.bak'
backup database ufdata_001_2021 to disk=@sql
go
**工作日8:00-20:00每1小时执行一次差异备份。
use master
exec master..xp_cmdshell 'net use \\192.168.0.196\backup backupuser /user:backupserver\backupuser'
declare @sql varchar(50)
select @sql='\\192.168.0.196\backup\ ufdata_001_2021'+convert(varchar(10),getdate(),112)+'.bak'
backup database ufdata_001_2021 to disk=@sql with differential
go
**自动判断并删除10天前的历史备份文件,减少备份文件的存储容量。
use master
exec master..xp_cmdshell 'net use \\192.168.0.196\backup backupuser /user:backupserver\backupuser'
declare @sql varchar(50)
select @sql='del '+'\\192.168.0.196\backup\ ufdata_001_2021'+convert(varchar(10),dateadd(day,-10,getdate()),112)+'.bak'
go
3.3 备份数据网络自动转储与百度云盘备份
SQL Server数据库存储有账套信息和经营业务数据,由于ERP系统、账套数据、备份数据均保存在服务器物理硬盘上,一旦RAID阵列卡故障或硬盘损坏,数据库破坏的同时备份数据也面临丢失的风险。因此要对U8系统账套备份文件与SQL Server备份文件设置网络自动转储,进一步提高安全性和可靠性。对U8服务器生成重要的账套备份与年度账套备份、库备份文件,自动网络拷贝并转储到其他虚拟机上,一是可以提高数据存储的安全性,二是便于应急恢复系统数据库。网络管理员人工拷贝文件效率低适合临时维护管理时备份,可以借助第三方备份软件实现全自动网络转储。Second Copy是一款强大的文件备份同步软件,可以利用该软件将重要文件自动备份到局域网中的其他计算机或网络存储器。在备份服务器设置一个共享文件夹backup,Second Copy在U8服务器上映射该共享文件夹为Z盘。Second Copy实现文件的自动复制和备份。配置步骤包括:选择需要备份的数据源,选择该目录下需要备份的文件或者文件夹,接下来设置需要备份到的位置,设置文件的备份频率,例如每2小时进行一次备份设置。选择备份的方式,选择拷贝文件并删除旧文件,也可以根据需要设置简单拷贝、移动文件、复制文件为压缩包等方式。可以保留相关的删除旧文件的版本,根据需要设定保留版本的数量和保留版本的位置。
实现备份数据的异地存储也是提高安全性的有效措施之一,可以使用百度网盘存储管理备份文件并自动保存到“云端”。具体配置方式是安装百度网盘客户端软件,注册并开通超级会员权限,点击客户端软件界面上的“功能宝箱”选项,点击“自动备份”选项,“手动添加文件夹”。备份的文件夹就是重要的数据库备份文件所在的文件夹,在确保网络畅通和备份数据正常执行的情况下,可以自动备份到云端存储器。在极端情况下,即使本地服务器数据全部丢失,利用云端的备份文件仍可以全部恢复业务系统,数据安全性得到很好的保障。
3.4 利用VeeamBackup & Replication备份工具自动对SQL Server数据库备份
在VMware ESXi虚拟化架构部署的U8平台,除了利用Veeam Backup & Replication备份整个业务虚拟机,还可以实现SQL Server数据库的备份与表格级的恢复。SQL Server的应用级备份与恢复,其优势在于无须还原整个虚拟机,直接从备份或复制副本中浏览和还原备份数据。应用备份任务的创建过程和一般备份任务类似,在Guest Processing 选项中开启应用跟踪选项并根据需求配置。以 SQL 数据库应用备份为例:选择Enable application-aware processing 选项,选中备份的虚拟机,点击edit后选择 SQL 选项卡,配置日志的备份周期,默认为 15 分钟或者按实际需求进行修改,此选项勾选后可以对 SQL 数据库进行实时的 log 日志追踪,并以 VIB 文件保存 log日志,在恢复时利用log日志增量备份做到应用级别的备份还原。如图1:SQL Server备份设置。
4 SQL Server数据库的应急恢复操作
在实际应用中,一旦发生服务器崩溃需要系统切换时,如果有最新的账套备份,首先应运行用友提供的文件解压缩工具,将所需账套解压缩完后直接在系统管理中引入账套。如果操作员的权限信息丢失,可以重新赋予权限,或者恢复最近一次备份的ufsystem系统控制库。如果是恢复最新的年度账备份,并可以用账套主管注册,然后从年度账菜单下导入数据。如果仅恢复某个SQL数据库文件,可以在企业管理器中还原最近一次的数据库完全备份,再还原最近一次的差异数据库备份。如果使用完全恢复或大容量日志记录恢复,则应用自上次创建差异数据库备份后创建的所有事务日志备份。网络管理员还应注意用友正版软件的加密狗注册问题。客户机重新指定登录服务器,就可以在最短时间内恢复公司业务操作的正常进行。
5 实施效果与总结
利用有限的经费实施完善的用友U8系统数据库备份措施,既保证了U8系统数据库的安全性、完整性和可靠性和企业ERP系统管理工作的连续性,有效提高了信息系统安全等级保护水平,值得推广使用。
参考文献:
[1] 王钊,王命达.用友ERP-U8.72财务软件实务操作[M].北京:人民邮电出版社,2010.
[2] 何平,龚中华.用友ERP-U8培训教程:财务核算/供应链管理/物料需求计划[M].2版.北京:人民邮电出版社,2010.
[3] 洑建紅. 用友ERP-U8财务软件实务操作[M]. 人民邮电出版社, 2006.
[4] 明日科技.SQL Server 2000应用与开发范例宝典[M].北京:人民邮电出版社,2006.
[5] 罗运模. SQL Server 2000数据仓库应用与开发[M]. 北京:人民邮电出版社, 2001.
【通联编辑:王力】
收稿日期:2021-04-19
作者简介:王文峰(1976—),男,江苏无锡人,无锡市体育彩票管理中心,工程师,主要研究方向为计算机技术及应用。
3936500589231