当前位置:首页 » 编程语言 » sqlserver多个连接
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

sqlserver多个连接

发布时间: 2023-06-13 08:34:56

❶ 微软sql Server 2008 R2 标准版(25用户)最大并发连接数是多少及支持多少客户端同时访问

SQL Server 2008支持并发的连接数分两种情况:

1)不启用连接池

当创建到101个连接的时候,就无法再创建新连接了。也就是说,如果连接字符串不做任何处理,我们的程序只能够跟SQLServer建立101个连接。

2)启用连接池

在连接字符串中加入代码:

Pooling=true;Max Pool Size=40000;Min Pool Size=0;
微软在MSDN上对最大连接数的定义是:“默认是0,代表不限制,但最大连接数是32767。

SQL Server支持同时访问的客户端数量:

开发版、速成版有客户连接限制,一般是10个连接。企业版、标准版没有限制,硬件能支持多少就能支持多少。

(1)sqlserver多个连接扩展阅读

sql server 2008 R2 连接数过高的解决办法:

由于公司最近两个Web站点做了负载均衡,但是缓存机制仍然是 Asp.Net 自带的缓存,这样就导致了每台Web 服务器内存中都有一份缓存,直接导致了多次请求DB数据库,造成了DB连接数过高。

由于是两个较大的站点两台服务器做负载均衡(负载平衡),所以,DB 的连接数也飙升,几乎翻了3倍。

公司DB服务器用的是 Sql Server 2008 R2 ,并且DB服务器配置是相当的强悍的,连接数一度冲击到740,真是让人惊叹不已。虽然链接数强悍,但是前台访问的页面 超时的 也是茫茫多,没办法,只能采用了紧急处理:

1、加大程序中的缓存,特别是页面头部加上 OutPutCache 缓存。

2、用上镜像的备份DB服务器,把2个站点的DB链接改到了镜像的DB,这台镜像DB和现在主DB是不在同一个机房的,目标就是容灾和在高流量的情况下快速切换

❷ 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恢复数据,通过回滚段对事务回滚,对资源进行释放。

系参考网络文章

❸ ado连接sqlserver个数

初始化—连接数据库
void ADOConn::OnInitADOConn()
{
// 初始化OLE/COM库环境
::CoInitialize(NULL);

try
{
// 创建Connection对象
m_pConnection.CreateInstance("ADODB.Connection");
// 设置连接字符串,必悔轮须闷氏是BSTR型或者_bstr_t类型
_bstr_t strConnect = "Provider=SQLOLEDB.1; Server=127.0.0.1,1433; Database=frid; uid=frid; pwd=123;";
// _bstr_t strConnect = "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=frid;PWD=123;Initial Catalog=master;Data Source=127.0.0.1,1433";
m_pConnection->Open(strConnect,"","",adModeUnknown);
}
// 捕捉异常
catch(_com_error e)
{
// 显示错误信息
AfxMessageBox(e.Description());
}
}

最初红色部分总是会出错,[DBNETLIB][ConnectionOpen(Invalid Instance())] 无效的连接 的解决办法
或[DBNETLIB][ConnectionOpen。。。 拒绝访问。。。

可以从以下几点排查错误:
1. 先检查数据库连接参数是否有误,有的时候缺少一些东西,可能就连不上,前面红色部分,我没有添加1433端口号,结果总是出错
加上之后,就ok了,现在红色部分,两个参数设置都能连接成功,可以参考下。

2. 在防火墙中检碧罩信查1433端口是否打开了

3. 检查sqlserver服务是否起来了,同时在sqlserver configraton manager 中,在网络设置中,将tcpip属性-ip地址中,将tcp all的port 添加上1433端口

Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Data Source=192.168.1.28,1433
连接SQL server 2008 报错: [DBNETLIB][ConnectionOpen (Invalid Instance()).]
[DBNETLIB][ConnectionOpen (Invalid Instance()).]无效的连接。

以前写的是:
“Provider=SQLOLEDB.1;Persist Security Info=False;User ID=**;PWD=**;Initial Catalog=DatabaseName;Data Source=IP”
解决方法1:
改成
“Provider=SQLOLEDB.1;Persist Security Info=False;User ID=**;PWD=**;Initial Catalog=DatabaseName;Data Source=IP,1433″
就是把”Data Sourse = IP” 改为”Data Sourse = IP,端口”,就连接正常
解决方法2:
改成
“Provider=SQLOLEDB.1;Persist Security Info=False;User ID=**;PWD=**;Initial Catalog=DatabaseName;Data Source=IP,1433″
就是把”Data Sourse = IP” 改为”Data Sourse = 服务器别名(如localhost\sqlexpress,就是打开SQL Server Management Studio Express时在左侧上端那个名字)”,就连接正常

❹ 怎样创建SQLSERVER 存储过程,连接多个远程数据库查询相同结构表的数据!如果远程SQL服务器则不查询

存储过程是建立单个数据库的基础上的,我还没见到过一个存储过程可以访问别的数据的,
所以只能是在本数据库中对表进行检索。
你可以在你程序中建立所有连接数据库的连接字符串,例:在web.config中建立
而且这样方便管理

❺ 用sqlserver 有影响吗 怎么建立长连接

用户少,使用长连接,减少web端与数据库的逻辑连接数,可以让连接保持久一点,不用频繁建立连接。
用户多,使用短链接,这样用于使用完后就释放连接了。但是消耗系统资源多一点。

web端默认连接池缓存100个连接,超过100个用户同时连接,若使用长连接占用久,物理连接和逻辑连接都需要等待以至超时。使用短连接频繁断开和连接,消耗CPU、内存等

❻ sqlserver怎么连接两个不同的数据库里面的两个不同的表进行关联查询,两个数据库不在同一个服务器

这个简单,使用sqlserver的 OPENDATASOURCE 函数,开启另外一个数据库的临时链接就可以了。不过那台服务器的数据库必须开启了IP访问。

❼ C#如何连接两个不同版本的SQLserver数据库

如果我没记错的话,你必须要先装SQL2000,再装2008这样才行,不然2000好像装不上。
安装的时候你修改一下数据库实例名就好了!

❽ sqlserver数据库最大连接数是多少

设置最大连接数

下面的T-SQL 语句可以配置SQL Server 允许的并发用户连接的最大数目。

exec sp_configure 'show advanced options', 1
exec sp_configure 'user connections', 100
第一句用以表示显示sp_configure 系统存储过程高级选项,使用user connections 时,要求show advanced options 值为1。

第二句配置最大连接数为100,0 表示不限制,但不表示无限,后面将谈谈。

也可以在企业管理器中配置,在企业管理器中,可以在实例上点右键->“属性”->“连接”里面更改。

需要重新启动SQL Server,该值才会生效。

@@max_connections

select @@max_connections
它总是返回32767,它并不是指上面设置的user connections,实际上它表示user connections 最大可设置为多少。由于它的最大值是32767,那么user connections 为0 时,最大连接数也就是32767 了,并不是无限。

默认情况下user connections 值是0,也就是说默认情况下SQL Server 的最大连接数是32767。

获得当前设置的最大连接数:

select value from master.dbo.sysconfigures where [config]=103