使用sqlcmd备份SQL Server数据库到本地磁盘及Vinchin增强方案
2026-06-12
备份 和还原 SQL Server 数据库 是保障数据安全与可用性的关键任务。数据库管理员可借助 sqlcmd 命令行工具,无需依赖图形界面,高效完成备份与还原操作。本指南详细说明了将数据库备份至本地磁盘、在相同或不同服务器上还原该备份,以及应用若干实用增强功能以简化流程并提升可靠性等核心步骤。
如何使用 sqlcmd 将数据库备份到本地磁盘?
步骤1:使用 sqlcmd 将数据库备份到本地磁盘
您可以使用以下命令将数据库备份到本地磁盘上的 .bak 文件:
sqlcmd -S . -E -Q "BACKUP DATABASE YourDatabase TO DISK='D:\backup\YourDatabase.bak'"
参数说明:
-
-S . — 连接到本地 SQL Server 实例。
-
-E — 使用 Windows 身份验证。
-
-Q — 执行其后的 SQL 查询。
-
-
TO DISK='path' — 指定备份文件的目标位置。
示例:
sqlcmd -S . -E -Q "BACKUP DATABASE TestDB TO DISK='D:\backup\TestDB.bak'"
步骤2:在本地还原备份文件
要在同一台服务器上还原已备份的数据库,请使用以下命令:
sqlcmd -S . -E -Q "RESTORE DATABASE YourDatabase FROM DISK='D:\backup\YourDatabase.bak'"
步骤3:在另一台服务器上使用 WITH MOVE 进行还原
在另一台服务器上还原数据库时,原始文件路径可能不存在。此时,请使用 WITH MOVE 选项重新指定数据文件和日志文件的存放位置:
sqlcmd -S . -E -Q "RESTORE DATABASE NewDatabase FROM DISK='D:\backup\YourDatabase.bak' WITH MOVE 'LogicalDataFileName' TO 'D:\Data\NewDatabase.mdf',MOVE 'LogicalLogFileName' TO 'D:\Data\NewDatabase_log.ldf'"
要查找逻辑文件名,请运行以下命令:
sqlcmd -S . -E -Q "RESTORE FILELISTONLY FROM DISK='D:\backup\YourDatabase.bak'"
在输出结果中查找 LogicalName 列——该列中的名称即为 WITH MOVE 子句所需使用的名称。
步骤4:实用的增强功能
1. 使用SQL身份验证(适用于不支持Windows身份验证的环境)
sqlcmd -S ServerName -U Username -P Password -Q "BACKUP DATABASE ..."
2. 启用备份压缩(以减小文件大小)
BACKUP DATABASE YourDatabase TO DISK='path' WITH COMPRESSION
3. 使用任务计划程序自动执行备份
将备份命令保存在.bat文件中,并通过Windows任务计划程序进行调度,以实现定期备份的自动化。
使用 Vinchin 实现更智能的数据库备份
尽管 sqlcmd 提供了一种轻量级且可脚本化的 SQL Server 备份方式,但在处理多个数据库、定时备份、保留策略及灾难恢复等更复杂需求时,手动管理容易出错且效率低下。
为提升数据库保护的效率与可靠性,建议使用Vinchin 备份与恢复软件——一款功能强大且无需安装代理的备份解决方案。它不仅支持 SQL Server,还广泛兼容 Oracle、MySQL、PostgreSQL、Postgres Pro 和 MariaDB 等多种数据库类型。Vinchin 专为物理服务器与虚拟化平台的灵活部署而设计,可轻松满足复杂 IT 环境的需求。用户可根据实际需要配置完整备份、差异备份、增量备份及事务日志备份策略,实现高频次、低干预的数据保护。
Vinchin 不仅提供灵活的备份策略,还通过用户友好的 Web 控制台集中管理所有备份任务,从而简化 IT 运维工作。针对 SQL Server,Vinchin 利用其内置的一致性检查工具验证数据完整性,进一步提升可靠性。其先进的备份技术可将数据库备份体积最多缩减 70%,同时仅占用生产环境中极少的 CPU 资源,显著提升备份效率与存储利用率。借助智能调度与自动化作业管理,Vinchin 提供了一套兼具灵活性、高效性与易用性的企业级数据库备份解决方案,助力组织降低存储成本及整体运维负担。
Vinchin 备份与恢复的操作非常简单,只需几个简单的步骤。
1. 仅选择主机上的数据库
2. 然后选择备份目标位置
3. 选择策略
4. 最后提交任务
✅ 立即点击此处,领取 Vinchin 备份与恢复服务为期 15 天的免费试用期,轻松开启您的自动化数据库保护之旅!
下载免费试用版
适用于多种数据备份
* 15天全功能免费安全下载
使用 sqlcmd 将数据库备份到本地磁盘的常见问题
问题1:备份失败的可能原因有哪些?
A1:路径不存在或权限不足(SQL Server 服务账户需要具有写入权限)
数据库名称拼写错误
登录凭据不正确
文件正被另一个进程占用
Q2:能否使用相对路径?
A2:不建议使用相对路径。最好使用完整路径,以避免路径解析错误。
结论
使用 sqlcmd 备份 SQL Server 适用于简单任务,但在复杂环境中实现可扩展、自动化且可靠的保护时,Vinchin 备份与恢复提供了一种更智能、无需代理的解决方案,支持广泛的数据库类型,并具备集中化管理能力。