你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

快速入门:在 Azure SQL 数据库中创建超大规模数据库

在本快速入门中,你将使用 Azure 门户、PowerShell 脚本或 Azure CLI 脚本在 Azure SQL 数据库中创建 Azure 逻辑服务器超大规模数据库,并使用相应的选项创建一个或多个高可用性 (HA) 副本。 如果要使用 Azure 中的现有逻辑服务器,则还可以使用 Transact-SQL 创建超大规模数据库。

提示

SQL 数据库(超大规模)简化定价已于 2023 年 12 月推出。 有关详情,请查看超大规模定价博客

先决条件

权限

若要通过 Transact-SQL 创建数据库:需要 CREATE DATABASE 权限。 若要创建数据库,登录名必须是服务器管理员登录名(预配 Azure SQL 数据库逻辑服务器时创建)、服务器的 Microsoft Entra 管理员、master 中 dbmanager 数据库角色的成员。 有关详细信息,请参阅 CREATE DATABASE

若要通过 Azure 门户、PowerShell、Azure CLI 或 REST API 创建数据库:需要 Azure RBAC 权限,特别是参与者、SQL DB 参与者或 SQL Server 参与者 Azure RBAC 角色。 有关详细信息,请参阅 Azure RBAC 内置角色

创建“超大规模”数据库

本快速入门在超大规模服务层级中创建单一数据库。

为了在 Azure 门户中创建单一数据库,本快速入门将从 Azure SQL 页面开始。

  1. 浏览选择 SQL 部署选项页。

  2. 在“SQL 数据库”下将“资源类型”设置保留为“单一数据库”,然后选择“创建” 。

    该屏幕截图显示了 Azure 门户中的“Azure SQL”页。可通过此页面选择部署选项,其中包括创建 SQL 数据库、SQL 托管实例和 SQL 虚拟机。

  3. 在“创建 SQL 数据库”窗体的“基本信息”选项卡上的“项目详细信息”下,选择所需的 Azure订阅 。

  4. 对于“资源组”,选择“新建”,输入“myResourceGroup”,然后选择“确定” 。

  5. 对于“数据库名称”,输入“mySampleDatabase”。

  6. 对于“服务器”,选择“新建”,并使用以下值填写“新服务器”窗体 :

    • 服务器名称:输入“mysqlserver”并添加一些字符以实现唯一性。 我们无法提供要使用的确切服务器名称,因为对于 Azure 中的所有服务器,服务器名称必须全局唯一,而不只是在订阅中唯一。 输入名称(例如 mysqlserver12345),门户会告知该名称是否可用。
    • 服务器管理员登录名:输入“azureuser”。
    • 密码:输入符合要求的密码,然后在“确认密码”字段中再次输入该密码。
    • 位置:从下拉列表中选择一个位置。

    选择“确定”。

  7. 在“计算 + 存储”下选择“配置数据库” 。

  8. 本快速入门将创建一个超大规模数据库。 对于“服务层级”,请选择“超大规模”。

    Azure SQL 数据库中的新数据库的服务和计算层级配置页的屏幕截图。已选择“超大规模”服务层级。

  9. 在“计算硬件”下,选择“更改配置”。 查看可用的硬件配置,并选择最合适你数据库的配置。 对于本示例,我们将选择“标准系列 (Gen5)”配置。

  10. 选择“确定”以确认硬件代系。

  11. (可选)如果要增加数据库的 vCore 数,请调节“vCore”滑块。 对于本示例,我们将选择 2 个 vCore。

  12. 调节“高可用性辅助副本”滑块以创建一个高可用性 (HA) 副本

  13. 选择应用

  14. 创建超大规模数据库时,请认真考虑“备份存储冗余”的配置选项。 对于超大规模数据库,存储冗余只能在数据库创建过程中指定。 可以选择本地冗余、区域冗余或异地冗余存储。 所选存储冗余选项将在数据库的整个生存期内使用,以同时实现数据存储冗余备份存储冗余。 现有数据库可以通过数据库复制或时间点还原迁移到不同的存储冗余。

    选择并配置“超大规模”服务层级后,在数据库创建流程中出现的“基本信息”选项卡的屏幕截图。

  15. 在完成时选择“下一步:网络”。

  16. 在“网络”选项卡上,对于“连接方法”,选择“公共终结点” 。

  17. 对于“防火墙规则”,将“添加当前客户端 IP 地址”设置为“是” 。 将“允许 Azure 服务和资源访问此服务器”设置保留为“否” 。

  18. 在页面底部选择“下一步: 安全”。

    新数据库的网络配置页的屏幕截图。使用该页,可以配置终结点,并可以选择为客户端 IP 地址添加防火墙规则。

  19. (可选)启用 Microsoft Defender for SQL

  20. 在完成时选择“下一步:其他设置”。

  21. 在“其他设置”选项卡上的“数据源”部分中,对于“使用现有数据”,请选择“示例”。 这将创建一个 AdventureWorksLT 示例数据库,此数据库包含可查询和试验的一些表和数据,而不是一个空数据库。

  22. 在页面底部选择“查看 + 创建”:

    用于在 Azure SQL 数据库中创建数据库的“其他设置”屏幕的屏幕截图。使用该屏幕,你可以选择示例数据。

  23. 在“查看 + 创建”页上,查看后选择“创建”。

