SQL 还原数据库

1. 查看 SQL Server 2000 中 Northwind 数据库文件的逻辑文件名(logical file name)和物理文件路径(operation system file name):

use Nothwind
go

select name, filename, * from dbo.sysfiles
name            filename
--------------  ------------------------------------------------------------------
Northwind       d:/program files/microsoft sql server/mssql$sqla/data/northwnd.mdf
Northwind_log   d:/program files/microsoft sql server/mssql$sqla/data/northwnd.ldf

2. 备份 SQL Server 2000.Northwind 数据库

backup database Northwind to disk = 'c:/Northwind.bak'

3. 在 SQL Server 2005 Instance 中还原 Northwind 数据库。

use master
go

restore database Northwind from disk = 'c:/Northwind.bak'


4. 在 SQL Server 2005 中还原 Northwind 数据库正确方法:restore with move。

SQL Server 2005 中数据文件所在目录为:d:/microsoft sql server/mssql.1/mssql/data/sql

restore database Northwind from disk = 'c:/Northwind.bak'
with move 'Northwind'     to 'd:/microsoft sql server/mssql.1/mssql/data/Northwind.mdf'
    ,move 'Northwind_log' to 'd:/microsoft sql server/mssql.1/mssql/data/Northwind.ldf'

Northwind 数据库在 SQL Server 2005 中顺利还原。数据库

注意,在 SQL Server 2005 中还原 Northwind 的时候,并不须要首先建立一个同名的 Northwind 数据库,而是直接进行 restore。spa

另外的一个问题是,若是客户给你一个 Northwind.bak 备份文件,让你在本身的机器上 restore。那么如何来肯定 with move 中的逻辑文件名呢?一个方法是向客户咨询获取,二是使用 SQL Server restore filelistonly 来查看。.net

5. 使用 SQL Server restore filelistonly 命令来查看逻辑文件名

从 SQL Server restore filelistonly 命令结果中能够获取不少信息,下面仅列出 LogicalName and PhysicalName。rest

restore filelistonly from disk='c:/Northwind.bak' 
LogicalName       PhysicalName
---------------  ------------------------------------------------------------------
Northwind        d:/Program Files/Microsoft SQL Server/MSSQL$SQLA/data/northwnd.mdf
Northwind_log    d:/Program Files/Microsoft SQL Server/MSSQL$SQLA/data/northwnd.ldf


转载:http://blog.csdn.net/fax5201314/article/details/38865151