1. 异地备份的必要性
对于企业级数据来说,备份数据是一个至关重要和不可或缺的过程。在备份的过程中,我们必须要考虑多种场景,而其中,在异地数据备份方案是至关重要的题目之一。
如果我们在一个地点对数据进行备份,那么如果该地点遭遇灾难或者停电等情况,备份的数据会损失。如果我们在这个时候还没有及时做好数据的备份,那么对业务的损失将会更加深重。
2. 异地备份的策略选择
2.1 基于云服务的异地备份
随着云服务的普及,越来越多的企业开始考虑将数据备份到云上,仅依赖于云服务商的数据可靠性来保障数据的安全。作为主流云服务商,Amazon, Microsoft 以及 Google 为其客户提供了高可用性、高可靠性的云存储服务。其中,Azure 的 Geo-Restore 机制,可以在数据恢复过程中跨越异地进行数据恢复。
然而,这种做法的缺点是贵。服务商通常会根据数据大小,备份的频率和数据恢复的速度等不同因素来制定价格,空间和数据频繁性相对较低的企业早期对云备份的选择较小。
2.2 基于自建服务器的异地备份
和基于云备份不同,自建服务器有一定的灵活性,在备份速度和备份内容上灵活度更高,对于中小企业而言,这更加适合其经济性和备份过程的透明化管理。通过建立异地备份服务器,程序可以定时从主数据库中导出备份,然后上传到备份服务器中。这种方法又称为远程备份。
3. 基于 MSSQL 的异地备份实施
Microsoft SQL Server 是一种关系型数据库管理系统,它可以用于存储在本地计算机上运行的应用程序和 Web 服务器。
3.1 配置远程访问
在SQL Server Management Studio中,我们需要通过 "SQL Server 配置管理器" 打开面板来实现对数据库服务实例的访问权限编辑。将“TCP/IP”协议启用并监听赋值为 “0.0.0.0” 和 “1433” 端口。
EXEC sp_configure 'remote access', 1
GO
RECONFIGURE
GO
EXEC sp_configure 'remote query timeout (s)', 300
GO
RECONFIGURE
GO
3.2 配置目标服务器
我们需要将本地 SQL server 服务备份到远程服务器。我们可以在远程服务器上创建一个目标备份数据库,完全复制主数据库的,使用 MSSQL 实现备份同步。
RESTORE DATABASE [database_name]
FROM DISK = '\\backup_server_ip\\backup_share\\database_name.bak'
WITH FILE = @FileToRestore,
MOVE @logical_data_file_name TO @physical_data_file_name,
MOVE @logical_log_file_name TO @physical_log_file_name,
STATS = @stats;
GO
3.3 配置备份服务
在 MSSQL 中,我们可以使用 SQL Server Agent 来管理 SQL Server 数据库引擎的作业。在“管理器”中右键单击“SQL Server 代理”,然后单击“启动”。
在 SQL Server Agent 中,单击“新作业”并为它命名。在“步骤”中,选择适当的备份类型(日志/完整),设置路径和文件名以及备份的计划时间和间隔。
4. 总结
异地备份的重要性在于保障企业数据的安全性,以及在不可避免的灾难和故障中保证数据的高可用性。这篇文章我们介绍了异地备份的策略选择,以及如何基于 MSSQL 进行异地备份的具体实施。希望这能够帮助到有需要的读者。