日期:2014-05-16  浏览次数:20596 次

关于SqlServer用户数以及多层数据库的问题
现在有个疑问:
买的正版的假如是15个用户;那这15个用户是指同一个登陆名下的连接数还是登陆名?

另外听说有种多层数据库技术:
1、客户端程序
2、应用程序服务器:提供公共的数据服务
3、数据库服务器;

就是(1)直接访问(2)、(2)在访问数据库服务器 返回返回结果。。。
这样好像与数据库链接的话应该一个连接就能搞定
------解决方案--------------------
另外听说有种多层数据库技术:
1、客户端程序
2、应用程序服务器:提供公共的数据服务
3、数据库服务器;

个人理解 就是把数据库访问的过程封装起来,你直接调用提供的方法即可,过程就不用再写了,这样可以实现简单的代码复用,减少工作量
------解决方案--------------------
连接数,不是登录名
------解决方案--------------------
第二个问题,不一定,比如n个用户传输不同的请求,那么第二层就要针对这些请求分别对第三层发请求
------解决方案--------------------
引用:
Quote: 引用:

连接数,不是登录名


假如是15个的用户数。。 但是访问的时候可能就不止15个了。 有可能是50个、甚至更多。 那如果还这样进行连接的话会不会对数据库造成什么影响呢? 
一般来说,sqlserver端的连接数不会只有那么少,除非你限制了,2012企业版最大连接数是32767。如果数据库及应用程序设计得好,即使真有3万多个连接,也不会有明显的性能问题,另外很多联接其实只是“连着”,并没有真正在持续运行
------解决方案--------------------
多层架构 是 避免客户端直接连数据库
中间层(应用服务)通过连接池访问数据库,为客户端提供服务
多数情况下,是可以大大减少实际的数据库连接数

一个连接就能搞定 就极端了一些,只有当每个服务都是极快就能完成,而且并发少时,才可能
另一个极端是,连接数一点也没减少,如果每个服务都需要执行一段时间,而期间很多服务并发进来
------解决方案--------------------
我记得在微软的文档中,客户端的同时并发数和操作系统的licence有关(例如客户端是标准版25client,最大并发数就是25)