1

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

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

4

1 回答 1

0

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

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

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

链接服务器

创建链接服务器

许多教程之一

于 2017-10-30T13:09:50.647 回答