独占访问权
㈠ .net(c#)还原sql server 2005数据库,出错因为数据库正在使用,所以无法获得对数据库的独占访问权。
cmd.ExecuteNonQuery();
con.Close();
你是在它执行之后才释放,当然会一样的出现访问无效,建议停止这个sqlserver的服务才去还原,如果你知道停止sqlserver进程的代码也可以!
㈡ 因为数据库正在使用 无法获得独占访问权 怎么改都无效
1.首先进入数据库级别的【安全性】-【登录名】-【新建登录名】
2. 在【常规】选项卡中,如下图所示,创建登陆名,并设置默认的数据库
3、 在【用户映射】选项卡中,如下图所示,勾选需要设置的数据库,并设置【架构】,点击【确认】按钮,完成创建用户的操作
4、现在我们就可以对TestLog数据库中的User表进行权限的设置了,【表】-【 属性】
5、在【权限】选项卡中,如下图所示,依此点击【添加】-【浏览】-【选择对象】
6、 在上面点击【确认】后,我们就可以下面的列表中找到对应的权限,如果你还想细化到列的权限的话,右下角还有一个【列权限】的按钮可以进行设置,点击【确认】按钮就完成了这些权限的设置了
7、现在就使用TestUser用户登陆数据库了,登陆后如下图所示,现在只能看到一个表了
㈢ 求助:“操作系统或其他程序当前已独占了磁盘或其中某些文件的访问权”什么意识应如何解决
这个情况一般是在删除移动文件的时候 或者改变文件名称的时候才会出现,也许你正要删除移动的文件正在被某些应用程序使用,或者本来就是一个应用程序已经在后台被运行时.就会出现这样的提示。
可以尝试关闭与所要操作文件相关的应用程序,然后再进行删除移动或者改名的操作
如果相关的文件是可执行文件也许他正在后台运行,可以打开任务管理器察看进程。关闭相关进程,就可以对该文件进行修改。
㈣ 如何将sqlserver2000设置为单用户模式
将数据库设置为单用户模式
连接到数据库引擎。在标准菜单栏上,单击“新建查询”。将以下示例复制并粘贴到查询窗口中,然后单击“执行”。此示例将数据库设置为
single_user
模式,以获得独占访问权。然后,该示例将
adventureworks2012
数据库的状...
㈤ sql server 2000 单用户如何设置
将数据库设置为单用户模式
连接到数据库引擎。在标准菜单栏上,单击“新建查询”。将以下示例复制并粘贴到查询窗口中,然后单击“执行”。此示例将数据库设置为 SINGLE_USER 模式,以获得独占访问权。然后,该示例将 AdventureWorks2012 数据库的状态设置为 READ_ONLY,并将对数据库的访问权返回给所有用户。在第一个 ALTER DATABASE 语句中指定终止选项 WITH ROLLBACK IMMEDIATE。这将导致所有未完成事务都将被回滚
SQL 如下:
ALTER DATABASE erdos SET SINGLE_USER WITH ROLLBACK IMMEDIATE; --设置单用户
GO
ALTER DATABASE erdos SET READ_ONLY;--设置只读
GO
ALTER DATABASE erdos SET MULTI_USER;--设置多用户
GO
2000不知道语句,这08可以使用的,不行就用下面的方式
将数据库设置为单用户模式
在对象资源管理器中,连接到 SQL Server 数据库引擎实例,再展开该实例。右键单击要更改的数据库,再单击“属性”。在“数据库属性”对话框中,单击“选项”页。在“限制访问”选项中,选择“单用户”。如果其他用户连接到数据库,将出现“打开的连接”消息。若要更改属性并关闭所有其他连接,请单击“是”。
㈥ sql server独占访问权如何去掉
1、首先进入数据库级别的【安全性】-【登录名】-【新建登录名】 2、在【常规】选项卡中,如下图所示,创建登陆名,并设置默认的数据库 3、在【用户映射】选项卡中,如下图所示,勾选需要设置的数据库,并设置【架构】,点击【确认】按钮,完成创建用户的操作 4、现在我们就可以对TestLog数据库中的User表进行权限的设置了,【表】-【 属性】 5、在【权限】选项卡中,如下图所示,依此点击【添加】-【浏览】-【选择对象】 6、 在上面点击【确认】后,我们就可以下面的列表中找到对应的权限,如果你还想细化到列的权限的话,右下角还有一个【列权限】的按钮可以进行设置,点击【确认】按钮就完成了这些权限的设置了 7、现在就使用TestUser用户登陆数据库了,现在只能看到一个表了
㈦ 用硬盘检查软件检查硬盘时,出现操作系统或其他程序已经独占了磁盘或某些文件的访问权,无法修复,什么意
有被打开的程序在这个分区上会有这样的提示
如果不是C盘,可以在命令行下输入 CHKDSK X: /F (F为一个分区的盘符)
回车后会提示是否强制卸载该卷, 选Y 回车。
这样就行了。
㈧ sql server 还原数据库时提示数据库正在使用,无法进行操作的解决方法
这个问题的原因在于有用户连接了当前要做还原的数据库,这里的用户甚至包括当前要做还原的用户。解决办法就是关闭与要还原数据库的所有连接。
脚本之家小编推荐的一个方法:到服务里面重启下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数据库下面执行。
㈨ SQL SERVER还原失败,这个独占访问权是指目标库还是源数据库
提示非常明确:数据库正在使用,说明这个数据库文件是在线的数据库文件,不需要还原了。
如果你想再建立一个一模一样的,可以停止数据库,复制要还原数据库文件到新的文件夹,然后执行还原,注意数据库名称要更改(已经有同名数据库)。