如何使用 T-SQL 将 Azure SQL 边缘数据库备份到本地磁盘

发布于

Microsoft Azure SQL Edge 的备份功能类似于 Linux 上的 SQL Server 和在容器中运行的 SQL Server。

Azure SQL Edge 支持 T-SQL,因此可以通过运行 T-SQL 语句来备份 SQL Edge 数据库。

在本文中,我将 SQL Edge 数据库备份到 Docker 容器中的本地磁盘。

示例

就我而言,我在Docker容器中运行SQL Edge。因此,我将首先在该 Docker 容器内创建一个备份文件夹。

如果您已有备份文件夹,则可以跳过此步骤。否则,您可以创建如下备份文件夹:

sudo docker exec -it sqledge mkdir /var/opt/mssql/backups

在运行 Azure SQL Edge 容器的主机上运行该容器。

就我而言,我的容器称为 .请务必替换为容器的名称。sqledge``sqledge

现在我们可以将数据库备份到上面的文件夹中。

连接到 SQL Edge 实例(例如,使用 SSMS 或 Azure Data Studio)。

连接后,运行备份:

BACKUP DATABASE KrankyKranes 
TO DISK = '/var/opt/mssql/backups/KrankyKranes.bak';

做。这将创建一个在指定位置调用的备份文件。KrankyKranes.bak

备份选项

在 SQL Edge 中备份数据库时,可以使用许多选项。

例如:

  • 您可以使用 使备份操作在用于备份操作的所有媒体卷上写入新的媒体标头。WITH FORMAT
  • 可以指定 ,以便备份仅包含自上次完全备份以来更改的数据库或文件部分。DIFFERENTIAL
  • 您可以使用该选项在完成一定百分比的备份时通知您。默认情况下,它以 10% 的间隔更新(即每当另外 10% 完成时)。您可以更改此金额(例如,)。STATS``STATS=20
  • 您可以指定备份的名称、文件组、加密等。

下面是使用以下几个选项的备份:

BACKUP DATABASE KrankyKranes 
TO DISK = '/var/opt/mssql/backups/KrankyKranes.bak'
    WITH FORMAT,
    MEDIANAME = 'SQLEdgeBackups',
    NAME = 'KrankyKranes backup',
    DESCRIPTION = 'Full Backup of the KrankyKranes database',
    STATS = 20;

有关可用选项的完整概述,请参阅 Microsoft 的文档。

请注意,默认情况下,在 Azure SQL Edge 中创建的数据库使用简单恢复模式。因此,无法对在 SQL Edge 中创建的数据库执行日志备份。如果需要执行日志备份,则需要先将数据库恢复模式更改为完整恢复模式。