sqlserver数据库备份和还原

Step1:备份数据库db_unit_1到d:\backup下,名为db_unit_0.bak

backup database db_unit_0 to disk='d:\backup\db_unit_0.bak' with init
Step2:数据库db_unit_2从上一步备份的db_unit_0.bak中还原,
restore database db_unit_2 from disk='d:\backup\db_unit_0.bak' with move 'db_unit_0' to 'D:\Microsoft SQLServer\MSSQL.1\MSSQL\DATA\db_unit_2.mdf',
move 'db_unit_0_log' to 'D:\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\db_unit_2.ldf',replace 
with后面是限定条件,with replace是替换,把原来的数据库db_unit_0用db_unit2替换,则db_unit_0对应的数据库文件和日志文件都替换为db_unit_2的。数据库文件的后缀为mdf,日志文件的后缀为ldf。

Step3:上一步虽然把原来的数据库db_unit_0用db_unit_2替换了,但是此时db_unit_2的逻辑名还是db_unit_0。因为当我们进行从一个备份中还原数据库时,数据库的逻辑文件名是不会改变的。因此需要改变数据库的逻辑名,通过如下指令

ALTER DATABASE db_unit_2 MODIFY file(name='db_unit_0_log',newname='db_unit_2_log')
ALTER DATABASE db_unit_2 MODIFY file(name='db_unit_0',newname='db_unit_2')


你可能感兴趣的:(sqlserver数据库备份和还原)