You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SQL Server托管实例数据库备份至本地文件系统方案咨询

SQL Server托管实例备份到本地文件系统的解决方案

核心背景说明

SQL Server托管实例本身无直接访问本地文件系统的权限,默认仅支持备份到Azure Blob存储,因此需先解决Blob存储的访问权限问题,再将备份文件下载至本地,最后完成本地恢复。


步骤1:解决Blob存储访问权限并完成备份到Blob

方案A:托管身份授权

  • 确认托管实例的系统分配/用户分配托管身份,已被授予目标Blob存储容器的Storage Blob Data Contributor角色权限
  • 权限配置完成后,执行备份T-SQL:
    BACKUP DATABASE [目标数据库名]
    TO URL = 'https://你的存储账户.blob.core.windows.net/容器名/备份文件名.bak'
    WITH COMPRESSION, STATS = 10;
    

方案B:SAS令牌授权(灵活适配临时权限需求)

  1. 在Azure门户生成目标Blob容器的SAS令牌,确保包含读、写、列表权限,有效期覆盖备份操作时长
  2. 在托管实例中创建对应凭据:
    CREATE CREDENTIAL [SAS凭据名]
    WITH IDENTITY = 'SHARED ACCESS SIGNATURE',
    SECRET = '生成的SAS令牌(需去掉开头的?)';
    
  3. 执行备份命令:
    BACKUP DATABASE [目标数据库名]
    TO URL = 'https://你的存储账户.blob.core.windows.net/容器名/备份文件名.bak'
    WITH CREDENTIAL = 'SAS凭据名', COMPRESSION, STATS = 10;
    

步骤2:将Blob备份文件下载到本地文件系统

方式A:Azure存储资源管理器

  • 登录Azure账号,定位到目标存储容器,找到备份文件后右键选择「下载」,指定本地保存路径

方式B:AzCopy命令行工具

azcopy copy "https://你的存储账户.blob.core.windows.net/容器名/备份文件名.bak?SAS令牌" "C:\本地备份路径\备份文件名.bak"

步骤3:本地SQL Server实例恢复数据库

连接本地SQL Server后,执行恢复脚本(替换路径与数据库名):

RESTORE DATABASE [恢复后的数据库名]
FROM DISK = 'C:\本地备份路径\备份文件名.bak'
WITH REPLACE,
MOVE '原数据库数据文件逻辑名' TO 'C:\本地SQL数据路径\恢复后的数据库名.mdf',
MOVE '原数据库日志文件逻辑名' TO 'C:\本地SQL日志路径\恢复后的数据库名.ldf',
STATS = 10;

关键注意事项

  • SAS令牌需妥善保管,使用后建议及时回收或设置合理有效期
  • 备份时启用压缩可显著减少存储占用与下载时间
  • 本地恢复前需确认目标路径有足够磁盘空间,且SQL Server服务账户对该路径具备读写权限

内容的提问来源于stack exchange,提问作者Sasquash

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 20:37:22