Skip to main content

Restore of database 'DataBase_Name' failed. (Microsoft.SqlServer.Management.RelationalEngineTasks)

TITLE: Microsoft SQL Server Management Studio
------------------------------
Restore of database 'DataBase_Name' failed. (Microsoft.SqlServer.Management.RelationalEngineTasks)
------------------------------
ADDITIONAL INFORMATION:
System.Data.SqlClient.SqlError: Exclusive access could not be obtained because the database is in use. (Microsoft.SqlServer.SmoExtended)
For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=12.0.2000.8+((SQL14_RTM).140220-1752)&LinkId=20476
------------------------------
BUTTONS:
OK
------------------------------


Procedure 1:

1. Right click Databases
2. Restore Database...
3. [General] Source from Device, select the bak file
4. [General] Change the Destination database name to a new name
5. [Files] Change mdf and ldf Restore As paths to a different, new path
6. [Options] (unnecessary on the other computer) Check Overwrite the existing database (WITH_REPLACE)
7. [Options] (unnecessary on the other computer) Check Close existing connections to destination database
8. Click OK

Procedure 2:

Step 1:
USE master
GO
ALTER DATABASE DataBase_Name
SET SINGLE_USER
--This rolls back all uncommitted transactions in the db.
WITH ROLLBACK IMMEDIATE
GO
Step 2:
RESTORE DATABASE DataBase_Name FROM DISK = 'C:\DataBase_Name.BAK' WITH replace
GO
Step 3:
ALTER DATABASE DataBase_Name SET MULTI_USER;
GO

Procedure 3:

ALTER DATABASE DataBase_Name
SET OFFLINE WITH ROLLBACK IMMEDIATE
GO
ALTER DATABASE DataBase_Name
SET ONLINE
GO

Procedure 4:

DECLARE @sql as varchar(20), @spid as int
SELECT @spid = min(spid)  FROM master..sysprocesses  WHERE dbid = db_id('DataBase_Name')
and spid != @@spid   
while (@spid is not null)
BEGIN
    PRINT 'Killing process ' + cast(@spid as varchar) + ' ...'
    set @sql = 'kill ' + cast(@spid as varchar)
    exec (@sql)
    SELECT
        @spid = min(spid) 
    FROM
        master..sysprocesses 
    WHERE
        dbid = db_id('DataBase_Name')
        and spid != @@spid
END
print 'Process completed...'

Procedure 5:

Step 1:
Drop all the connections accessing the database. This can be done either killing the connections or by putting databases in single user mode.
Execute SP_WHO2 to find all the connections to the database or we can also use activity monitor dashboard to find those connections.
Step 2:
Kill all the connections accessing database using below script.
Kill SPID   — SPID is the session ID of the user process
Step 3:
Setting the database to single user mode
Use master
GO
ALTER DATABASE DataBase_Name SET SINGLE_USER WITH ROLLBACK IMMEDIATE
GO
RESTORE DATABASE DataBase_Name FROM DISK = ‘C:\DataBase_Name.BAK’
GO
ALTER DATABASE DataBase_Name set multi_user
GO

Comments

Post a Comment

Hi User,
Thanks for visiting My Blog and please provide your valuable feedback and subscribe for more updates. Please don't post any spam content or comments.
Thank You

Popular posts from this blog

SSRS INTERVIEW QUESTIONS

Q: What is SSRS? Ø   SSRS or SQL Server Reporting Service is a server-based report generation software systems from Microsoft and is part of Microsoft BI. Ø   It is used for preparing and delivering interactive and variety of reports. Ø   It is administered through an web based interface. Ø   Reporting services utilizes a web service interface for supporting and developing of customized reporting applications. Ø   SSRS lets you create very rich reports (Tabular/Graphical/Interactive) from various datasources with rich data visualization (Charts, Maps, sparklines) Ø   SSRS allows are reports to be exported in various formats (Excel, PDF, word etc) Q: Explain SSRS Architecture? Reporting services architecture comprises of integrated components. It is a multi-tiered, included with application, server and data layers. This architecture is scalable and modular. A single installation can be used across multiple computers. It includes the fo...

Exception deserializing the package "The process cannot access the file because it is being used by another process."

TITLE: Microsoft Visual Studio ------------------------------ Failed to start project ------------------------------ ADDITIONAL INFORMATION: Exception deserializing the package "The process cannot access the file 'E:\SSASCube\HistoricalDataLoad\HistoricalDataLoad\bin\Development\HistoricalDataLoad.ispac' because it is being used by another process.". (Microsoft.DataTransformationServices.VsIntegration) ------------------------------ The process cannot access the file 'E:\SSASCube\HistoricalDataLoad\HistoricalDataLoad\bin\Development\HistoricalDataLoad.ispac' because it is being used by another process. (mscorlib) ------------------------------ BUTTONS: OK ------------------------------ While running SSIS package i got the error “The process cannot access the file ‘*.ispac’ because it is being used by another process”. I tried to close SSDT and run it again but, I still got the same error while compiling. Then, after searching over internet, I got...

Failed to execute the package or element. Build errors were encountered

Error: TITLE: Microsoft Visual Studio ------------------------------ Failed to execute the package or element.   Build errors were encountered. For more information, see the Output window. ------------------------------ BUTTONS: OK ------------------------------   Solution: We tried to close SSDT and run it again but, we still got the same error while running SSIS package. Then, we need to follow bellow solution: Step 1: Go to Task Manager–> Details Tab. Step 2: Locate the process “ DtsDebugHost.exe “. Kill this process. There might be multiple instances of this process. Kill all of them. Step 3: Rerun SSIS package