页面

2012年12月22日星期六

MS SQL Server 使用sqlcmd 进行数据恢复

--数据恢复
RESTORE DATABASE [database_name]
FROM DISK = N'backup_file_path'
WITH FILE = 1,
MOVE N'database_logic_name' TO N'restore_database_file_path',
MOVE N'database_logic_name' TO ,' TO N'restore_database_file_path',
MOVE N'database_logic_name' TO N', restore_database_file_path',
NOUNLOAD, STATS = 10
GO

eg:
RESTORE DATABASE [yktparking]
FROM DISK = N'C:\c3_parking_data\c3\20120918'
WITH FILE = 1,
MOVE N'C30904_Data' TO N'C:\c3testbase\datafiles\yktc3.mdf',
MOVE N'c3backup' TO N'C:\c3testbase\datafiles\yktc3.ndf',
MOVE N'C30904_log' TO N'C:\c3testbase\datafiles\yktc3.ldf',
NOUNLOAD, STATS = 10
GO


如果不知道备份数据库的逻辑文件名可以使用以下命令查看:

restore  filelistonly from disk='backup_file_name'
go


eg:

restore  filelistonly from disk='D:\Richfit\c3_parking_data\c3\20120925'
go


---------------------
ps:有时候我们拿到的不一定是备份文件,有可能是数据库文件,那就需要创建一个使用该数据文件的库了。命令如下:

 USE [master]
GO
CREATE DATABASE [database_name] ON     
( FILENAME = N'<database name>.mdf' ),  --完整的数据库文件路径
( FILENAME = N'<database name>.ldf' )
 FOR ATTACH ;
GO

注意 : database_name : 需要创建的数据库名称
            database_name.mdf : 数据库文件的完整路径






没有评论:

发表评论