如何在SQL 2016中处理可用性组

问题描述 投票:1回答:1

如何从SQL中可用性组中的数据库中选择信息。例如。我有2个数据库,它们位于同一台服务器上的2个独立的可用性组中,我在AG1 DB1中并尝试访问AG2 DB2中的表。我知道我可以使用数据库名称,如果它们在同一台服务器上,但如果它们故障转移,则此查询将失败。

我环顾四周但看不到。理想情况下,我认为它将是AG2.DB2.DBO.table但这似乎不起作用。

sql-server sql-server-2016 high-availability alwayson
1个回答
0
投票

您需要将链接服务器添加到您要查询的AG中。首先,您需要AG2上的SQL身份验证帐户,该帐户至少具有对您希望从AG1查询的对象的读取权限 - 除非您希望使用用户的凭据。您将使用此帐户创建链接服务器。完成此操作后,您将像上面用server.database.schema.table一样查询它

  1. 在AG2 DB上创建用于链接服务器的SQL身份验证帐户(如果尚不存在)。它需要访问您希望从AG1 DB查询的所有对象。
  2. 在AG1服务器下的SSMS中,导航到“服务器对象”>“链接服务器”
  3. 右键单击Linked Servers文件夹,然后选择New Linked Server
  4. 在链接服务器下输入服务器名称
  5. 选择SQL Server单选按钮
  6. 单击左侧的安全页面
  7. 单击“使用此安全上下文创建”并输入SQL身份验证帐户信息。如果需要,请随意使用其他选项之一。
  8. 单击确定

现在,您可以查询该数据库。

Linked Server

Create Linked Server

One of Many Tutorials

© www.soinside.com 2019 - 2024. All rights reserved.