这里会显示出您选择的修订版和当前版本之间的差别。
两侧同时换到之前的修订记录前一修订版后一修订版 | 前一修订版 | ||
ischool:campusng:pos:backup:mssql [2020/02/28 01:43] – 刘声强 | ischool:campusng:pos:backup:mssql [2020/07/15 16:51] (当前版本) – [功能日常维护要求] Nashira | ||
---|---|---|---|
行 8: | 行 8: | ||
- | ## 注意事项 | + | ## 注意事项: |
以下为注意事项汇总,教程中会再次提及,此处汇总方便查阅。 | 以下为注意事项汇总,教程中会再次提及,此处汇总方便查阅。 | ||
行 20: | 行 20: | ||
** 请不用勾选:强制实施密码策略 ** | ** 请不用勾选:强制实施密码策略 ** | ||
- | ## 功能使用要求 | + | ** 需要在SQL Server所在的机器上手工创建文件夹`c: |
+ | |||
+ | ## 功能日常维护要求 | ||
** 部署了此服务器的每所学校,每半年至少要做一次备份的解密恢复测试。 ** | ** 部署了此服务器的每所学校,每半年至少要做一次备份的解密恢复测试。 ** | ||
+ | |||
+ | > NOTE: 脚本源代码在`remote`项目下。 | ||
---- | ---- | ||
行 216: | 行 220: | ||
使用cdnservertool工具内诊断功能进行检测 | 使用cdnservertool工具内诊断功能进行检测 | ||
- | 诊断功能里 ID:200 | + | ** MSSQL 在 诊断功能里 ID:200** |
+ | |||
+ | ** 诊断MSSQL状态有3种:1、正常;2、错误;3、未配置; 如果没有MSSQL上传会显示未配置,如下图所示 ** | ||
+ | |||
+ | ** 以下为 未配置MSSQL的诊断 ** | ||
{{ : | {{ : | ||
+ | ** 以下为正常诊断 ** | ||
+ | {{ : | ||
### 2.2、使用ssh命令进行检测 | ### 2.2、使用ssh命令进行检测 | ||
行 230: | 行 240: | ||
---- | ---- | ||
- | |||
# 还原备份教程 | # 还原备份教程 | ||
- | ** 以下操作要求:致学工作人员进行操作 ** | + | ## 注意事项: |
- | ** 以下内容为内部教学,非工作人员可略过下面内容。** | + | ** 友情提示:以下操作过于复杂,建议非工作人员略过下面内容。 ** |
+ | |||
+ | ** 建议由致学工作人员进行操作 ** | ||
+ | |||
+ | ** 为何不让大家操作以下内容? 如操作错误,可能导致数据丢失。 ** | ||
+ | |||
+ | ---- | ||
- | ** 为何不让大家操作以下内容? 以下操作过于复杂,如操作错误,可能导致数据丢失。所以建议不要私自操作 ** | ||
- | 操作简要流程: | + | ## 恢复操作简介 |
1、获取加密备份文件的文件名 | 1、获取加密备份文件的文件名 | ||
- | 2、将想要恢复的加密备份文件的文件名发送给开发人员 | + | 2、将想要恢复的加密备份文件的文件名发送给开发人员(一并发送该学校的学校代码) |
3、从开发人员处获取到解密命令后进行解密操作 | 3、从开发人员处获取到解密命令后进行解密操作 | ||
行 257: | 行 271: | ||
## 1、如何获取加密的备份文件? | ## 1、如何获取加密的备份文件? | ||
+ | ssh远程登录MSSQL备份的CDN服务器,备份文件路径:`/ | ||
- | 在指定运行一卡通消费服务的CDN服务器上,进入到备份文件夹:`/ | + | `mssql-`开头的,以及非`.md5`结尾的就是加密的MSSQL数据库的备份文件了。 |
+ | |||
+ | ** 需要发送给开发的是非`.md5`的文件名 ** | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | ---- | ||
## 2、如何获取解密命令? | ## 2、如何获取解密命令? | ||
- | 找到需要恢复的备份文件,将文件名发给致学研发人员,文件名类似: | + | 例举:如需要解密此备份文件: |
+ | |||
+ | `mssql-20200225182958-0aaf04403f004460928ecc6608ff632b-8b6285aadb0a56ec350a3ac660b9e4bb6c235332fdb07e339167b9529050783b1b2071cea00ca917dd6ac39c93ea090e642c4d24aa684070249ee5082b3bda0a` | ||
+ | |||
+ | ** 将此文件名+学校代码 一并发送给开发,让其返回解密命令。 ** | ||
+ | |||
+ | ---- | ||
## 3、如何解密备份文件? | ## 3、如何解密备份文件? | ||
- | sudo openssl enc -d -aes-128-cbc -in mssql-20200225182958-0aaf04403f004460928ecc6608ff632b-8b6285aadb0a56ec350a3ac660b9e4bb6c235332fdb07e339167b9529050783b1b2071cea00ca917dd6ac39c93ea090e642c4d24aa684070249ee5082b3bda0a -K 0106c23489ec19c022906e315b335c2d -iv e897672c83ded6ae8834e9b996676873 -out mssql.bak -nopad | + | 以下是开发返回的解密命令: |
+ | `openssl enc -d -aes-128-cbc -in mssql-20200225182958-0aaf04403f004460928ecc6608ff632b-8b6285aadb0a56ec350a3ac660b9e4bb6c235332fdb07e339167b9529050783b1b2071cea00ca917dd6ac39c93ea090e642c4d24aa684070249ee5082b3bda0a -K 0106c23489ec19c022906e315b335c2d -iv e897672c83ded6ae8834e9b996676873 -nopad` | ||
- | 在备份文件夹执行致学研发人员给出的`openssl`解密指令,在解密指令后添加`-out / | ||
+ | ** 获得的解密命令后面需要加上 `-out / | ||
+ | |||
+ | 也可以保持到其他路径,在文件名前加上完整的路径即可,这里我是保存到同一文件夹内的命令参考式: | ||
+ | |||
+ | `sudo openssl enc -d -aes-128-cbc -in mssql-20200225182958-0aaf04403f004460928ecc6608ff632b-8b6285aadb0a56ec350a3ac660b9e4bb6c235332fdb07e339167b9529050783b1b2071cea00ca917dd6ac39c93ea090e642c4d24aa684070249ee5082b3bda0a -K 0106c23489ec19c022906e315b335c2d -iv e897672c83ded6ae8834e9b996676873 -nopad -out mssql.bak ` | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | 图内红色框出来的就是解密出来的文件了 | ||
+ | |||
+ | ---- | ||
## 4、如何获取可恢复的备份? | ## 4、如何获取可恢复的备份? | ||
- | 2. 如果执行成功,`/ | + | 通过SFTP进入到解密的文件夹内,拷贝到主机上。 |
+ | |||
+ | {{ : | ||
+ | |||
+ | ---- | ||
## 5、如何数据库恢复操作? | ## 5、如何数据库恢复操作? | ||
行 285: | 行 327: | ||
{{ : | {{ : | ||
+ | ---- | ||
+ | # 恢复非本机数据库可能遇到的问题 | ||
+ | |||
+ | ## 问题1:无法正常打开ICSF.exe | ||
+ | |||
+ | 如果恢复非本机的数据库,可能无法正常打开ICSF.exe | ||
+ | |||
+ | 遇到此问题,照下图修改权限即可。 | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ## 问题2:修改MSSQL权限出错 | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | 此问题貌似是MSSQL2008的BUG,按下面步骤操作即可。 | ||
+ | |||
+ | 1、修改sunlightZ 账户的名,我这里改的是sunlightZ1 | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | 2、修改正确的权限,注意,这里的用户名已经更改了。 | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | 3、权限修改成功,在改回sunlightZ用户名 | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ## 问题3:无法初始化数据库 | ||
+ | |||
+ | 问题如图 | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | 此问题是由于MSSQL的运行账户的问题,以下为解决办法: | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | ---- | ||
# 致学研发人员,获取解密命令 | # 致学研发人员,获取解密命令 | ||
行 293: | 行 385: | ||
```sh | ```sh | ||
- | $ / | + | $ / |
+ | |||
+ | $ openssl enc -d -aes-128-cbc -nopad -in mssql-20200302110648-9f97c2e6b2ff4a3dbbddf8ca35fa387c-2008cb6dfe5644bfb7ef652e6c23fdfadb561ab8239fdc8e24db0596e694ae12f1b50e74d79e6fb48b964e6084fadfe90ccdad2c9a57b0862717e58afc513369 | ||
- | $ openssl enc -d -aes-128-cbc -nopad -in mssql-20200225013332-bb24e10cb2ed491cac4001333bfdccc4-129f68fd7a028d2de29a1c2d77a780885491c421ae66fc2ae974ce0df7e9d5dbc81857209fd666088c8b36690e8646bb510e7668496de0e6790f0619ecb7f345 -K 8fb1225b62bf63dd04df89134b330bae -iv 67aa049bed3248bc53cfc4f1263002e2 | ||
``` | ``` | ||
- | 解密备份文件 | + | |