SQLServer数据库备份和还原——使⽤sqlcmd
备份
BACKUP DATABASE AbpFirst TO DISK='d:\AbpFirst.bak'
还原
RESTORE DATABASE AbpFirst FROM DISK='d:\AbpFirst.bak'
使⽤sqlcmd命令则要加上连接信息:
备份
sqlcmd -S . -E -Q "BACKUP DATABASE AbpFirst TO DISK='d:\AbpFirst.bak'"
还原
sql数据库备份文件sqlcmd -S . -E -Q "RESTORE DATABASE AbpFirst FROM DISK='d:\AbpFirst.bak'"
以上的还原命令,如果备份和还原在同⼀台SqlServer 服务器上,则没有问题;但是,如果是在另⼀台Sql
Server 服务器上还原该备份⽂件,则会报错。因为还原的时候会验证备份时数据⽂件的路径。这时,我们需要使⽤WITH MOVE 重新映射数据⽂件和⽇志⽂件:
sqlcmd -S .\sqlexpress -E -Q "RESTORE DATABASE AbpFirst FROM DISK='D:\AbpFirst.bak'WITH MOVE 'AbpFirst'TO'D:\MyData\AbpFirst_Data.mdf', Move 'AbpFirst_log'TO'D:\MyData\AbpFirst_log.ldf'"
如果我们不知道数据⽂件和⽇志⽂件的名称,可以使⽤下⾯的命令查询:
sqlcmd -S .\sqlexpress -E -Q "RESTORE FILELISTONLY FROM DISK='d:\AbpFirst.bak'"