2016-06-08 57 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中使用它。

相關問題