将日志磁盘迁移到超级磁盘

适用于:Azure 上的 SQL Server

Azure 超级磁盘为 Azure 虚拟机 (VM) 上的 SQL Server 提供高吞吐量、高 IOPS 和持续低延迟的磁盘存储。

本文介绍如何将日志磁盘迁移到超级 SSD,以利用超级磁盘提供的性能优势。

备份数据库

完成数据库的完整备份

附加磁盘

一旦已用 VM 上的超级磁盘兼容性,就将超级 SSD 附加到虚拟机。

VM 大小和区域的子集都支持超级磁盘。 在继续之前,请验证 VM 是否位于支持超级磁盘的区域、区和大小。 可以使用 Azure CLI 或 PowerShell 来确定和验证 VM 大小和区域

启用兼容性

若要启用兼容性,请执行以下步骤:

  1. Azure 门户中转到虚拟机。

  2. 停止/解除分配虚拟机。

  3. 选择“设置”下的“磁盘”,然后选择“其他设置”。

    Select additional settings for Disks under Settings in the Azure portal

  4. 选择“是”来“启用超级磁盘兼容性”。

    Screenshot that shows the Yes option.

  5. 选择“保存”。

附加磁盘

使用 Azure 门户将超级磁盘附加到虚拟机。 有关详细信息,请参阅附加超级磁盘

附加磁盘后,使用 Azure 门户再次启动 VM。

格式化磁盘

连接到虚拟机并格式化超级磁盘。

若要格式化超级磁盘,请执行以下步骤:

  1. 使用远程桌面协议 (RDP) 连接到 VM。
  2. 使用磁盘管理对新附加的超级磁盘进行格式化和分区。

将磁盘用于日志

配置 SQL Server 以使用新的日志驱动器。 可以使用 Transact-SQL (T-SQL) 或 SQL Server Management Studio (SSMS) 来实现此目的。 用于 SQL Server 服务帐户的帐户必须对新的日志文件位置具有完全控制。

配置权限

  1. 验证 SQL Server 使用的服务帐户。 可以通过使用 SQL Server 配置管理器或 Services.msc 来实现此目的。
  2. 导航到新磁盘
  3. 创建要用于日志文件的一个文件夹(或多个文件夹)。
  4. 右键单击该文件夹并选择“属性”。
  5. 在“安全”选项卡上,对 SQL Server 服务帐户授予完全控制访问权限。
  6. 选择“确定”保存设置
  7. 对计划包含 SQL 数据的每个根级别的文件夹重复此操作。

使用新的日志驱动器

在授予权限后,使用 Transact-SQL (T-SQL) 或 SQL Server Management Studio (SSMS) 来分离数据库,并将现有日志文件移动到新位置。

注意

分离数据库将使其脱机,关闭连接并回滚正在进行中的任何事务。 在下一次维护时段中继续操作。

使用 T-SQL 将现有文件移动到新位置:

  1. 在 SQL Server Management Studio 中连接到数据库,然后打开一个新的查询窗口。

  2. 获取现有文件和位置:

    USE AdventureWorks2022;
    GO
    
    sp_helpfile
    GO
    
  3. 分离数据库:

    USE master
    GO
    
    sp_detach_db 'AdventureWorks'
    GO
    
  4. 使用文件资源管理器将日志文件移动到超级磁盘上的新位置。

  5. 附加数据库,指定新的文件位置:

     sp_attach_db 'AdventureWorks'
    'E:\Fixed_FG\AdventureWorks.mdf',
    'E:\Fixed_FG\AdventureWorks_2.ndf',
    'F:\New_Log\AdventureWorks_log.ldf'
    GO
    

此时,数据库会联机,并将日志置于新位置。

后续步骤

查看性能最佳实践以了解提高性能的其他设置。

有关 Azure 虚拟机上的 SQL Server 的概述,请参阅以下文章: