通过运行“启用数据库延伸向导”开始

适用于: SQL Server 2016 (13.x) 及更高版本 - 仅限 Windows

重要

SQL Server 2022 (16.x) 和 Azure SQL 数据库中已弃用 Stretch Database。 在数据库引擎的未来版本中将删除此功能。 请避免在新的开发工作中使用该功能,并着手修改当前还在使用该功能的应用程序。

若要为 Stretch Database 配置数据库,请运行“启用数据库延伸向导”。 本文介绍了需要在该向导中输入的信息和做出的选择。

若要了解 Stretch Database,请参阅 Stretch Database

注意

之后如果要禁用 Stretch Database,请记住,禁用表或数据库的 Stretch Database 不会删除远程对象。 如果希望删除远程表或远程数据库,则需要使用 Azure 管理门户进行删除。 远程对象会继续产生 Azure 成本,直到手动删除它们。

启动向导

  1. 在 SQL Server Management Studio 的对象资源管理器中,选择你想在其上启用 Stretch 的数据库。

  2. 右键单击并选择“任务”>“Stretch”>“启用”,以启动向导。

简介

查看向导和必备组件的用途。

重要的先决条件包括以下内容。

  • 必须是管理员才能更改数据库设置。
  • 必须有 Microsoft Azure 订阅。
  • 你的 SQL Server 必须能够使用远程 Azure 服务器进行通信。

Screenshot showing the Introduction page of Stretch Database wizard.

选择表

选择要为其启用延伸的表。

具有大量行的表显示于已排序列表的顶端。 向导显示表的列表之前,它会对当前不受 Stretch Database 支持的数据类型对其进行分析。

Screenshot showing how to select tables page of Stretch Database wizard.

说明
(无标题) 选中此列中的复选框可为选定的表启用延伸。
Name 指定数据库中表的名称。
(无标题) 此列中的符号可能代表一条警告,不会阻止你为 Stretch 启用所选表。 还有可能代表一个阻止问题,将阻止你为 Stretch 启用所选表 - 例如因为该表使用了不支持的数据类型。 将鼠标悬停于符号上可在工具提示中显示更多信息。 有关详细信息,请参阅 Stretch Database 限制
已拉伸 指示该表是否已为 Stretch 启用。
迁移 你可以迁移整个表(整个表),或在表中现有的列上指定一个筛选器。 若想要使用不同的筛选器函数来选择要迁移的行,请运行 ALTER TABLE 语句以在退出向导后指定筛选器函数。 有关筛选器函数的详细信息,请参阅通过使用筛选器函数选择要迁移的行。 有关如何应用函数的详细信息,请参阅为表启用 Stretch DatabaseALTER TABLE (Transact-SQL)
指定表中的行数。
大小(KB) 指定表的大小(以 KB 为单位)。

选择性地提供行筛选器

若想要提供筛选器函数来选择要迁移的行,请在“选择表”页执行以下操作。

  1. 在“选择你想要拉伸的表”列表中,在表的行中选择“整个表”。 此时会打开“选择要延伸的行”对话框。

    Screenshot showing how to define a date-based filter predicate.

  2. 在“选择要拉伸的行”对话框中,选择“选择行”

  3. 在“名称字段”中,为筛选器函数提供一个名称。

  4. Where 子句中,选择表中的某列,然后选择一个运算符并提供一个值。

  5. 选择“检查”以测试函数。 如果函数从表中返回结果 - 即如果存在满足条件的待迁移的行 - 该测试会报告“成功”

    备注

    显示筛选器查询的文本框为只读。 无法在文本框中编辑查询。

  6. 选择“完成”,返回到“选择表”页。

仅在完成该向导时,才会在 SQL Server 中创建筛选器函数。 届时你可以返回到“选择表”页更改或重命名该筛选器函数。

Screenshot showing how to select Tables page after defining a filter predicate.

如果想要使用不同类型的筛选器函数来选择要迁移的行,请执行以下操作之一。

