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

sql server数据库从单用户模式改为多用户模式,第1张

今天想在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

当博途访问数据库发生这种 *** 作故障时,可以按如下 *** 作步骤可解决此方法,打开数据库里的Sql 查询编辑器窗口,运行以下的命令(注意:jd13dafa为对应可疑的数据库名称,执行时,请改为你的可疑的数据库名称)。

jd13dafa为数据库名称

1、修改数据库为紧急模式

ALTER DATABASE jd13dafa SET EMERGENCY

2、使数据库变为单用户模式

ALTER DATABASE jd13dafa SET SINGLE_USER

3、修复数据库日志重新生成,此命令检查的分配,结构,逻辑完整性和所有数据库中的对象错误。当您指定“REPAIR_ALLOW_DATA_LOSS”作为DBCC CHECKDB命令参数,该程序将检查和修复报告的错误。但是,这些修复可能会导致一些数据丢失。

DBCC CheckDB (jd13dafa , REPAIR_ALLOW_DATA_LOSS)

4、使数据库变回为多用户模式

2005往后那些所谓的系统表已经是一个视图,所以不能更新。

1、改削数据库为紧迫模式

2、使数据库变为的暌姑户模式

Net

stop

mssqlserver

--遏制处事

3、修复数据库日志年夜头生成,此呼吁搜检的分配,结构,逻辑完整性和所稀有据库中的对象错误。当您指定“REPAIR_ALLOW_DATA_LOSS”作为DBCC

CHECKDB呼吁参数,该轨范将搜检和修复陈述的错误。可是,这些修复可能会导致一些数据丢失踪。

当数据库发生这种 *** 作故障时,按如下 *** 作轨范可解决此问题,打开数据库里的Sql

发芽编纂器窗口,运行以下的呼吁。

1

DBCC

CheckDB

(Sharepoint_Config

,

REPAIR_ALLOW_DATA_LOSS)

1

ALTER

DATABASE

Sharepoint_Config

SET

MULTI_USER

4、使数据库变回为多用户模式

1

ALTER

DATABASE

Sharepoint_Config

SET

SINGLE_USER

5、起头->运行->输入cmd->打开DOS呼吁窗口,输入以下呼吁重启数据库处事

1

ALTER

DATABASE

Sharepoint_Config

SET

EMERGENCY解决体例:

Net

start

mssqlserver

--启动处事

再次,打开Sql

Server

2005时被标识表记标帜为“可疑”的数据库已恢复正常状况。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/6425162.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-22
下一篇 2023-03-22

发表评论

登录后才能评论

评论列表(0条)

保存