Sql server还原失败(数据库正在使用,无法获得对数据库的独占访问权)[亲测有效]

Sql server还原失败(数据库正在使用,无法获得对数据库的独占访问权)[亲测有效]一.Sql server还原失败(数据库正在使用,无法获得对数据库的独占访问权) 本次测试使用数据库实例SqlServer2008r2版 错误详细: 标题: Microsoft SQL Server

Sql server还原失败(数据库正在使用,无法获得对数据库的独占访问权)

一.Sql server还原失败(数据库正在使用,无法获得对数据库的独占访问权)

本次测试使用数据库实例SqlServer2008r2版

错误详细:

标题: Microsoft SQL Server Management Studio
还原数据库“Mvc_HNHZ”时失败。 (Microsoft.SqlServer.Management.RelationalEngineTasks)
其他信息:
System.Data.SqlClient.SqlError: 因为数据库正在使用,所以无法获得对数据库的独占访问权。 (Microsoft.SqlServer.SmoExtended)

原因分析:

在SqlServer2008r2中在还原数据库时,在执行备份操作的时候,如果有正在访问的用户或者没有关闭的数据库链接,则还原失败。

二、解决方案

解决方案1.

如果你使用管理工具还原数据库并且在Microsoft SQL Server Management Studio 2016或以上版本的话,可以在还原的时候勾选”关闭到目标数据库的现有链接”

解决方案2:

如果你的SqlServer Management Studio的版本比较低,可以设置数据库为单用户模式,执行完还原操作后,恢复为多用户模式

设置方式:选中要还原的数据库–>属性–>选项–>限制访问
该值从MULTI_USER修改为SINGLE_USER,此时该数据库就会显示为单用户模式
这是GUI的模式,语句的办法比较简单

—设置数据库为单用户模式
USE MASTER
GO
ALTER DATABASE eol_tcgroup SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
GO
—设置数据库为多用户模式
USE MASTER
GO
ALTER DATABASE eol_tcgroup SET MULTI_USER WITH ROLLBACK IMMEDIATE;
GO
解决方案3:

完全使用T-Sql的方式,执行备份数据库操作

use master
go
—声明变量
declare @dbName nvarchar(max)=‘Mvc_HNHZ’;
declare @dbFullName nvarchar(max)=‘E:NewWorkWebackup est1.bak’;
–1.1修改为单用模式
exec(N’ALTER DATABASE ‘+@dbName+’ SET SINGLE_USER WITH ROLLBACK IMMEDIATE’);
–1.2结束链接进程
DECLARE @kid varchar(max)
SET @kid=’’
SELECT @kid=@kid+”KILL ‘+CAST(spid as Varchar(10)) FROM master…sysprocesses
WHERE dbid=DB_ID(@dbName) ;
EXEC(@kid) ;
–2.执行还原语句
restore database @dbName from disk=@dbFullName
with replace –覆盖现有的数据库
–3.重置数据库为多用户模式
exec(N’ALTER DATABASE ‘+@dbName+’ SET MULTI_USER WITH ROLLBACK IMMEDIATE’);
————————————————
版权声明:本文为CSDN博主「吖苏哥哥好」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/a826193310/article/details/99560739

原文地址:https://www.cnblogs.com/java265/archive/2022/07/27/16523518.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/4964.html

(0)
上一篇 2023-05-28
下一篇 2023-05-28

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注