配置 Azure

  1. 使用 Microsoft 帐户登录到 Microsoft Azure。

    Screenshot showing how to sign in to Azure - Stretch Database wizard.

  2. 选择用于 Stretch Database 的现有 Azure 订阅。

    备注

    若要在数据库上启用 Stretch,则必须具有正在使用的订阅的管理员权限。 Stretch Database 向导将只显示用户具有管理员权限的订阅。

  3. 为 Stretch Database 选择要使用的 Azure 区域。

    • 如果创建一个新服务器,则该服务器将在此区域进行创建。

    • 如果你在所选区域中有现有的服务器,则当你选择“现有服务器”时,向导会将其列出。

      为了尽量减少延迟,请选择 SQL Server 所在的 Azure 区域。 有关区域的详细信息,请参阅 Azure 区域

  4. 指定是希望使用现有服务器还是新建 Azure 服务器。

    如果 SQL Server 上的 Active Directory 与 Microsoft Entra ID(以前称为 Azure Active Directory联合,则可以选择使用 SQL Server 的联合服务帐户与远程 Azure 服务器进行通信。 如需详细了解此选项的要求,请参阅 ALTER DATABASE SET 选项 (Transact-SQL)

    • 新建服务器

      1. 创建服务器管理员的登录名和密码。

      2. 或者,使用 SQL Server 的联合服务帐户与远程 Azure 服务器进行通信。

      Screenshot showing how to create new Azure server - Stretch Database wizard.

    • 现有服务器

      1. 选择现有的 Azure 服务器。

      2. 选择身份验证方法。

        • 如果选择“SQL Server 身份验证”,请提供管理员登录名和密码。

        • 选择“Active Directory 集成身份验证”,以使用 SQL Server 的联合服务帐户与远程 Azure 服务器进行通信。 如果所选服务器未与 Microsoft Entra ID 联合,则不会显示此选项。

        Screenshot showing how to select existing Azure server - Stretch Database wizard.

安全凭据

必须有一个数据库主密钥,以保护 Stretch Database 用于连接到远程数据库的凭据。

如果数据库主密钥已存在,请对其输入密码。

Screenshot showing the Secure credentials page of the Stretch Database wizard with the Password text box empty.

如果数据库没有现有的主密钥,请输入一个强密码以创建数据库主密钥。

Screenshot showing the Secure credentials page of the Stretch Database wizard with the New Password and Confirm Password text boxes populated.

有关数据库主密钥的详细信息,请参阅 CREATE MASTER KEY (Transact-SQL)创建数据库主密钥。 有关向导创建的凭据的详细信息,请参阅 CREATE DATABASE SCOPED CREDENTIAL (Transact-SQL)

选择 IP 地址

使用子网 IP 地址范围(推荐)或 SQL Server 的公共 IP 地址,在允许 SQL Server 与远程 Azure 服务器通信的 Azure 上创建防火墙规则。

你在此页上提供的 IP 地址(一个或多个)将告知 Azure 服务器允许通过 Azure 防火墙传递由 SQL Server 启动的传入数据、查询和管理操作。 该向导不会更改 SQL Server 上的防火墙设置中的任何内容。

Screenshot showing how to select IP address page of the Stretch Database wizard.

总结

查看你输入的值和你在该向导中选择的选项以及 Azure 上的预估成本。 然后选择“完成” 以启用 Stretch。

Screenshot showing the Summary page of the Stretch Database wizard.

结果

查看结果。

若要监视数据迁移的状态,请参阅 数据迁移的监视和故障排除 (Stretch Database)

Screenshot showing the Results page of the Stretch Database wizard.

排查向导问题

Stretch Database 向导失败。 如果 Stretch 数据库尚未在服务器级别启用,而你在不使用系统管理员权限的情况下运行向导来启用 Stretch 数据库,则向导会失败。 请求系统管理员在本地服务器实例上启用延伸数据库,并再次运行向导。 有关详细信息,请参阅 先决条件:在服务器上启用 Stretch Database 的权限

后续步骤