ODBC経由でSQL Serverを使用しているとき負荷が上がると
[Microsoft][ODBC SQL Server Driver]ほかの実行結果のために接続できません。
というエラーが発生することがあります。
これはもともとSQL Serverにはクエリーの結果セットを1つの接続のうち、1つしか持てないという制限があるからです。
SQL Server 2005からは複数の結果セットを有効にすることができるようになりました。 複数のアクティブな結果セット (MARS) の使用
その機能はデフォルトで無効になっているのでSQL Server Native ClientをインストールしたうえでMARSを有効にする必要があります。
具体的には以下の手順です
- Microsoft SQL Server 2005 用 Feature Pack- 2007 年 2 月 またはMicrosoft SQL Server 2008 用 Feature Pack - 2008 年 8 月からSQL Server Native Clientをダウンロードしてインストールする
- 接続文字列のDriverを「SQL Server Native Client」(SQLServer 2005用の場合)または「SQL Server Native Client 10.0」(SQLServer 2008用の場合)に設定する
- 接続文字列に「MARS_Connection=yes」を追加する。
以下参照


コメントする