29

MSAccessを使用してDSN接続を介してSQLServerに接続しています。これは、SQLサーバーのバックエンドにリンクされたテーブルです。これが接続文字列です

ODBC;DSN=mydsn;Description=mydesc;Trusted_Connection=Yes;APP=Microsoft Office 2010;DATABASE=mydb;ApplicationIntent=READONLY;;TABLE=dbo.mytable

ご覧のとおりApplicationIntent=READONLY、接続文字列にタグがあります。これは何を意味するのでしょうか。読み取り専用でデータベースに接続していますか?この接続文字列を使用して更新と挿入を実行することをお勧めしますか?

4

1 に答える 1

30

これは、SQL Server 2012で可用性グループを使用している場合、エンジンは接続が読み取り専用であり、読み取り専用レプリカ(存在する場合)にルーティングできることを認識していることを意味します。ここにいくつかの情報:

可用性レプリカで読み取り専用アクセスを構成する

可用性グループリスナー、クライアント接続、およびアプリケーションフェイルオーバー

現在可用性グループを使用していない場合は、上位互換性のためにそのままにしておくことをお勧めしますが、意図的に読んでいるだけかどうかによって異なります。これにより書き込みを防ぐことができますが、いくつかの注意点があります。これらのConnectアイテムは便利な場合もあれば、頭を悩ませる場合もあります。私はそれらを読んでいないことを告白します。

ApplicationIntent = ReadOnlyを使用すると、データベースを更新できます

ApplicationIntent = ReadOnlyは、接続をセカンダリコピーに送信しません

于 2013-03-11T20:12:22.623 に答える