进入数据库

sqlcmd -S localhost -U SA -P password

备份文件

#备份格式

BACKUP DATABASE your_database_name TO DISK = 'path_to_backup_file.bak';

#举例
1> BACKUP DATABASE XJZDataTest TO DISK = '/root/mssql.bak';
2> go

在这里插入图片描述
使用备份文件恢复数据库
1、查询备份文件中的数据文件和日志文件的逻辑名称

1> RESTORE FILELISTONLY
2> FROM DISK = '/root/mssql.bak'
3> go

在这里插入图片描述
2、开始恢复

#模板
RESTORE DATABASE new_database 
FROM DISK = 'C:\backup\old_database.bak'
WITH MOVE 'old_database_data' TO 'C:\data\new_database_data.mdf',
     MOVE 'old_database_log' TO 'C:\logs\new_database_log.ldf';
#举例
1> RESTORE DATABASE XJZData1
2> FROM DISK = '/root/mssql.bak'
3> WITH MOVE 'XJZDataTest' TO '/var/opt/mssql/data/XJZData1.mdf',
4> MOVE 'XJZDataTest_log' TO '/var/opt/mssql/data/XJZData1_log.ldf';
5> go

解释:

WITH MOVE 选项用于指定新的数据文件和日志文件的路径。由于你正在恢复到一个新的数据库,因此数据文件和日志文件通常需要指定新的路径和名称。

old_database_data 和 old_database_log 是备份文件中的数据文件和日志文件的逻辑名称,第一步图片框出来的两个名称需要替换这两个old名称
在这里插入图片描述
常见问题

有报错

Msg 3201, Level 16, State 2, Server bogon, Line 1
Cannot open backup device '/root/MyDatabase_20241108.bak'. Operating system error 2(The system cannot find the file specified.).
Msg 3013, Level 16, State 1, Server bogon, Line 1
RESTORE FILELIST is terminating abnormally.

在这里插入图片描述

配置文件放在mssql目录
eg:/var/opt/mssql//MyDatabase_20241108.bak

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