180.在现有的数据库上还原时的数据库文件处理

103 阅读1分钟
--创建一个测试数据库
CREATE DATABASE db
ON(
	NAME=db,
	FILENAME='c:\db.mdf')
LOG ON(
	NAME=db_log,
	FILENAME='c:\db.ldf')

--备份并删除测试数据库
BACKUP DATABASE db TO DISK='c:\a.bak' WITH FORMAT
DROP DATABASE db

--创建一个文件结构相同,但物理文件位置不同的数据库
CREATE DATABASE db
ON(
	NAME=db,
	FILENAME='d:\db.mdf')
LOG ON(
	NAME=db_log,
	FILENAME='d:\db.ldf')

--在新建的数据库上强制还原备份
RESTORE DATABASE db FROM DISK='c:\a.bak' WITH REPLACE

--查看还原后的文件位置
SELECT name,filename FROM db.dbo.sysfiles
/*--结果(还原后文件被移动到新建数据库时指定的对应文件)
name         filename
------------ -----------
db           d:\db.mdf
db_log       d:\db.ldf
--*/
--删除测试