导航:首页 > 编程大全 > sql数据库解除单用户模式方法

sql数据库解除单用户模式方法

发布时间:2023-02-05 05:37:17

1. sql server 2000 中的一个数据库不知道什么原因自动变为“单用户模式”

******************************
晕,有上面这么麻烦吗?
1\打开企业管理器
2\展开左边的树结构,直到看到database
3\右击database,在弹出菜单中找一个项回,最后是(K)的,后面还答有个三角形的.
4\鼠标指向这一项,又出现一个菜单,其中有一个项,最后是(A)的,点击它,就打开附加数据库的窗口了.
5\在这个窗口内附加数据库,就OK了
另外,团IDC网上有许多产品团购,便宜有口碑

2. 登录sqlserver时出现服务器处于单用户模式。目前只有一位管理员能够连接,怎么办啊

楼主,这个问题其实和你安装报的错误是没任何关系的。首先我说下ReportingServices是做什么的。这个也通常被大家简称为SSRS,是微软推出的商务智能报表开发软件,是一种可视化的数据报表开发软件。如果是你这个地方安装报错了,事实上是不关系到你登录数据库引擎的,最多是SSRS用不了。那么在说说你单用户模式的问题。数据库在设定建立之初,管理员可以设定一个模式,即单用户模式还是多用户模式。所谓单用户模式,即数据库当前只能有一个账户登录,多用户模式,即不限制用户个数。此选项设置菜单在数据库的属性菜单-选项-状态-访问限制里面。同样也可以使用SQL语句来更改对应的数据库访问用户模式,SQL为:
USE [master]
GO
ALTER DATABASE [dbname] SET MULTI_USER WITH ROLLBACK IMMEDIATE
GO
ALTER DATABASE [dbname] SET MULTI_USER
GO
其中MULTI_USER代表的是多用户模式,如果写SINGLE USER即代表单用户模式。若需要从单用户恢复到多用户,使用windows验证登录后,在属性里面修改或者通过SQL修改即可。

3. SQL数据库msdb置疑(急)

5.把数据库设成紧急状态:
在SQL查询分析器中逐条执行以下语句
sp_configure 'allow',1
reconfigure with override
update sysdatabases set status=32768 where name='kmjxc'

6.重建日志文件(请将路径换成你的数据文件路径)
其中“D:\MSSQL$PROD\Data\”为存放数据库文件的路径
“KMJXC_log.ldf”为一个新的不存在的文件,在执行以下语句时将自动建立
dbcc rebuild_log('kmjxc','D:\MSSQL$PROD\Data\KMJXC_log.ldf')
7.逐条执行以下语句,取消紧急模式
update sysdatabases set status=0 where name='kmjxc'
restore database kmjxc with recovery
sp_configure 'allow',0
reconfigure with override
8.重起sql server
先做上面的步骤了,不行再执行下面的步骤,

1、在SQL查询分析器中执行以下语句:(注以下所用的dbname为数据库名称,请客户手工改为自己的数据库名)
use dbname
dbcc checkdb
2、查看查询结果,有很多红色字体显示,最后结果有这样的提示:
CHECKDB 发现了x个分配错误和 x 个一致性错误(在数据库 'dbname' 中)。
一般情况下,引起分配错误的原因是磁盘损坏或突然停电;一致性错误可能是数据库中的表或索引坏,一般都可修复。
3、查看红色字体,并把有错误的数据库表名记录下来,或把索引损坏的表名记录下来。
4、把数据库设置为单用户模式,直接在查询分析器中执行以下语句即可:
EXEC sp_dboption 'dbname', 'single user', 'TRUE'.
5、进入查询分析器执行如下语句:
use kmjxcv3
dbcc checkdb(’dbname’,repair_allow_data_loss)-------修复数据库
dbcc checkdb ('dbname',REPAIR_REBUILD)----------------修复数据库索引
6、再执行:dbcc checkdb,检测数据库,出现结果为:
CHECKDB 发现了0个分配错误和 0个一致性错误(在数据库 'dbname' 中)。
数据库已经修复完毕。
7、取消单用户模式,即直接在查询分析器中执行以下语句即可:
EXEC sp_dboption 'dbname', 'single user','FALSE'

