sqlserver当前连接用户,sqlserver连接到服务器

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

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

10年积累的网站建设、网站制作经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站设计后付款的网站建设流程,更有文登免费网站建设让你可以放心的选择与我们合作。

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修改即可。

如何查看SQLServer登陆用户

--login_name登录用户 user_count是当前连接数

SELECT login_name,Count(0) user_count

FROM Sys.dm_exec_requests dr WITH(nolock)

RIGHT OUTER JOIN Sys.dm_exec_sessions ds WITH(nolock)

ON dr.session_id = ds.session_id

RIGHT OUTER JOIN Sys.dm_exec_connections dc WITH(nolock)

ON ds.session_id = dc.session_id

WHERE ds.session_id 50

GROUP BY login_name

ORDER BY user_count DESC

查看SQLServer连接信息

查看客户端ip地址

查看连接终端ip

spid可替换成连接号

查看客户端hostname

查看连接的用户

参考:

SQL Server查看有哪些用户连接数据库

1、通过系统的“性能”来查看:

开始-管理工具-性能(或者是运行里面输入

mmc)然后通过

添加计数器添加

SQL

的常用统计

然后在下面列出的项目里面选择用户连接就可以时时查询到sql

server

数据库连接数

了。

不过此方法的话需要有访问那台计算机的权限,就是要通过windows账户登陆进去才可以添加此计数器。

2、通过系统表来查询:

SELECT

*

FROM

[Master].[dbo].[SYSPROCESSES]

WHERE

[DBID]

IN

(

SELECT

[DBID]

FROM

[Master].[dbo].[SYSDATABASES]

WHERE

NAME='databaseName'

)

databaseName

是需要查看的数据库,然后查询出来的行数,就是当前的sql

server数据库连接数。不过里面还有一些别的状态可以做参考用。

3、通过系统过程来查询:

SP_WHO

'loginName'

loginName

是当然登陆Sql的用户名,一般程序里面都会使用一个username来登陆SQL这样通过这个用户名就能查看到此用户名登陆之后占用的连接了。

如果不写loginName,那么返回的就是所有的sql

server数据库连接。

测试 sqlserver 最大用户数连接

理论值远远会小于实际值的

有可能受各种原因的影响

1、硬件配置、如内存大小,CPU数据量等

2、软件配置、如操作系统32位或64位和各个版本不本

3、SQL SERVER的一些设置,有些设置可以影响到这个

4、其它方面.....

sqlserver数据库连接

使用Startup命令。

STARTUP参数说明:

1.不装入数据库而启动实例,一般是在数据库才创建时才可以这样做:

STARTUP NOMOUNT

2.启动实例并装入数据库 但不打开数据库,允许用户执行特定的维护操作。例如:

重命名数据文件;

添加、撤消或重命名重做日志文件;

启动和禁止重做日志归档;

执行全部的数据库恢复。

STARTUP MOUNT

3.启动实例装入数据库并打开数据库

正常情况是一个实例被启动,数据库装入并打开。这种模式允许任何有效用户连接到数据库并执行典型的数据库访问操作。

STARTUP[OPEN]

4.限制在启动时对数据库的访问

用户可以在严格的模式下启动实例并装入数据库,这样的模式只允许DBA做以下的工作:

执行结构维护,如重建索引;

执行数据库文件的导入导出;

执行数据装载;

临时阻止典型用户使用数据

STARTUP RESTRICT

5.强制实例启动

可以用下面命令来强行启动实例,如果一个实例正在启动,则STARTUP FORCE 重新启动。

STARTUP FORCE;

6.启动一个实例,装入数据库,并启动全部的介质恢复

如果用户要求介质恢复,可以启动一个实例,装入指向实例的数据库,并自动地启动恢复程序。

STARTUP OPEN RECOVER;

7.启动独占或并行模式

如果用户的ORACLE服务器允许多个实例来并发的访问一个数据库(Oracle 并行服务器选项),应选择独占或并行装入数据库。例如:

STARTUP OPEN sale PFILE=initsale.ora PARALLEL;

如果用户指定独占(缺省),那么数据库只能由当前的实例装入并打开。下面是一个独占的模式的实例:

STRARTUP OPEN sales PFILE=initsales.ora EXECLUSIVE RESTRICT

另外:

STARTUP [FORCE] [RESTRICT] [PFILE= filename] [OPEN [RECOVER][ database] | MOUNT | NOMOUNT]

STARTUP OPEN:STARTUP缺省的参数就是OPEN,打开数据库,允许数据库的访问。当前实例的控制文件中所描述的所有文件都已经打开。

STARTUP MOUNT:MOUNT数据库,仅仅给DBA进行管理操作,不允许数据库的用户访问。仅仅只是当前实例的控制文件被打开,数据文件未打开。

STARTUP NOMOUNT:仅仅通过初始化文件,分配出SGA区,启动数据库后台进程,没有打开控制文件和数据文件。不能任何访问数据库。

STARTUP PFILE= filename:以filename为初始化文件启动数据库,不是采用缺省初始化文件。

STARTUP FORCE:中止当前数据库的运行,并开始重新正常的启动数据库。

STARTUP RESTRICT:只允许具有RESTRICTED SESSION权限的用户访问数据库。

STARTUP RECOVER:数据库启动,并开始介质恢复。

SHUTDOWN参数说明:

SHUTDOWN有四个参数:NORMAL、TRANSACTIONAL、IMMEDIATE、ABORT。缺省不带任何参数时表示是NORMAL。

SHUTDOWN NORMAL:不允许新的连接、等待会话结束、等待事务结束、做一个检查点并关闭数据文件。启动时不需要实例恢复。

SHUTDOWN TRANSACTIONAL:不允许新的连接、不等待会话结束、等待事务结束、做一个检查点并关闭数据文件。启动时不需要实例恢复。

SHUTDOWN IMMEDIATE:不允许新的连接、不等待会话结束、不等待事务结束、做一个检查点并关闭数据文件。没有结束的事务是自动rollback的。启动时不需要实例恢复。

SHUTDOWN ABORT:不允许新的连接、不等待会话结束、不等待事务结束、不做检查点且没有关闭数据文件。启动时自动进行实例恢复。

另外,对于NORMAL、TRANSACTIONAL、IMMEDIATE,DB Buffer Cache的内容写入了数据文件,没有提交的事务被回滚,所有的资源被释放,数据库被“干净”的关闭。

对于ABORT,DB Buffer Cache的内容没有写入数据文件,没有提交的事务也没有回滚。数据库没有ismount和关闭,数据文件也没有关闭。当数据库启动时,需要通过redo log恢复数据,通过回滚段对事务回滚,对资源进行释放。

系参考网络文章


当前文章:sqlserver当前连接用户,sqlserver连接到服务器
文章出自:http://scyanting.com/article/dsgshoi.html