sql server 附加数据库和还原数据库

附加sql语句:

EXEC sp_attach_db @dbname = N'dataName', @filename1 = N'mdf_filepath.mdf', @filename2 = N'log_filepath.ldf'

注意:此方法附件数据库后,数据库添加成功后,数据库mdf和ldf文件为添加前的路径,sql server并没有把数据文件拷到默认路径下!

 

备份数据库:

backup database dataName to disk='xxx.bak'

还原数据库:

1、

restore database dataName from disk='xxx.bak'

注意:该语句会根据备份前的数据库mdf和ldf文件路径进行还原,当之前路径不存在时会出现还原失败。

 

2、



restore
database kaoqing from disk='xxx.bak' WITH MOVE 'LogicalName' TO 'xxx.mdf', MOVE 'LogicalName' TO 'xxx.ldf'

——使用filelistonly命令来找出逻辑名称  ——LogicalName逻辑名称还原时不能改变  ——PhysicalName物理名称可以更改
restore filelistonly fromdisk='c:\test1_full.bak'

--------------------------------------------------
| LogicalName | PhysicalName |

--------------------------------------------------
| test1 | C:\mssql\data\test1.mdf |

| test1_log | C:\mssql\data\test1_log.ldf |
-------------------------------------------------
 
RESTORE DATABASE Test
   FROM DISK = 'c:\test1_full.bak'
   WITH MOVE 'Test1' TO 'C:\MSSQL\SRVR2_Data\Test_Data.MDF',
        MOVE 'test1_log' TO 'C:\MSSQL\SRVR2_Data\Test_Log.LDF'
 

使用该方法进行数据还原时,会把数据库mdf和ldf文件拷到指定路径,不必担心数据备份前路径,LogiacalName表示逻辑名。

你可能感兴趣的:(sql,server)