4. sqlserver2000还原数据库出现单用户模式问题

数据库"置疑"了应该是文件损坏了,例如你把数据库分离后,用记事本打开他会看到很多内乱码,强行改动里容边的那些乱码,保存后附加数据库,由于里边格式乱了,数据库就"置疑"了。你首先要进入“单用户模式”,让你可以重新操作数据库,然后用SELECT 命令可以看出什么表出错了(上帝保佑你只是某个表出错了),如果只是某个表出错,而又只是数据错误,不是结构错误,还可以通过运行带WHERE子句的SQL看看数据是到哪里出错,把,错误点以后的数据都删除掉,那至少数据库还可以用。如果你的数据不是真的都那么要紧的话,用还原功能是最方便可行的办法。当然备份档之后的数据是没有了。

5. 双机热备,数据库置疑

双机热备模式下,SQL2000数据库分离,附加,置疑,单用户解除的方法

首先,在任何操作之前,必须要备份数据库(重要)

一、分离数据库

1、点击“程序》MicrosoftSQLServer》企业管理》”,打开企业管理器

2、展开服务器组,然后展开服务器,选中要分离的数据库

3、点击鼠标右键“所有任务》分离数据库”,出现如下窗口

4、点击确定,该选定的数据库就被分离。

5.分离后,把原数据库里面.MDF(主数据文件).LDF(事务日志文件)这两个文件复制到目标盘下,例:D盘下

注意事项,只有“使用本数据库的连接”数为0时,该数据库才能分离。所以分离数据库时尽量断开所有对要分离数据库操作的连接,如果还有连接数据库的程序,会出现数据库的连接状态窗口,显示正在连接此数据库的机器以及名称,点击清除按钮将从服务器强制断开现有的连接。

二、附加数据库

1、在附加数据库之前,首先要移动数据库文件

在附加数据库之前,您必须将与数据库关联的.MDF(主数据文件).LDF(事务日志文件)这两个文件复制到目标硬盘下,或是同一服务器的不同硬盘目录下。这两个文件一般位于C:目录下。

2、点击“程序》MicrosoftSQLServer》企业管理》”,打开企业管理器

3、展开服务器组,然后展开服务器

4、右击"数据库",然后选择“所有任务》附加数据库”,弹出窗口

5、输入要附加的数据库的MDF名称。如果不确定文件位于何处,单击浏览("...")搜索。若要确保指定的MDF文件正确,请单击"验证"。在"附加为"框内,输入数据库的名称。数据库名称不能与任何现有数据库名称相同。指定数据库的所有者

6、单击"确定"按钮。新附加的数据库的数据库节点即创建在"数据库"文件夹中

重启双机

1.此时数据库分离,附加完成,必须重启一次双机

修复置疑

1,双机重启后,数据库置疑

下面所有修复置疑的语法,在没有特别提到时,默认数据库都请选择(Master)数据库)

2,修复置疑(必须在SQL的查询分析器中才能进行数据修复置疑工作)

