数据库 'xxx' 已打开,并且一次只能有一个用户访问
来源:互联网 发布:java ssl 单向认证 编辑:程序博客网 时间:2024/06/06 00:28
早上过来准备将服务器的数据库分离,因为这个服务器的数据已经不在需要,但是在分离的时候发现出现如下错误:数据库 'xxx' 已打开,并且一次只能有一个用户访问,后来查看数据库的选项,果然被设置为了[SINGLE_USER],导致无法分离,估计是昨晚在备份数据库之后不知道如何的就设置为了[SINGLE_USER]吧,现在需要将其设置为多用户的模式,在设置多用户模式的时候可能会因为还有其它进程的连接导致设置无法进行,所以需要杀掉所有连接的进程。使用如下SQL语句即可。
方法一:
- USE master;
- GO
- DECLARE @SQL VARCHAR(3000);
- SET @SQL = '';
- SELECT @SQL = @SQL+'; KILL ' + RTRIM(SPID)
- FROM [sys].[sysprocesses] AS sps
- WHERE [sps].[dbid] = DB_ID('test');
- SET @SQL = SUBSTRING(@SQL, 2, LEN(@SQL));
- EXEC(@SQL);
- GO
方法二:
- DECLARE @DBName SYSNAME;
- SET @DBName = 'BI_Monitor'; --这个是要删除的数据库库名
- DECLARE @KSQL NVARCHAR(1000)
- DECLARE tb CURSOR LOCAL
- FOR
- SELECT
- KSQL = 'KILL ' + CAST([sps].[spid] AS NVARCHAR(10))
- FROM [sys].[sysprocesses] AS sps
- WHERE dbid = DB_ID(@DBName)--查询@DBName相关的线程
- --循环杀掉要删除数据的相关线程
- OPEN tb
- FETCH NEXT FROM tb INTO @KSQL
- WHILE @@FETCH_STATUS = 0
- BEGIN
- EXECUTE(@KSQL);
- FETCH NEXT FROM tb INTO @KSQL
- END
- CLOSE tb
- DEALLOCATE tb
最后再将相应数据库设置为多用户模式即可。
- ALTER DATABASE [test] SET MULTI_USER;--设置为多用户模式
0 0
- 数据库 'xxx' 已打开,并且一次只能有一个用户访问
- 数据库 'xxx' 已打开,并且一次只能有一个用户访问
- 数据库xxx已打开,并且一次只能有一个用户访问。 (Microsoft SQL Server,错误: 924)
- 数据库 ' 库名' 已打开,并且一次只能有一个用户访问
- 数据库 'XXXX' 已打开,并且一次只能有一个用户访问。设置单用户 / 多用户
- 据库 'UFDATA' 已打开,并且一次只能有一个用户访问。 (Microsoft SQL Server,错误: 924)
- 数据库“”已打开,并且只能一个用户访问。
- 一次只能打开一个窗口
- 打开已有数据库
- 创建一个只能访问视图的数据库用户
- 只能输入数字,并且只能有一个小数点
- C#应用程序只能打开一次,应用程序只能打开一个,应用程序不能重复打开
- 只能打开一次应用程序
- mysql限制用户只能访问指定数据库
- C#如何让同一个窗口只能打开一次和一个程序只能同时打开一个
- C#如何让同一个窗口只能打开一次和一个程序只能同时打开一个
- 实现同一个用户只能有一个登录
- 实现DataGrid前有一个CheckBox,并且只能选中一行.
- 【solr专题之三】Solr常见异常
- 不是所有的数据都值得保存
- hdu 1999 素数筛选
- (第五天)了
- Java静态代码块的妙用
- 数据库 'xxx' 已打开,并且一次只能有一个用户访问
- spring+shiro+jasig-cas+cxf 单点登录多点注销简单统一权限管理平台一
- eclipse 反编译工具Jad及插件JadClipse配置
- Linux-->基础知识-->虚拟机中的Linux安装VMware Tools
- 指令+s对cpsr中标志位的影响
- 主机名
- 闲杂(待完善)
- /*C语言编程:某人想将手中一张面值100元的人民币换成5元(可单换20张)、1元(可单换100张)和0.5元(可单换200张)面值的票子,但要求100元换以上的零钱共100张,且要求每种不少于1张,
- eclipse修改项目名称的方法