用户工具

站点工具


ischool:campusng:pos:backup:mssql

差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录前一修订版
后一修订版
前一修订版
ischool:campusng:pos:backup:mssql [2020/02/26 10:53] 刘声强ischool:campusng:pos:backup:mssql [2020/07/15 16:51] (当前版本) – [功能日常维护要求] Nashira
行 8: 行 8:
  
  
-## 注意事项+## 注意事项
  
 以下为注意事项汇总,教程中会再次提及,此处汇总方便查阅。 以下为注意事项汇总,教程中会再次提及,此处汇总方便查阅。
行 20: 行 20:
 ** 请不用勾选:强制实施密码策略 ** ** 请不用勾选:强制实施密码策略 **
  
 +** 需要在SQL Server所在的机器上手工创建文件夹`c:\mssql` **
 +
 +## 功能日常维护要求
 +
 +** 部署了此服务器的每所学校,每半年至少要做一次备份的解密恢复测试。 **
 +
 +> NOTE: 脚本源代码在`remote`项目下。
  
 ---- ----
行 35: 行 42:
 ---- ----
  
-# 配置教程+备份配置教程
  
  
行 197: 行 204:
 ---- ----
  
-相关功能说明+监控及检测功能
  
-## 监控+## 1、监控功能
  
-### 监控平台+### 平台监控
  
 后台监控报警,开发中 后台监控报警,开发中
  
-### zx-diagnose +## 2、检测备份功能
-`202002p25`之后的版本`zx-diagnose`实现了自动诊断备份是否正常执行。+
  
-### 定期备份恢复试 +** 以下检功能求系统版本高于:`202002p25` **
-每所学校每半年至少做一次备份的回复测试。+
  
 +### 2.1、使用cdnservertool检测
  
-## 还原 +使用cdnservertool工具内诊断功能进行检测
-### 获取备份密码+
  
-1. 指定运行一卡通消费服务的CDN服务器上,进入到备份文件夹`/zxedu/data/imageng/backup/pos` +** MSSQL 在 诊断功能里 ID200**
-2. 找到需要恢复的备份文件,将文件名发给致学研发人员,文件名类似:`mssql-20200225013332-bb24e10cb2ed491cac4001333bfdccc4-129f68fd7a028d2de29a1c2d77a780885491c421ae66fc2ae974ce0df7e9d5dbc81857209fd666088c8b36690e8646bb510e7668496de0e6790f0619ecb7f345` +
-3. 致学研发人员在平台端执行脚本,获取备份文件解密命令+
  
-```sh +** 诊断MSSQL状态有3种:1、正常;2、错误;3、未配置; 如果没有MSSQL上传会显示未配置,如下图所示 **
-$ /opt/zxedu/bin/platform-yaf-ischool campusng script decryptBackupIV sid=1121939 filename=mssql-20200225013332-bb24e10cb2ed491cac4001333bfdccc4-129f68fd7a028d2de29a1c2d77a780885491c421ae66fc2ae974ce0df7e9d5dbc81857209fd666088c8b36690e8646bb510e7668496de0e6790f0619ecb7f345+
  
-$ openssl enc -d -aes-128-cbc -nopad -in mssql-20200225013332-bb24e10cb2ed491cac4001333bfdccc4-129f68fd7a028d2de29a1c2d77a780885491c421ae66fc2ae974ce0df7e9d5dbc81857209fd666088c8b36690e8646bb510e7668496de0e6790f0619ecb7f345 -K 8fb1225b62bf63dd04df89134b330bae -iv 67aa049bed3248bc53cfc4f1263002e2 +** 以下为 未配置MSSQL的诊断 **
-```+
  
-### 解密备份文件+{{ :ischool:campusng:pos:backup:cdnservertool检测.png?600 |}}
  
-1. 在备份文件夹执行致学研发人员给出的`openssl`解密指令,在解密指令后添加`-out /path/to/mssql.bak`参数 +** 以下为正常诊断 **
-2. 如果执行成功,`/path/to/mssql.bak`就是解密后的SQL Server数据库备份文件+
  
-### 还原数据库+{{ :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所在的服务器 1. 将解密后的备份文件复制到SQL Server所在的服务器
行 238: 行 326:
  
 {{ :ischool:campusng:pos:backup:mssql_restore.png |}} {{ :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.1582685588.txt.gz · 最后更改: 2020/02/26 10:53 由 刘声强