在数字化时代,数据库是组织和个人生活中不可或缺的一部分。然而,数据丢失可能会给业务运营和个人生活带来巨大的损失。为了应对这一挑战,定时备份数据库是至关重要的。本文将介绍如何创建数据库定时备份脚本,确保数据安全。

为什么需要数据库定时备份?

数据丢失风险:硬件故障、人为错误或恶意攻击等因素可能导致数据库丢失。

业务连续性:数据库是许多组织关键业务的核心,定时备份可确保在数据丢失时快速恢复,并最大程度地减少停机时间。

合规性要求:一些行业和法规要求组织对数据进行备份,以确保数据安全和隐私保护。

如何创建脚本来备份所有 SQL 数据库?

在创建备份脚本前,我们先要知道我们需要了解什么:

  • 指定数据库备份的存储路径
  • 指定备份文件名格式
  • 选择要备份的数据库列表
  • 循环遍历数据库
  • 使用数据库名称、路径和文件名格式以编程方式创建数据库备份命令

接下来,请用记事本或其他工具复制下方的文字,并创建为bat文件。


        
        --下面是备份实例,请修改实际的路径位置
        
        DECLARE @name NVARCHAR(256) -- database name  
        DECLARE @path NVARCHAR(512) -- path for backup files  
        DECLARE @fileName NVARCHAR(512) -- filename for backup  
        DECLARE @fileDate NVARCHAR(40) -- used for file name
         
        -- 指定数据库路径
        SET @path = 'C:\test\'  
         
        -- 指定文件类型
        SELECT @fileDate = CONVERT(NVARCHAR(20),GETDATE(),112) 
         
        DECLARE db_cursor CURSOR READ_ONLY FOR  
        SELECT name 
        FROM master.sys.databases 
        WHERE name NOT IN ('master','model','msdb','tempdb')  -- 需要排除的数据库
        AND state = 0 -- 数据库是否在线
        AND is_in_standby = 0 -- 数据库不是可读写
         
        OPEN db_cursor   
        FETCH NEXT FROM db_cursor INTO @name   
         
        WHILE @@FETCH_STATUS = 0   
        BEGIN   
           SET @fileName = @path + @name + '_' + @fileDate + '.BAK'  
           BACKUP DATABASE @name TO DISK = @fileName  
         
           FETCH NEXT FROM db_cursor INTO @name   
        END   
         
        CLOSE db_cursor   
        DEALLOCATE db_cursor

数据库备份文件名格式 DBname_YYYYMMDD_HHMMSS.BAK

如果您还想在文件名中包含时间,可以替换上面脚本中的这一行:

-- 指定文件名格式 
SELECT @fileDate = CONVERT ( NVARCHAR ( 20 ), GETDATE (), 112 )

将附加项目添加到备份命令

要添加其他选项,例如备份进度(统计信息)和压缩,您可以更改脚本中的这一行:

BACKUP DATABASE @name TO DISK = @fileName   

如何定时执行脚本?

在Windows操作系统中,你可以使用任务计划程序(Task Scheduler)来定时执行脚本文件。以下是步骤:

打开任务计划程序:在Windows搜索栏中键入“任务计划程序”并打开该程序。

创建基本任务:在任务计划程序界面中,选择“创建基本任务”选项,然后按照向导的指示进行操作。

创建计划任务

指定任务名称和描述:输入任务的名称和描述信息,然后点击“下一步”。

选择触发器:选择何时启动任务的条件。你可以选择“每日”、“每周”或“每月”,也可以选择特定的时间间隔。

指定启动程序:选择“启动程序”选项,并点击“浏览”按钮选择要执行的脚本文件。

设置触发器参数:根据选择的触发器类型,设置任务启动的具体时间和频率。

完成设置:完成所有设置后,点击“完成”按钮,任务计划程序将保存并自动执行你的脚本文件。

备份SQL Server 数据库的更简单方法

如您所见,您需要重复编写 脚本cmdlet 来实现数据库定时备份脚本。 如果需要备份的数据库很少,可以这样做。 如果您要备份大量数据库怎么办? 有没有什么工具可以帮你一次选择多个数据库?

强大的 SQL备份软件 - 傲梅企业备份旗舰版来帮忙。 您可以利用其以下功能来执行 SQL Server 备份:

★ 内嵌  SQL Server备份  功能 ,让您在一台PC/服务器上备份多个实例和数据库。
★ 它提供 计划 功能来帮助您运行自动备份。 你可以执行 SQL Server 每天自动备份 、每周或每月。
★ 支持SQL Server 2019/2017/2016/2014/2012/2008(R2)/2005等所有较新版本的数据库备份。

下载 傲梅企业备份旗舰版免费试用版,立即探索所有精彩功能!

1. 导航至设备>>添加Microsoft SQL。系统将自动显示已存在且受支持的数据库。若未显示,则可点击“添加Microsoft SQL>>下载代理程序”,并将其安装到已安装SQL Server的设备上。随后,选择已安装的代理。

添加设备

2. 单击>>身份验证以验证数据库实例。可选择Windows 身份验证SQL 身份验证。输入凭据,然后点击“验证”

sql-身份验证

3. 创建备份任务:点击备份任务>>创建新任务,并选择Microsoft SQL 备份作为备份类型。然后根据需要设置设备名称备份目标计划备份清理电子邮件通知

微软 SQL 备份

4. 单击开始备份:选择添加计划并立即开始备份仅添加计划,然后点击开始备份执行自动 SQL Server 备份

启动备份

总结

通过本文,您知道如何实现数据库定时备份脚本。 但是,它只适用于备份少量的数据库。 并且极易出错。因此,Bruce推荐您使用傲梅企业备份旗舰版。

傲梅企业备份旗舰版界面简洁,所有操作都很简单。 感觉下载体验吧!