首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >运行的客户端设备的常规备份和存档选项,包括还原

运行的客户端设备的常规备份和存档选项,包括还原
EN

Server Fault用户
提问于 2015-11-13 06:40:34
回答 3查看 102关注 0票数 2

在当前环境中,客户端应用程序已经部署在单个端点设备上,例如膝上型计算机。客户端应用程序记录&检索监管和遵从性目的所需的信息,就目前的情况而言,数据没有备份。

由于这些数据被认为是监管和遵约报告的关键,因此正在探讨备份和存档的备选办法。

备份、归档和还原客户端数据库有哪些可用的选项?

环境

  1. 客户端设备在Windows 7上运行
  2. 2008

需求

  1. RTO - 24小时
  2. RPO - 15分钟
EN

回答 3

Server Fault用户

回答已采纳

发布于 2015-11-13 21:25:48

我假设你的预算是有限的(因为它总是有限的,不是吗?)

Ola Hallengren网站去拿一份他的维护解决方案的副本。配置完基本操作之后,运行该脚本:

代码语言:javascript
复制
SET @BackupDirectory     = N'C:\Backup' -- Specify the backup root directory.
SET @CleanupTime         = NULL         -- Time in hours, after which backup files are deleted. If no time is specified, then no backup files are deleted.

由于您使用的是速成版本,所以您将没有允许您调度任务的SQL代理,因此请使用windows任务调度程序来设置备份。因为您的RPO是15分钟,所以我建议您每天足足一次(例如午夜),并且每5分钟备份一次日志。确保数据库在FULL中。

一个典型的工作应该是这样的:

代码语言:javascript
复制
sqlcmd -E -S MYSERVER\MYINSTANCE -d master -Q "EXECUTE dbo.DatabaseBackup @Databases = 'ALL_DATABASES', @Directory = N'F:\SQLBackup', @BackupType = 'FULL'" -b

(每天安排这件事)

代码语言:javascript
复制
sqlcmd -E -S MYSERVER\MYINSTANCE -d master -Q "EXECUTE dbo.DatabaseBackup @Databases = 'ALL_DATABASES', @Directory = N'F:\SQLBackup', @BackupType = 'LOG'" -b

(每隔5分钟安排一次)

在使用此解决方案时,请研究更新统计数据和索引维护的其他可能性,.

还原时,按顺序还原完整和所有以下日志备份。确保在应用了最后一个日志文件之前使用NORECOVERY进行还原。因为可能有很多文件,所以您可能想研究一下如何编写脚本。有关这方面的更多信息,看这儿

现在是最困难的部分。如果机器死了,你仍然得不到你的RPO,所以你需要从机器上得到备份(甚至到一个地理位置很远的地方)。这里有很多选择。

我通常所做的就是使用备份工具将其备份到不同的数据中心/机器上,该工具用于平面文件备份环境中。如果没有,您可能需要考虑获取一个帐户,并将其移动到S3。如果您担心安全性,可以使用Arq之类的应用程序对备份进行加密。

最后: RTO。这可能很棘手,取决于您如何看待它。您是否有一个团队可以在需要时部署新的Server并恢复备份(来自AWS)?有随时待命的轮调系统吗?你要全天候接电话吗?

如果您想自动化这一点,事情会变得更加复杂,您肯定需要额外的服务器。由于您是在2008年,您可以设置日志传送。这是Server中的一个特性,您可以在每个可能的版本中免费使用它。它复制日志文件并将它们还原到辅助sql服务器。如果你想的话我可以详细说明。

请确保测试您的解决方案,并监控备份是否运行良好!没有什么比做一个恢复和注意到备份已经5天没有运行更糟糕了。如果它需要便宜,邮寄的结果是有效的,但这会变得非常快。如果钱是个问题的话,也许可以看看像伊辛加这样的监控系统。

PSA:我不参加我在这里提出的任何解决方案,当我遇到这个问题时,这就是我通常做的事情。

票数 3
EN

Server Fault用户

发布于 2015-11-13 07:18:11

我想你把高可用性和备份混为一谈。它们是两种不同的东西。始终处于可用性状态的组与备份SQL数据库无关。您也不需要将数据库备份到SQL场(不管您认为SQL场是什么)。您可以在安装的客户端计算机上,按满足RPO的间隔编写数据库备份脚本。

票数 2
EN

Server Fault用户

发布于 2015-11-13 15:29:10

版本缺少Server代理。您可以使用OSQL实用程序(命令行实用程序)和Windows的组合来执行t BACKUP DATABASE语句。您可以备份到外部位置(如果mssql进程帐户允许的话)。您可以使用完全恢复模式和BACKUP DATABASE / BACKUP LOG的组合来进行某种连续备份(即。每15分钟记录一次备份)。不要忘记系统数据库(主数据库、模型数据库、msdb数据库)。

您也可以使用Dropbox (或类似的)作为外部位置。事实上,dropbox文件夹是本地文件夹,所以您在访问网络文件夹时不会遇到问题(mssql帐户可以限制它)。MSSql2008 R2可能在备份时压缩数据(不确定快速版本是否可以)。

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/736053

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档