ApplicationIntent = ReadOnly在连接字符串中的含义是什么

时间:2013-03-11 20:02:36

标签: sql-server ms-access

我使用MS Access通过DSN连接连接到Sql Server。这是一个sql server后端的链接表。这是连接字符串

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

正如您所看到的,连接字符串中有一个ApplicationIntent=READONLY标记。这是什么意思。我是否以只读方式连接到数据库?是否建议使用此连接字符串执行更新和插入?

1 个答案:

答案 0 :(得分:18)

这意味着如果您在SQL Server 2012中使用可用性组,则引擎知道您的连接是只读的,并且可以路由到只读副本(如果存在)。这里有一些信息:

Configure Read-Only Access on an Availability Replica

Availability Group Listeners, Client Connectivity, and Application Failover

如果您当前没有使用可用性组,可能最好将其保留在那里以实现向前兼容性,但这实际上取决于您是否故意只是阅读。这应该可以防止写入,但有一些警告。这些连接项可能有用,或者可能让您挠头。我承认我没有读过它们。

ApplicationIntent=ReadOnly allows updates to a database

ApplicationIntent=ReadOnly does not send the connection to the secondary copy