SQL SERVER – Restore Database Backup using SQL Script (T-SQL)

SQL SERVER – Restore Database Backup using SQL Script (T-SQL)

In this blog post we are going to learn how to restore database backup using T-SQL script. We have already database which we will use to take a backup first and right after that we will use it to restore to the server. Taking backup is an easy thing, but I have seen many times when a user tries to restore the database, it throws an error.

 

Step 1: Retrive the Logical file name of the database from backup.

1
2
3
RESTORE FILELISTONLY
FROM DISK = 'D:\BackUpYourBaackUpFile.bak'
GO

Step 2: Use the values in the LogicalName Column in following Step.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
----Make Database to single user Mode
ALTER DATABASE YourDB
SET SINGLE_USER WITH
ROLLBACK IMMEDIATE
 
----Restore Database
RESTORE DATABASE YourDB
FROM DISK = 'D:\BackUpYourBaackUpFile.bak'
WITH MOVE 'YourMDFLogicalName' TO 'D:\DataYourMDFFile.mdf',
MOVE 'YourLDFLogicalName' TO 'D:\DataYourLDFFile.ldf'
 
/*If there is no error in statement before database will be in multiuser
mode.
If error occurs please execute following command it will convert
database in multi user.*/
ALTER DATABASE YourDB SET MULTI_USER
GO

 

 

如果是还原数据库本身的话,sql server 2014里面步骤1不需要,

然后步骤2里面的restore命令,只需要with replace,不需要指定move to

 

RESTORE cannot process database, because it is in use by this session

Msg 3102, Level 16, State 1, Line 8
RESTORE cannot process database '' because it is in use by this session. It is recommended that the master database be used when performing this operation.
Msg 3013, Level 16, State 1, Line 8
RESTORE DATABASE is terminating abnormally.

把打开的sql窗口里面的数据库,切换成master,就可以执行了

 

posted @ 2021-04-28 16:33  ChuckLu  阅读(224)  评论(0)    收藏  举报