在运行IIS 6.0和SQL Server 2005的计算机上,可以限制最大数据库连接的不同位置在哪里?
如果通过“连接数”来表示连接池的大小,则这适用于:
为每个唯一的连接string创build一个连接池。 创build池时,将创build多个连接对象并将其添加到池中,以满足最小池大小要求。 根据需要将连接添加到池中,直到指定的最大池大小(默认为100)。 当closures或丢弃时,连接被释放回池中。
当请求SqlConnection对象时,如果有可用的连接可用,则从池中获取它。 为了可用,连接必须是未使用的,有一个匹配的事务上下文,或与任何事务上下文无关,并有一个有效的链接到服务器。
连接池通过重新分配连接释放回池来满足连接请求。 如果已达到最大池大小,并且没有可用的连接可用,则请求将排队。 然后池会尝试回收任何连接,直到超时(默认值是15秒)。 如果在连接超时之前,调度程序不能满足请求,则抛出exception。
来源: SQL Server连接池(ADO.NET)
连接池的默认大小为100.您可以在连接string本身中更改该大小,但是您应该有充足的理由这样做。 在大多数情况下,您的连接用完了,它们在应用程序中泄漏(=未正确closures)。
如果您转到Management Studio的服务器属性,则在“连接”页面上会显示“最大并发连接数”设置。
右键单击对象资源pipe理器中的服务器,然后select属性。 点击左侧窗格中的连接。
SQL服务器实例上的属性。 右键单击Mgmt Studio中的实例并获取属性,单击Connections。 你有关于连接的具体问题吗?