2016-06-08 98 views
7

我复制从Azure数据库作为下面的连接字符串:为什么默认Azure数据库连接字符串池=假

enter image description here

而且我在默认情况下看到,Azure数据库连接字符串Pooling=False

Server = tcp:{your_server} .database.windows.net,1433; Data Source = ra-labs-01.database.windows.net; Initial Catalog = {your_database}; Persist Security Info = False; User ID = {your_username };密码= {your_password};池= FALSE; MultipleActiveResultSets = FALSE;加密= TRUE; TrustServerCertificate = False;连接超时= 30;

这让我有点困惑,因为我现在的理解是Pooling=False不推荐。

因此默认情况下,连接到Azure的字符串会禁用连接池,或者因为我已将数据库放入Elastic pool中?

+1

我刚才看到了,它根本没有意义。默认情况下,Pooling和MARS被禁用。 –

+2

我将更新Azure门户。 Pooling的默认值和推荐值是“true”;但是,MARS的默认值和推荐值是“false”。 –

回答

1

Azure SQL不支持标准数据库和弹性池中的连接池。我想如果你看到这个,那很可能并不是因为我的帐户没有默认显示这个设置。您可以在主网站上看到关于azure connections的指南。与现场服务器相反,由于公共互联网的延迟和性质,您可能会遭受更多的封闭连接,但是在更高版本的ado.net和其他连接框架中,这可以通过transient fault handling来缓解。该技术允许重试连接被丢弃或中断,而程序不必直接作出响应。有效管理连接的程序可能会看到连接池的一些改进。

关于MARS(多活动结果集)这是一个非常健谈的协议,虽然你可以打开它会影响延迟和响应时间。不建议在Azure SQL中使用它。

相关问题