扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
这个问题的原因在于有用户连接了当前要做还原的数据库,这里的用户甚至包括当前要做还原的用户。解决办法就是关闭与要还原数据库的所有连接。
成都创新互联从2013年成立,是专业互联网技术服务公司,拥有项目网站制作、成都网站设计网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元阜平做网站,已为上家服务,为阜平各地企业和个人服务,联系电话:028-86922220
脚本之家小编推荐的一个方法:到服务里面重启下sqlserver服务即可。
问题一描述:SQL
Server数据库备份还原后,在数据库名称后会出现“受限制访问”字样
问题二描述:在对SQL
Server数据库进行还原时,提示:System.Data.SqlClient.SqlError:因为数据库正在使用,所以无法获得对数据库的独占访问权。(Microsoft.SqlServer.Smo)。出现此问题的原因是在还原数据库时,有其他用户正在使用数据库。还原数据库要求数据库工作在单用户模式。通常就是DBA在操作时,不允许其他用户连接数据库。
问题一解决办法:
右键点击数据库
-
属性
-
选项
-
状态
-
限制访问
-
选择Multiple
-
确定。
问题二解决办法:
方法一(最方便):右键点击数据库
-
属性
-
选项
-
状态
-
限制访问
-
选择Single-
确定。然后还原。
方法二(最直接):断开数据库连接
方法三(最暴力):注销/重启数据库服务器
方法四(最麻烦):写代码修改数据库相关属性,虽然麻烦,有的时候还是要用到,那就用到的时候再研究。
①先切换数据库到master数据库。执行语句
select
*
from
master..sysprocesses
where
dbid=db_id(
'数据库名称')
②然后逐步运行语句
exec
kill
spid(上一步结果集中的数据),
问题就解决了。哈哈
今天在还原数据库的时候,提示"因为数据库正在使用,所以无法获得对数据库的独占访问权",无论我是重启数据库,还是重启计算机,都不能解决问题,多番尝试后,终于解决了该问题。现将引发该问题的原因与解决方案写出来,有不对的地方欢迎大家提出来。
引发原因:是因为我在还原数据库的时候,还有其他的用户正在使用数据库,所以就会出现以上提示。
解决方法:
1,设置数据库在单用户模式下工作。
设置方法:在需要还原的数据库上右击,在右键菜单命令上选择"属性"-
"选项"-
"状态"-
"限制访问"-
"Single"。这是SQLSERVER2005的菜单命令,其它版本请自己查找。
2,利用SQL语句,杀死正在使用该数据库的所有进程,自己以前在做一个SQL
SERVER操作小工具的时候有写过该功能的SQL,贴出来供大家参考:
复制代码
代码如下:
declare
@dbname
varchar(50)
set
@dbname='数据库名称'
declare
@sql
varchar(50)
declare
cs_result
cursor
local
for
select
'kill
'+cast(spid
as
varchar(50))
from
sys.sysprocesses
where
db_name(dbid)=@dbname
open
cs_result
fetch
next
from
cs_result
into
@sql
while
@@fetch_status=0
begin
execute(@sql)
fetch
next
from
cs_result
into
@sql
end
close
cs_result
deallocate
cs_result
该SQL语句利用游标循环所有正在使用该数据库的进程,并通过kill命令杀死进程。
3,利用SQL语句,断开所有用户链接,并回滚所有事务,具体SQL语句如下:
复制代码
代码如下:
ALTER
DATABASE
[数据库名称]
SET
OFFLINE
WITH
ROLLBACK
IMMEDIATE
注意:在使用方法2与3时,不要在需要的还原的数据库下执行,建议在master数据库下面执行。
换系统用户进去装就行了。
是不是以系统管理员身份登陆的。你的管理员只属于administrator组,没有所有权限,可以用administrator帐号进去进行修改权。切换到系统默认帐户administrator状态下安装。注销用户,然后CTRL+ALT+DELETE按两次,administrator密码你没设过就为空。
如果进不去,安全模式肯定能进去,右击我的电脑===管理===计算机管理(本地)===系统===本地用户和组===用户。请重新安装该组件程序,如果是下载的,可以考虑更换个下载地址重新下载试试(最好是到微软官方网下载安装),安装前请将原来安装过的该程序卸载,或者清理下垃圾文件和注册表,确保原来的错误不会影响新下载的程序。同时在安装该组件时,请关闭其它应用程序,安装该程序,防止其它应用软件影响其安装。
可能是在其他软件卸载过程中把有的文件损坏了,建议重安装一下SQL Server
如果你的远程桌面无法远程,提示超过用户数,你可以试试用sql server。用sql server中执行cmd命令也可以注销登录用户。连接mssql后执行--注销登录用户 无法登陆远程桌面时用
以【admin】登录【系统管理】-【权限】-选择【操作员】-【修改】-点击【姓名】后面栏框【注销当前用户】-变为【启用当前用户】-注销成功。
操作员是负责维护SQLSERVER系统的人员,操作员可以由一人担任,在那些拥有很多服务器的大型企业中,操作员也可以由多人担任。
注销的意思是向系统发出清除登录的用户的请求,清除后即可使用其他用户来登录你的系统。注销不可以替代重新启动,只可以清空当前用户的缓存空间和注册表信息。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流