A、 打开查询分析器,当数据置疑之后在查询分析器中是看不到置疑的数据库名称的,所以进入查询分析器之后,所选数据库默认(Master)数据库即可。(复制下面置疑语法到查询分析器中执行。

--修复数据库置疑的语法

SP_configure'allowupdate',1

go

RECONFIGUREWITHOVERRIDE

go

updatesysdatabases

setstatus=-32768

wherename='zmsoftpos_cs'--数据库名称

go

dbccrebuild_log('zmsoftpos_cs','D:zmsoftpos_cs_log')--重新建立日志

Go

updatesysdatabases

setstatus=26

wherename='zmsoftpos_cs'

Go

Sp_configure'allowupdate',0

Go

Reconfigurewithoverride

GO

备注:其中所有的“zmsoftpos_cs”是置疑的数据库名称,请根据客户实际的置疑数据库进行更改名称,其他的内容不变

B、 拷入置疑语法之后,请按F5执行,如果显示框内显示的内容如下表示置疑修复成功

C、 置疑修复成功之后,再到如上图的master下拉框架内就可以选择所修复的置疑数据库了,此时置疑是修复成功了,但是并不代表此数据库就没有问题了,请暂时不要进软件,我们还需要检查数据库有没有问题。

3,检查修复置疑好的数据库是否正常

D、 打开查询分析器选中修复好的数据库名称,输入“dbcccheckdb”语法,再按F5执行,根据数据库的大小执行需要的时间不确定,请耐心等待,执行完之后在显示框内就会显示一些相关内容如下图:

A:如上图所示,把显示框拖到最下面,如果“CHECKDB发现了0个分配错误和0个一致性错误”即表示此数据库已经好了,不用再修复了,客户即可进入软件进行操作了。

备注:(以下的语法就不用再执行了)

修复数据库只限于DBO使用,执行以下命令(解除单用户模式)

Sp_dboption'zmsoftpos_cs','singleUser','False'

B:如果执行“dbcccheckdb”后显示框内显示了很多红色的记录,那么表示这个数据库的有些表还有错误需要修复

2, 修复过程如下:(修复过程中语法内的数据库名称都根据客户使用的数据库进行更改)

A、 首先退出所有的客户端软件与企业管理器,只打开查询分析器,默认数据库“Master”,拷入如下语法执行:

sp_dboption'zmsoftpos_cs','singleuser','true'

备注:其中的数据库名称根据客户使用的数据库进行更改。此语法是把数据库设置为“单用户模式”

B、 设置为单用户模式之后,拷入如下语法进行多次执行

dbcccheckdb(zmsoftpos_cs,REPAIR_REBUILD)

备注:数据库名称根据客户使用的数据库进行更改。此语法可以多次执行,也需要多次执行,每执行完一次拖到显示框内的最后面如果“发现的是0个分配错误与O个一致性错误”就不用再修复了,只需执行下面语法即可

Sp_dboption'zmsoftpos_cs','singleUser','False',

备注:下面的语法也不需执行了。

如果执行多次之后:“CHECKDB发现了N个分配错误和N个一致性错误”不会再次减少时,表示此语法修复不成功,需要进行下面的修复过程。

C、 再把下面语法拷进入,进行多次执行:

dbcccheckdb('zmsoftpos_cs',REPAIR_allow_data_loss)

备注:此语法的执行与上面“B”点中执行的语法过程一样,执行到此步骤百分之九十以上的数据库都是可以修复的。如果执行到最后分配错误与一致性错误还不减少,那么执行下面的”D”操作

D、 拷入如下语法执行:

execsp_MSforeachtable'dbccdbreindex(''?'')'

备注:执行此语法时,此时的“Master”数据库名称一定要选择修复的数据库名称,执行才会生效。执行完成之后,再使用“dbcccheckdb”语法再检查一次,如果是“发现的是0个分配错误与O个一致性错误”表示修复成功,如果是:“CHECKDB发现了N个分配错误和N个一致性错误”

表示此数据库坏得很历害,使用此方法已不能修复成功了。必面使用其他方法了。最后不管修复成不成功都要使用下面的语法结尾:

Sp_dboption'zmsoftpos_cs','singleUser','False'

备注:把之前的单用户模块解除掉

3, 在上面的修复过程中不能解决的问题,再使用BCP命令语法进行修复

例:以超市版本为例,超市版本的数据库名称为:zmsoftpos_cs

A、打开帐套管理新建一个相同的帐套,数据库名称就会是zmsoftpos_cs_01的帐套名称,新建好之后,一定要使用后台登录进去一次,再退出后台。

B、打开查询分析器,选择好帐套数据库“zmsoftpos_cs”把下面的语法拷进入按F5执行:

select'ifEXISTS(SELECT*FROMzmsoftpos_cs_01..sysobjectsWHEREname='+char(39)+name+char(39)+')'+char(13)+'deletefromzmsoftpos_cs_01..'+namefromzmsoftpos_cs..sysobjectswheretype='U'andnamenotin('system_sheet_setup','system_mode_file','system_image')orderbyname

执行完成之后在下面的显示框架内就会出现如下语法:

使用鼠标左击一下图片中红色圆圈内的按钮,就会选中下面的语法,然后再到红色圆圈内的按钮上点鼠标右键,点击另存为,就会出现如下对话:

其中的保存类型一定要先选择所有文件,然后再到文件名处,填写好如图片中输入的名称,然后点保存!

C、以上的语法另存为之后,再拷入以下的语法执行:

select'bcpzmsoftpos_cs..'+name+'outf:data'+name+'.txt-c-S127.0.0.1-Usa_-P422426362227001'fromzmsoftpos_cs..sysobjectswherextype='U'

andnamenotin('system_sheet_setup','system_mode_file','system_image')orderbyname

备注:以上的语法中有一个文件存放路径,“f:data”此路径根据实际的情况创建,然后更改过来,再执行。执行之后,按照上面的方法,点击另存为如下图:

其中的保存类型也要先选择所有文件,然后再到文件名中填入如图上的名称:导出数据.bat文件名,然后再点保存,保存的路径一定要是上面语法中设置中文件夹的路径。

D、此时再选择超市版本的zmsoftpos_cs_01的帐套名称,然后在左上角的文件中打开找到之前保存的“删除数据.sql”的文件,把其中的

”deletefrom”全部替换成“truncatetable”,然后再按F5执行。

E、把D点的语法执行完成之后,还是选择zmsoftpos_cs.01帐套再执行以下的语法:

select'bcpzmsoftpos_cs_01..'+name+'inf:data'+name+'.txt-c-S127.0.0.1-Usa_-P422426362227001'

fromzmsoftpos_cs..sysobjectswherextype='U'andnamenotin('system_sheet_setup','system_mode_file','system_image')orderbyname

其中的路径f:data一定要与“C”点中的路径一致。按F5执行之后,按照C点的步骤,把显示框内的语法另存为“导入数据.bat”的文件名,保存到语法的路径文件夹内。

F、以上的步骤操作完成之后,打开以上语法存放的径路,先双击导出数据文件,双击之后就会出现如下对话框架:

此界面表示,正在从原帐套里面把数据导出来,请您静心等待,导出完成之后此界面会自动关闭的。

等待完成之后,再双击”导入数据.bat”文件,也会出现如上的界面。也请您静心等待,导出完成之后界面也会自动关闭。

G、以上的步骤都完成之后,请把zmsoftpos_cs_01的帐套,备份一次,然后把zmsoftpos_cs与zmsoftpos_cs_01两个帐套都删掉,然后新建超市版本的帐套,把恢复备份的zmsoftpos_cs_01文件,此时您的数据库修复的工作就大功告成了。。

6. sql2008数据库单用户模式怎么改回来

1、打开SQL Server Management Studio。如下图所示。

7. sql2005设置为单用户模式,怎么操作

请参考:http://blog.csdn.net/yubofighting/article/details/6640739

两种方法:
一、sqlservr.exe -m -c
1、 如图所示,关闭sqlserver(实例)服务

2、 运行---->cmd--->cd C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Binn\sqlservr.exe –m
注:C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Binn\sqlservr.exe -m这个路径按照自己的sql server安装路径自行调整
3、 经过上面两步就设置好的单用户登陆,你既可以使用企业管理器登陆,又可以通过在运行框中执行sqlcmd.exe运行doc下的命令

二、在sql server2005的配置管理工具中设置
1、如图打开配置管理工具,在sql server(实例名称)上右键打开属性,在高级的启动参数前加上-m; 别忘了‘;‘因为参数是通过’;‘来分隔的

2、设置完成后重启sql server 服务即可

8. SQL Server 数据库变成单个用户怎么办

1、首先我们打开SQL SERVER的管理控制台,找到一个要设置角色的用户。

9. sql server数据库从单用户模式改为多用户模式

今天想在sql
server2005下复制一个数据库,结果最后一步出错,复制没成版功反而导致数据库打不开了权,
名称后出现"单个用户",估计是进行复制的时候自动将其改为了单用户模式,可通过执行如下语句恢复多用户模式。
原理是先kill占用了数据库的那个进程,然后设置数据库为多用户模式。
USE
master;
GO
DECLARE
@SQL
VARCHAR(MAX);
SET
@SQL=''
SELECT
@SQL=@SQL+';
KILL
'+RTRIM(SPID)
FROM
mastersysprocesses
WHERE
dbid=DB_ID('数据库名');
EXEC(@SQL);
GO
ALTER
DATABASE
数据库名
SET
MULTI_USER;

10. sql server单用户模式下怎么修改为多用户模式

原理是先kill占用了数据库的那个进程,然后设置数据库为多用户模式。

USE master;

Go

DECLARE @SQL VARCHAR(MAX);

SET @SQL=''

SELECT @SQL=@SQL+'; KILL '+RTRIM(SPID)

FROM master..sysprocesses

WHERE dbid=DB_ID('数据库名');

EXEC(@SQL);

GO

ALTER DATABASE 数据库名 SET MULTI_USER;

(10)sql数据库解除单用户模式方法扩展阅读:

机制结构

SQL Server 是一种客户机/服务器系统

多年来,SQL Server 一直被认为是一种客户机/服务器系统。事实上,Sybase DataServer(以此为基础开发了原始的 SQL Server)正是第一个作为客户机/服务器系统开发的商用关系数据库系统。那这又说明了什么呢?这不只意味着 SQL Server 是一个双层系统。

从传统上看,双层系统意味着客户机应用程序运行在一台机器上,向另一台计算机上的服务器发送请求。而对于 SQL Server,客户机/服务器意味着 SQL Server 的组成部分,即客户机 API 部分,驻留在处理结构中的远端,与服务器组件本身是分开的。

在典型的双层模型中,客户机程序部分驻留在台式机上,具有大量客户机应用程序逻辑和业务逻辑,并且会直接向数据库系统发出请求。然后,客户机得到服务器响应这些请求所返回的数据。

三层系统也采用了同样的模型。多年以来,SQL Server 一直用在事务处理监视系统中,例如 BEA 的 Tuxedo 以及 Compaq 的 ACMSxp,这些系统早在二、三十年前就采用了典型的三层模型。

三层模型在今天基于 Web 的应用系统中占据了支配地位,这类系统以 Microsoft 的 MTS 以及新的 COM+ 1.0 为代表。从 SQL Server 的角度看,三层解决方案中的客户机程序是放在中间层的。

中间层直接与数据库交互。实际的桌面,或瘦客户机(Thin Client),使用其他机制并通常直接与中间层交互,而不是直接与数据库系统交互。

阅读全文

与sql数据库解除单用户模式方法相关的资料

热点内容
数据结构前序序列是什么 浏览:899
网络口字是什么意思 浏览:670
win10移动热点不能用了 浏览:38
汇编语言与接口技术2号乐曲程序 浏览:15
xml文件内容加密 浏览:509
ps将图移到另个文件变红色了 浏览:381
泰国多人用微信吗 浏览:786
安卓手机如何传数据给imac 浏览:422
ps怎么选pdf文件导入 浏览:562
qdir删除文件夹 浏览:657
iphone导航栏素材 浏览:687
新版本红眼刷图加点 浏览:725
iphone上网参数设置 浏览:533
illustratorcc初学入门教程 浏览:201
腾讯对战平台历史版本 浏览:360
全能编程语言有哪些 浏览:373
nginxconf配置文件 浏览:695
用批处理移动文件 浏览:920
儿童编程的app软件哪个更好一些 浏览:220
有什么好的免费视频电影网站 浏览:306

友情链接