查询数据库

创建数据库后,可以使用 Azure 门户中的“查询编辑器(预览)”连接到该数据库并查询数据。 如果需要,可以改为通过连接到 Azure Data StudioSQL Server Management Studio (SSMS) 或你选择的客户端来查询数据库,以运行 Transact-SQL 命令(sqlcmd 等)。

  1. 在门户中搜索并选择“SQL 数据库”,然后从列表中选择你的数据库。

  2. 在数据库页面的左侧菜单中,选择“查询编辑器(预览)”。

  3. 输入服务器管理员登录信息,然后选择“确定”。

    Azure SQL 数据库中的查询编辑器(预览版)窗格的屏幕截图,该窗格提供两个用于身份验证的选项。在此示例中,我们在“SQL Server 身份验证”下填充了“登录名”和“密码”。

  4. 如果从 AdventureWorksLT 示例数据库创建了超大规模数据库,请在“查询编辑器”窗格中输入以下查询。

    SELECT TOP 20 pc.Name as CategoryName, p.name as ProductName
    FROM SalesLT.ProductCategory pc
    JOIN SalesLT.Product p
          ON pc.productcategoryid = p.productcategoryid;
    

    如果使用 Transact-SQL 示例代码创建了空数据库,请在“查询编辑器”窗格中输入另一个示例查询,如下所示:

    CREATE TABLE dbo.TestTable(
        TestTableID int IDENTITY(1,1) NOT NULL,
        TestTime datetime NOT NULL,
        TestMessage nvarchar(4000) NOT NULL,
     CONSTRAINT PK_TestTable_TestTableID PRIMARY KEY CLUSTERED (TestTableID ASC)
    ) 
    GO
    
    ALTER TABLE dbo.TestTable ADD CONSTRAINT DF_TestTable_TestTime  DEFAULT (getdate()) FOR TestTime
    GO
    
    INSERT dbo.TestTable (TestMessage)
    VALUES (N'This is a test');
    GO
    
    SELECT TestTableID, TestTime, TestMessage
    FROM dbo.TestTable;
    GO
    
  5. 选择“运行”,然后在“结果”窗格中查看查询结果。

    在针对 AdventureWorks 示例数据运行查询后,Azure SQL 数据库中的查询编辑器(预览版)窗格的屏幕截图。

  6. 关闭“查询编辑器”页,并在系统提示时选择“确定”,以放弃未保存的修改 。

清理资源

保留资源组、服务器和单一数据库可以继续执行后续步骤,并了解如何以不同的方法连接和查询数据库。

用完这些资源后,可以删除创建的资源组,这也会删除该资源组中的服务器和单一数据库。

若要使用 Azure 门户删除 myResourceGroup 及其包含的所有资源:

  1. 在 Azure 门户中搜索并选择“资源组”,然后从列表中选择“myResourceGroup”。
  2. 在资源组页上,选择“删除资源组”。
  3. 在“键入资源组名称”下输入 myResourceGroup,然后选择“删除”。

使用不同的工具与语言连接和查询数据库:

在以下文章中详细了解超大规模数据库: