sqlserver使用bak文件规复数据库

打印 上一主题 下一主题

主题 1897|帖子 1897|积分 5691

进入数据库
  1. sqlcmd -S localhost -U SA -P password
复制代码
备份文件
  1. #备份格式
  2. BACKUP DATABASE your_database_name TO DISK = 'path_to_backup_file.bak';
  3. #举例
  4. 1> BACKUP DATABASE XJZDataTest TO DISK = '/root/mssql.bak';
  5. 2> go
复制代码

使用备份文件规复数据库
1、查询备份文件中的数据文件和日志文件的逻辑名称
  1. 1> RESTORE FILELISTONLY
  2. 2> FROM DISK = '/root/mssql.bak'
  3. 3> go
复制代码

2、开始规复
  1. #模板
  2. RESTORE DATABASE new_database
  3. FROM DISK = 'C:\backup\old_database.bak'
  4. WITH MOVE 'old_database_data' TO 'C:\data\new_database_data.mdf',
  5.      MOVE 'old_database_log' TO 'C:\logs\new_database_log.ldf';
  6. #举例
  7. 1> RESTORE DATABASE XJZData1
  8. 2> FROM DISK = '/root/mssql.bak'
  9. 3> WITH MOVE 'XJZDataTest' TO '/var/opt/mssql/data/XJZData1.mdf',
  10. 4> MOVE 'XJZDataTest_log' TO '/var/opt/mssql/data/XJZData1_log.ldf';
  11. 5> go
复制代码
表明:
WITH MOVE 选项用于指定新的数据文件和日志文件的路径。由于你正在规复到一个新的数据库,因此数据文件和日志文件通常需要指定新的路径和名称。
old_database_data 和 old_database_log 是备份文件中的数据文件和日志文件的逻辑名称,第一步图片框出来的两个名称需要替换这两个old名称

常见问题
有报错
  1. Msg 3201, Level 16, State 2, Server bogon, Line 1
  2. Cannot open backup device '/root/MyDatabase_20241108.bak'. Operating system error 2(The system cannot find the file specified.).
  3. Msg 3013, Level 16, State 1, Server bogon, Line 1
  4. RESTORE FILELIST is terminating abnormally.
复制代码

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

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

杀鸡焉用牛刀

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表