SQL SERVER 理论上有32767个逻辑连接,SQL SERVER根据系统自行调配连接池。
首先 ,操作系统的用户数:即同时通过网络连接到这台电脑上面的用户限制,以5用户操作系统,搭建的文件服务器为例,去同时访问这个文件服务器的网络用户为5个。
下面说说SQL server,购买数据库有两种方式,1、根据用户数购买。2、根据cpu个数购买。
根据用户数购买,假如你购买了一个50用户的数据库,那么可以通过网络访问数据库的人数限制为50。
根据cpu个数购买的数据库访问人数不受限制,服务器上面有几颗cpu就要买几个授权的SQL server,但是如果你只买一个授权的话数据库也可以正常运行,但是微软认为你的数据库不合法。就如同盗版系统。
一个连接不等于一个用户,单独一个用户可以有超过一个的连接,单独一个连接可以有超过一个用户。
你可以运行里面输入perfmon,然后加入下面两个计数器进行对比
SQLServer: General Statistics — Logical Connections:与系统建立的逻辑连接数。SQLServer: General Statistics — User Connections:连接到系统的用户数。
打个比喻
sql server是你家的房子
用户数 是你家房子钥匙
连接数 是你家房子能进去的人
不是很恰当,但是基本能说明问题
一个房子有多少个钥匙是明确的,但是每个钥匙是可以让多个人进去
也就是说,sql server的用户是可以登陆sql server进行操作的,而连接数指的是使用某个用户名登陆的为了执行某个具体操作的一个连接。
通常一个SQL SERVER 查询器,一个ADOCONNECTION是一个连接。
在SQL Server里查看当前连接的在线用户数
use master
select loginame,count(0) from sysprocesses
group by loginame
order by count(0) desc
select nt_username,count(0) from sysprocesses
group by nt_username
order by count(0) desc
如果某个SQL Server用户名test连接比较多,查看它来自的主机名:
select hostname,count(0) from sysprocesses where loginame='test'
group by hostname
order by count(0) desc
如果某个SQL Server用户名test连接比较多,查看它最后一次操作的时间范围分组:
select convert(varchar,last_batch,111),count(0) from sysprocesses where loginame='test'
group by convert(varchar,last_batch,111)
order by count(0) desc
如果从主机(www)来的连接比较多,可以查看它的进程详细情况
select * from??sysprocesses where hostname='www'
如果www机器主要提供网页服务,可能是asp程序处理连接时出了问题, 生成杀这些进程的SQL语句:
select 'kill '+convert(varchar,spid) from sysprocesses where hostname='www'
如果这样的问题频繁出现,可以写一个存储过程sp_KillIdleSpids.sql,
写一个作业, 执行它, 来自动杀掉从主机(www)来但已经一天没有响应的用户连接.
?
?
?
--------------------------------
SQL Server的用户及权限?
?sysadmin 可以在 SQL Server 中执行任何活动?
serveradmin 可以设置服务器范围的配置选项 关闭服务器?
setupadmin 可以管理链接服务器和启动过程?
securityadmin 可以管理登录和 CREATE DATABASE 权限 还可以读取错误日志和更改密码?
processadmin 可以管理在 SQL Server 中运行的进程?
dbcreator 可以创建 更改和除去数据库?
diskadmin 可以管理磁盘文件?
bulkadmin 可以执行 BULK INSERT 语句? ......
最大连接数是指数据库能承受的最大并发访问数量
SQL Server的并发用户数或者license怎么理解? 华软论坛 2005-12-06 13:38:55 在 MS-SQL Server / 基础类 提问
盗版的有并发用户数的限制吗?正版好像有10用户,50用户的版本,如果用C/S架构的话,每个客户端连接算不算一个用户?
后来有段时间好像改到 只按CPU购买License了。现在又好像见到购买连接数的license.
讲了这么一堆,想告诉你的是,如果你只有10用户的License,其实也是没有限制的。这是微软的市场人员亲口告诉我的。 [华 软 网]
欢迎转载,但请保留出处,本文章转自[华软网] 原文链接:http://www.huarw.com/db/dbbbs/MSSQLServer/200512/735120.html
你指的是购买许可吧?
SQL 提供3种购买方式
1) Processor license. (按CPU购买)
要求为运行SQL Server 2000的操作系统上的每个CPU购买许可. 这种方式不需要购买客户端访问许可.
2) Server plus device CALs. (服务器许可加每设备客户端访问许可)
运行SQL Server 2000的服务器需要一个许可, 每个访问SQL Server 2000的设备需要一个客户端访问许可.
3) Server plus user CALs. (服务器许可加每用户客户端访问许可)
运行SQL Server 2000的服务器需要一个许可, 每个访问SQL Server 2000的用户需要一个客户端访问许可
2、每客户
每客户授权模式要求每个将访问 SQL Server 2000 服务器的设备都具有一个客户端访问许可证。对于客户端连接到不止一个服务器的网络,每客户模式通常更划算。
在编辑框中,选择要授权的设备数。
选择授权模式:
使用该对话框设置授权模式,以使客户端可以访问 Microsoft? SQL Server? 的该实例。SQL Server 2000 支持两种客户端访问授权模式,一个用于设备,另一个用于处理器。
设备可以是工作站、终端或运行连接到 SQL Server 实例的 SQL Server 应用程序的任何其它设备。
处理器指的是安装在运行 SQL Server 2000 实例的计算机上的*处理器 (CPU)。一个计算机上可以安装多个处理器,从而需要多个处理器许可证。
一旦设置了授权模式便无法再更改。可以在安装 SQL Server 之后添加设备或处理器许可证,这使用 "控制面板 "中的 SQL Server 2000 授权安装实用工具来进行。
1、授权模式
当从 "控制面板 "访问该对话框时,安装过程中选择的模式在默认情况下为选中,同时显示以前选择的设备数或处理器数。
2、每客户
每客户授权模式要求每个将访问 SQL Server 2000 服务器的设备都具有一个客户端访问许可证。对于客户端连接到不止一个服务器的网络,每客户模式通常更划算。
在编辑框中,选择要授权的设备数。
3、处理器许可证
使用处理器许可,安装在运行 SQL Server 的计算机上的每个处理器都需要一个许可证。处理器许可证允许任意数目的设备访问服务器,无论它们是通过 Intranet 还是 Internet。
使用处理器许可,SQL Server 2000 可以利用每个安装的处理器,并支持不限数目的客户端设备。通过 Internet 提供对 SQL Server 数据库的访问的客户或拥有大量用户的客户通常选择处理器许可证。
在编辑框中选择要授权的处理器数。
SQL Server安装成功后,重起计算机后SQL Server自动启动服务。
10用户不是指的连接用户
在创建自定义控制台时,可以给控制台指派两种常用访问选项中的一种:作者模式或用户模式。依次有三个级别的用户模式,因此共有四种默认访问控制台的选项:
作者模式
用户模式-完全访问
用户模式-受限访问,多窗口
用户模式-受限访问,单窗口