web-dev-qa-db-ja.com

接続文字列でのApplicationIntent = ReadOnlyの意味

MS Accessを使用して、DSN接続経由でSQL Serverに接続しています。これは、SQLサーバーバックエンドへのリンクテーブルです。これが接続文字列です

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

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

21
Luke101

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

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

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

現在可用性グループを使用していない場合、可能性があります上位互換性のためにそこに残すことをお勧めしますが、それは本当に意図的に読んでいるだけです。これにより書き込みが防止されますが、いくつかの注意事項があります。これらの接続アイテムは便利かもしれませんし、頭を悩ませるかもしれません。読み終えていないことを告白します。

ApplicationIntent = ReadOnlyはデータベースの更新を許可します

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

22
Aaron Bertrand