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)

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

原因分析:

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

二、解决方案

解决方案1.

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

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

解决方案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的方式,执行备份数据库操作文章来源地址https://www.toymoban.com/news/detail-638386.html

use master
go
---声明变量
declare @dbName nvarchar(max)='Mvc_HNHZ';
declare @dbFullName nvarchar(max)='E:\NewWork\Web\backup\test1.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');

到了这里,关于Sql server还原失败(数据库正在使用,无法获得对数据库的独占访问权)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【SQL Server】---SQL Server 2008 R2数据库导入(还原).bak文件

    以下是简述SQL Server把备份的数据.bak文件还原、导入的方法。 一、新建数据库、数据文件夹;         1.新建数据库Cola:打开SQL Server-数据库-新建数据库;                            2.新建.bak数据文件夹:新建一个文件夹,把.bak数据文件放到该文件夹下;      

    2024年02月13日
    浏览(40)
  • 在SQL server中用sql语句实现数据库的备份以及还原

    本文给大家提供并讲解了在SQL server中用SQL语句实现数据库的备份已经还原 假设你已经有一个数据库Student 创建备份设备,其名称为bk_Student,保存文件为D: Student.bak,并对Student数据库进行完全备份,备份到备份设备bk_ Student中。  在Student数据库中,创建一张表temp并对Student数

    2024年02月03日
    浏览(39)
  • Sql Server高版本数据库数据备份后还原到低版本数据库

    如果需要将高版本的Sql Server2019数据库还原到Sql Server低版本(2012,2008等)数据库,通过以下方法可以顺利还原 通过高版本生成sql脚本在低版本执行,并且数据也能保留 步骤:选择数据库右键 点击任务 生成脚本 在设置脚本编写选项时,选择高级,编写脚本数据类型选择为架构和数

    2024年02月09日
    浏览(48)
  • 还原Sql Server数据库BAK备份文件的三种方式及常见错误

    这是演示的是Sql Server 2008R2版本,不同版本可能有细微差别 右键点击数据库→还原数据库    在还原的源中选择源设备→点击选择框  在指定备份中点击添加→选择具体文件→确定→确定  勾选用于还原的备份集→这时目标数据库中会自动生成目标数据库名,在此选择即可→

    2023年04月08日
    浏览(45)
  • SQL Server数据库连接失败错误及解决方法

    在使用 SQL Server 的过程中,用户遇到的最多的问题莫过于连接失败了。一般而言,有以下两种连接 SQL Server 的方式,一是利用 SQL Server 自带的客户端工具,如企业管理器、查询分析器、事务探查器等;二是利用用户自己开发的客户端程序,如ASP 脚本、VB程序等,客户端程序中又

    2024年02月15日
    浏览(46)
  • SQLServer2008数据库还原失败 恢复失败

    源地址:http://www.taodudu.cc/news/show-1609349.html?action=onClick 还原数据库问题解决方案 在还原数据库“Dsideal_school_db”时,有时会遇见上图中的问题“因为数据库正在使用,所以无法获得对数据库的独占访问权”,此时我们可以按照以下步骤解决此问题 1、右键数据库“Dsideal_schoo

    2024年02月10日
    浏览(38)
  • Microsoft ODBC SQL SERVER Driver 无法打开登录 ‘xxxx‘ 中请求的数据库。登录失败

     1、请打开企业管理器检查数据库是否质疑或损坏,若有损坏,先修复好数据库后再试试。 2、在企业管理器中检查数据库用户密码是否正确,若该账户丢失或密码被篡改,可备份好数据库后使用软件server安装包安装一个新库后,再删除新库还原之前的备份再试试。 3、请检查

    2024年02月11日
    浏览(52)
  • 安装SQL Server2012到最后一步时出现Microsoft SQL Server 2012 Service Pack 1安装程序出现以下错误:等待数据库引擎恢复句柄失败。

    安装SQL Server2012到最后一步时一直出现Microsoft SQL Server 2012 Service Pack 1安装程序 出现以下错误: 等待数据库引擎恢复句柄失败。请查看SQL Server错误日志以了解可能的原因。 如果忽略之后还是继续安装,后面结束的时候面板会显示一些错误,比如:     原以为是版本和兼容的问

    2024年02月17日
    浏览(46)
  • SQL Server数据库使用SQL Server代理实现数据库自动备份

    在现实中,为了保证数据的安全和完整,防止人为错误和硬件故障等造成的数据丢失和损坏,就需要用到数据库的备份,不同的数据库方法有所差别,我这边主讲SQL Server数据库的备份和使用SQL Server代理作业实现数据库的定时备份。 目录 一、开启SQL Server代理 1、找到SQL Serv

    2024年02月09日
    浏览(56)
  • SQL Server数据库使用

    SQL Server 2008 R2的安装和使用 安装前的准备 安装过程 1)安装所选功能 2)安装的类型:默认或命名实例 3)服务账户 4)身份验证模式 5)排序规则设置 6)开始安装 7)完成安装 验证数据库安装成功 【开始】|【程序】中可以看到Microsoft SQL Server 2008的程序组 启动和停止数据库

    2024年02月11日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包