2016-09-28 17 views
1

在Always On羣集中有2個sql server副本,當我們測試性能問題時,我們看到只有主服務器正在工作(讀寫)。高可用性副本中的只讀意圖SQL服務器2014

主要設置爲可讀寫,次要設置爲只讀目的, 我們希望將簡單選擇查詢發送到輔助副本,而寫入查詢將發送到主要副本。

有沒有一種方法來配置2種情況下不使用2個不同的連接字符串(首先是讀寫,第二個是隻讀)的2個不同的服務。

+2

不,沒有,這通常不是你想要的。原因是混合副本這種方式可能導致[不一致的結果](http://stackoverflow.com/questions/39573960/dirty-reads-in-sql-server-alwayson)。即使你真的想這樣做,引擎也無法檢測到什麼查詢是「寫入查詢」,然後纔會發送到服務器,所以你的服務仍然需要做出區分。你可以用一個服務和一個你修改的連接字符串來完成,但你仍然需要兩個連接。 –

回答

1

不,可用性組的只讀和讀寫區別發生在連接級別。要使連接轉到只讀副本,請在連接字符串中使用ApplicationIntent = ReadOnly。