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

即使设置此选项的用户已注销,数据库仍保持单用户模式。这时,其他用户(但只能是一个)可以连接到数据库。

将数据库设置为单用户模式

1.

在对象资源管理器中,连接到 SQL Server 数据库引擎实例,然后展开该实例。

2.

右键单击要更改的数据库,再单击“属性”。

3.

在“数据库属性”对话框中,单击“选项”页。

4.

在“限制访问”选项中,选择“单用户”。

5.

如果其他用户连接到数据库,将出现“打开的连接”消息。若要更改属性并关闭所有其他连接,请单击“是”。

还可以使用此过程将数据库设置为“多用户”访问或“限制”访问。有关“限制访问”选项的详细信息,请参阅数据库属性(“选项”页)。

1.

在对象资源管理器中,连接到 SQL Server 数据库引擎实例,然后展开该实例。

2.

右键单击要更改的数据库,再单击“属性”。

3.

在“数据库属性”对话框中,单击“选项”页。

4.

在“限制访问”选项中,选择“单用户”。

5.

如果其他用户连接到数据库,将出现“打开的连接”消息。若要更改属性并关闭所有其他连接,请单击“是”。

还可以使用此过程将数据库设置为“多用户”访问或“限制”访问。有关“限制访问”选项的详细信息,请参阅数据库属性(“选项”页)。

请参阅

其他资源

ALTER DATABASE (Transact-SQL)

http://msdn.microsoft.com/zh-cn/library/ms174269.aspx

请参考: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 服务即可


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

原文地址: http://outofmemory.cn/sjk/10038005.html

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

发表评论

登录后才能评论

评论列表(0条)

保存