SQL Server 数据库备份和还原——使用sqlcmd

本文详细介绍了使用SQL Server进行数据库备份和还原的方法,包括备份数据库到指定路径、使用sqlcmd命令进行操作,以及解决跨服务器还原时的数据文件路径冲突问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

备份

BACKUP DATABASE 数据库名 TO DISK=’d:\数据库名.bak’;

 

还原

RESTORE DATABASE 数据库名 FROM DISK=’d:\数据库名.bak’;

 

使用sqlcmd命令则要加上连接信息:

 

备份

sqlcmd -S . -E -Q “BACKUP DATABASE 数据库名 TO DISK=’d:\数据库名.bak'”;

 

还原

sqlcmd -S . -E -Q “RESTORE DATABASE 数据库名 FROM DISK=’d:\数据库名.bak'”;

 

以上的还原命令,如果备份和还原在同一台SqlServer 服务器上,则没有问题;但是,如果是在另一台SqlServer 服务器上还原该备份文件,则会报错。因为还原的时候会验证备份时数据文件的路径。这时,我们需要使用WITH MOVE 重新映射数据文件和日志文件:

sqlcmd -S .\sqlexpress -E -Q "RESTORE DATABASE 数据库名 FROM DISK='D:\数据库名.bak' WITH MOVE '数据库名' TO 'D:\MyData\数据库名_Data.mdf', Move '数据库名_log' TO 'D:\MyData\数据库名_log.ldf'";

 

如果我们不知道数据文件和日志文件的名称,可以使用下面的命令查询:

sqlcmd -S .\sqlexpress -E -Q “RESTORE FILELISTONLY FROM DISK=’d:\数据库名.bak'”;

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值