爱上学管理后台
用户工具
登录
站点工具
搜索
工具
显示页面
过去修订
反向链接
最近更改
媒体管理器
网站地图
登录
>
最近更改
媒体管理器
网站地图
您的足迹:
ischool:campusng:pos:backup:mssql
本页面只读。您可以查看源文件,但不能更改它。如果您觉得这是系统错误,请联系管理员。
[[:campusng:technology|返回]] # 一卡通消费MSSQL数据库备份 > MSSQL数据库备份是一项增值服务 ,必须按本文档规定操作,致学不对未按文档规定操作造成的备份失败负责。 [[::vas#一卡通消费系统数据备份(本地备份版)|增值服务说明]] ## 注意事项: 以下为注意事项汇总,教程中会再次提及,此处汇总方便查阅。 ** 如备份数据库失败,请检查数据库icbackup账户设置是否正确 ** ** 如备份数据库成功,上传至CDN服务器失败,请检查HOSTS设置或DNS设置是否正确。 ** ** 教程为方便演示使用的简单密码,方便演示。实际使用中,请使用更强的密码。** ** 请不用勾选:强制实施密码策略 ** ** 需要在SQL Server所在的机器上手工创建文件夹`c:\mssql` ** ## 功能日常维护要求 ** 部署了此服务器的每所学校,每半年至少要做一次备份的解密恢复测试。 ** > NOTE: 脚本源代码在`remote`项目下。 ---- ## 获取备份工具 ### MSSQL备份工具 下载 [点击下载](http://update.i-school.net/zxedu-system-images/MSSQL_BACKUP.exe) ### hosts修改一键工具 下载 {{ :ischool:campusng:pos:backup:hosts一键修改脚本.zip |}} ---- # 备份配置教程 ## 1、消费机主机hosts指向CDN服务器 在消费机主机上打开:hosts一键修改工具,在程序内输入CDN服务器的IP地址后,回车即可。 如输入错误的IP地址或CDN服务器IP地址变更,重新运行HOSTS一键修改工具重新输入新IP地址即可。 {{ :ischool:campusng:pos:backup:hosts设置-输入ip-回车即可.png?600 |}} ** 注意:SQL备份成功,上传失败,则是此步骤的问题。 ** ---- ## 2、配置SQL Server备份账号 2.1、打开sql server management studio程序 {{ :ischool:campusng:pos:backup:打开sql_server_management_studio程序.png?600 |}} ---- 2.2、登录sql server management studio {{ :ischool:campusng:pos:backup:登录sql_server_management_studio.png?600 |}} ---- 2.3、新建登录名 {{ :ischool:campusng:pos:backup:新建mssql账户.png?600 |}} ---- 2.4、新建项-常规配置 ** 注意:请不用勾选:强制实施密码策略 ** ** 注意:请使用强力密码,此教程是为方便演示使用,输入了简单密码,为了方便演示。 ** {{ :ischool:campusng:pos:backup:新建mssql账户-常规.png?600 |}} ** 注意:请不用勾选:强制实施密码策略 ** ** 注意:请使用强力密码,此教程是为方便演示使用,输入了简单密码,为了方便演示。 ** ---- 2.5、新建项-用户映射配置 {{ :ischool:campusng:pos:backup:新建mssql账户-用户映射.png?600 |}} ---- ## 3、手动运行测试 备份脚本有两个必选参数: 1. `-p`: icbackup用户的密码 2. `-d`: 一卡通消费系统所使用的数据库名称 3.1、打开开始菜单,选择运行。(如没有运行按钮,可以使用windows图标键 加上 R键 调出运行窗口) {{ :ischool:campusng:pos:backup:开始菜单-运行.png?600 |}} ---- 3.2、运行内输入CMD,然后安确定。 {{ :ischool:campusng:pos:backup:运行cmd.png?600 |}} ---- 3.3、在命令行内找到MSSQL备份程序路径 ** 命令行进入MSSQL备份程序所在的文件夹 ** ** 我是放在C盘下的,所以我进入C盘 ** 命令行基础操作命令如下: `cd`= 打开文件夹 `cd..` = 返回上一级 `dir` = 显示文件夹 `C:` = 切换到C盘 `D:` = 切换到D盘 {{ :ischool:campusng:pos:backup:cmd.png?600 |}} 测试运行原图 ** (注意:cmd命令行必须打开至程序目录) ** ---- 3.4、测试使用命令运行MSSQL备份工具 `MSSQL_BACKUP.exe -d ICSF -p 123qwe` 命令解释: `MSSQL_BACKUP.exe` = 为MSSQL备份工具文件名 `-d` = 后面是要备份数据库的名称(晨风系统默认是ICSF,其他厂家咨询技术部获取名称) `-p` = 教程中新建的icbackup用户的密码 ** 注意:教程为方便演示使用的简单密码,方便演示。实际使用中,请使用更强的密码。 ** {{ :ischool:campusng:pos:backup:测试运行原图.png?600 |}} ---- 3.5、运行结果解说图 {{ :ischool:campusng:pos:backup:手动运行程序-检查是否能正常运行.png?600 |}} ---- ## 4、配置计划任务 ** 每天至少在凌晨执行一次,根据需求也可以执行多次。 ** 以下拟建的计划任务为每天凌晨1点进行一次备份,如有需要请根据实际情况修改。 配置计划任务,照图操作即可。 {{ :ischool:campusng:pos:backup:设置计划任务1.png?600 |}} {{ :ischool:campusng:pos:backup:设置计划任务2.png?600 |}} {{ :ischool:campusng:pos:backup:设置计划任务3.png?600 |}} {{ :ischool:campusng:pos:backup:设置计划任务4.png?600 |}} {{ :ischool:campusng:pos:backup:设置计划任务5.png?600 |}} {{ :ischool:campusng:pos:backup:设置计划任务6.png?600 |}} {{ :ischool:campusng:pos:backup:设置计划任务7.png?600 |}} {{ :ischool:campusng:pos:backup:设置计划任务8.png?600 |}} {{ :ischool:campusng:pos:backup:设置计划任务9.png?600 |}} {{ :ischool:campusng:pos:backup:设置计划任务10.png?600 |}} ** 配置教程结束 ** ** 配置教程结束 ** ** 配置教程结束 ** ---- # 监控及检测功能 ## 1、监控功能 ### 平台监控 后台监控报警,开发中 ## 2、检测备份功能 ** 以下检测功能要求系统版本高于:`202002p25` ** ### 2.1、使用cdnservertool检测 使用cdnservertool工具内诊断功能进行检测 ** MSSQL 在 诊断功能里 ID:200** ** 诊断MSSQL状态有3种:1、正常;2、错误;3、未配置; 如果没有MSSQL上传会显示未配置,如下图所示 ** ** 以下为 未配置MSSQL的诊断 ** {{ :ischool:campusng:pos:backup:cdnservertool检测.png?600 |}} ** 以下为正常诊断 ** {{ :ischool:campusng:pos:backup:新-数据库备份成功检测.png |}} ### 2.2、使用ssh命令进行检测 使用此命令进行检测:`zx-diagnose` {{ :ischool:campusng:pos:backup:命令检测.png?600 |}} ---- # 还原备份教程 ## 注意事项: ** 友情提示:以下操作过于复杂,建议非工作人员略过下面内容。 ** ** 建议由致学工作人员进行操作 ** ** 为何不让大家操作以下内容? 如操作错误,可能导致数据丢失。 ** ---- ## 恢复操作简介 1、获取加密备份文件的文件名 2、将想要恢复的加密备份文件的文件名发送给开发人员(一并发送该学校的学校代码) 3、从开发人员处获取到解密命令后进行解密操作 4、将成功解密的备份文件拷贝到消费机主机 5、恢复MSSQL数据库 ---- ## 1、如何获取加密的备份文件? ssh远程登录MSSQL备份的CDN服务器,备份文件路径:`/zxedu/data/imageng/backup/pos` `mssql-`开头的,以及非`.md5`结尾的就是加密的MSSQL数据库的备份文件了。 ** 需要发送给开发的是非`.md5`的文件名 ** {{ :ischool:campusng:pos:backup:获取加密备份的文件名.png|}} ---- ## 2、如何获取解密命令? 例举:如需要解密此备份文件: `mssql-20200225182958-0aaf04403f004460928ecc6608ff632b-8b6285aadb0a56ec350a3ac660b9e4bb6c235332fdb07e339167b9529050783b1b2071cea00ca917dd6ac39c93ea090e642c4d24aa684070249ee5082b3bda0a` ** 将此文件名+学校代码 一并发送给开发,让其返回解密命令。 ** ---- ## 3、如何解密备份文件? 以下是开发返回的解密命令: `openssl enc -d -aes-128-cbc -in mssql-20200225182958-0aaf04403f004460928ecc6608ff632b-8b6285aadb0a56ec350a3ac660b9e4bb6c235332fdb07e339167b9529050783b1b2071cea00ca917dd6ac39c93ea090e642c4d24aa684070249ee5082b3bda0a -K 0106c23489ec19c022906e315b335c2d -iv e897672c83ded6ae8834e9b996676873 -nopad` ** 获得的解密命令后面需要加上 `-out /路径/文件名.bak` 解密后的文件名。** 也可以保持到其他路径,在文件名前加上完整的路径即可,这里我是保存到同一文件夹内的命令参考式: `sudo openssl enc -d -aes-128-cbc -in mssql-20200225182958-0aaf04403f004460928ecc6608ff632b-8b6285aadb0a56ec350a3ac660b9e4bb6c235332fdb07e339167b9529050783b1b2071cea00ca917dd6ac39c93ea090e642c4d24aa684070249ee5082b3bda0a -K 0106c23489ec19c022906e315b335c2d -iv e897672c83ded6ae8834e9b996676873 -nopad -out mssql.bak ` {{ :ischool:campusng:pos:backup:获得解密文件.png |}} 图内红色框出来的就是解密出来的文件了 ---- ## 4、如何获取可恢复的备份? 通过SFTP进入到解密的文件夹内,拷贝到主机上。 {{ :ischool:campusng:pos:backup:sftp.png |}} ---- ## 5、如何数据库恢复操作? 1. 将解密后的备份文件复制到SQL Server所在的服务器 2. 打开SQL Server管理工具 3. 在`数据库`上点鼠标右键,选在`还原数据库` 4. 在弹出的对话框中选择`源设备`,并找到解密后的备份文件 {{ :ischool:campusng:pos:backup:mssql_restore.png |}} ---- # 恢复非本机数据库可能遇到的问题 ## 问题1:无法正常打开ICSF.exe 如果恢复非本机的数据库,可能无法正常打开ICSF.exe 遇到此问题,照下图修改权限即可。 {{ :ischool:campusng:pos:backup:还原异机备份的数据库-打不开icsf问题0.png |}} {{ :ischool:campusng:pos:backup:登录不了-修改权限.png |}} ---- ## 问题2:修改MSSQL权限出错 {{ :ischool:campusng:pos:backup:登录不了-修改权限-问题2.png |}} 此问题貌似是MSSQL2008的BUG,按下面步骤操作即可。 1、修改sunlightZ 账户的名,我这里改的是sunlightZ1 {{ :ischool:campusng:pos:backup:还原异机备份的数据库-打不开icsf问题1.png |}} 2、修改正确的权限,注意,这里的用户名已经更改了。 {{ :ischool:campusng:pos:backup:还原异机备份的数据库-打不开icsf问题2.png |}} 3、权限修改成功,在改回sunlightZ用户名 {{ :ischool:campusng:pos:backup:改回用户名.png |}} ---- ## 问题3:无法初始化数据库 问题如图 {{ :ischool:campusng:pos:backup:初始化数据库打不开解决0.png |}} 此问题是由于MSSQL的运行账户的问题,以下为解决办法: {{ :ischool:campusng:pos:backup:初始化数据库打不开解决1.png |}} {{ :ischool:campusng:pos:backup:初始化数据库打不开解决2.png |}} {{ :ischool:campusng:pos:backup:初始化数据库打不开解决3.png |}} ---- # 致学研发人员,获取解密命令 ** 致学研发人员在平台端执行脚本,获取备份文件解密命令 ** ```sh $ /opt/zxedu/bin/platform-yaf-ischool-dev-201901 campusng script decryptBackupKey sid=1115333 filename=mssql-20200302110648-9f97c2e6b2ff4a3dbbddf8ca35fa387c-2008cb6dfe5644bfb7ef652e6c23fdfadb561ab8239fdc8e24db0596e694ae12f1b50e74d79e6fb48b964e6084fadfe90ccdad2c9a57b0862717e58afc513369 $ openssl enc -d -aes-128-cbc -nopad -in mssql-20200302110648-9f97c2e6b2ff4a3dbbddf8ca35fa387c-2008cb6dfe5644bfb7ef652e6c23fdfadb561ab8239fdc8e24db0596e694ae12f1b50e74d79e6fb48b964e6084fadfe90ccdad2c9a57b0862717e58afc513369 -K 1303ee0d277b183cd88624976177b0c3 -iv b2a5b79ce729dca5dbb31d1a18aa5829 ```
ischool/campusng/pos/backup/mssql.txt
· 最后更改: 2020/07/15 16:51 由
Nashira
页面工具
显示页面
过去修订
反向链接
回到顶部