销售电话: 1-800-867-1380

Azure 虚拟机中的 SQL Server 数据仓库

更新时间: 2014年9月

使用 Azure 虚拟机中优化的数据仓库映像来提高数据仓库工作负荷的性能,与未优化的 SQL Server Enterprise 虚拟机映像相比,性能最多可提高 20%。

note备注
此信息适用于 2014 年 6 月 22 日之前创建的映像。

设置、配置和使用优化的数据库仓库映像的说明与用于 SQL Server Enterprise 映像的说明略有不同。本主题说明如何设置和使用在 Azure 虚拟机库的以下 SQL Server Enterprise 映像之一上构建的优化的数据仓库:

  • SQL Server 2012 SP1 for Data Warehousing on WS 2012

  • SQL Server 2014 CTP2 Evaluation for Data Warehousing on WS 2012

本主题内容:

使用以下 PowerShell 脚本设置优化的数据仓库映像。该 PowerShell 脚本将设置虚拟机并附加磁盘。

要获得最佳性能:

  • 为 SQL Server 2012 映像选择“大小 A6”

  • 为 SQL Server 2014 映像选择“大小 A7”

  1. 在开始之前,确保你满足以下条件:

    • 有效的活动 Azure 订阅

    • Azure Powershell 3 或更高版本,它位于 Azure 下载的命令行工具部分。

  2. 从 Azure 脚本中心的在 Azure 虚拟机中部署 SQL Server 数据仓库页下载 New-AzureSqlDwIaasVM.zip 文件。

  3. 在 Windows 资源管理器中,右键单击 New-AzureSqlDwIaasVM.zip,然后选择“全部提取…”。将所有文件提取到你要运行脚本的目录。压缩文件包含以下文件:

    • New-AzureSqlDwIaasVM.ps1

    • New-AzureSqlDwIaasVM_DwIaasConfigGeneral.xml

  4. 使用脚本用法中所述的参数和示例运行脚本。

  5. 要解决 New-AzureSqlDWDWIaasVM.ps1 脚本问题,请参见 ProvisionDetail.log 文件。该文件位于你的 Windows 客户端上,与运行脚本的文件夹为同一文件夹。

  6. 在使用虚拟机前,需要执行一些其他步骤。你需要验证数据仓库优化已成功完成,还需要将地域复制设置为“关闭”。要完成设置,请执行完成 Azure 虚拟机中 SQL Server 数据仓库的设置中的步骤 2 和 3。

要实现 SQL Server 数据仓库的高性能,我们建议执行以下配置。

  • 对数据使用页压缩。这符合最高为 400 GB 的数据仓库的快速通道 (Fast Track) 规范。

  • 每个文件组只使用一个文件,以防止可能降低吞吐量性能的多层条带化。



  • 使用 Windows Server 存储池将多个数据磁盘作为单个装入点 (c:\Mount\Data) 公开给 SQL Server。要使用该装入点,请在 c:\Mount\Data(这也是数据库对象的默认位置)下存储数据库文件。

  • 对于 1 TB 以下的大多数数据库,使用一个文件组并将它存储在 c:\Mount\Data 下。这是默认文件位置。若要使用其他位置,需要附加一个不同的磁盘,或者专门在 c:、d:或 e:驱动器上创建一个文件。

为了获得其他好处,你可以使用多个文件组来:

  • 通过同时加载多个表或多个分区来更快地加载数据。如果将这些表放置在单独的文件组,在并行加载期间会防止有碎片。

  • 使用滑动窗口方法将数据分区存档。

  • 将临时数据和生产数据分开存储。

  • 将快速变化的数据和缓慢变化的数据存储在不同位置。

下面的示例创建一个具有多个文件组的数据库。每个文件组具有一个文件,所有这些文件位于 Windows 存储池装入点 c:\Mount\Data 下。

--If you want to explore multiple filegroups, this shows how to
-create a database with multiple filegroups, one file per filegroup, and 
--all files stored under the Windows Server Storage Pools mount point C:\Mount\Data.
IF EXISTS ( SELECT name from master.dbo.sysdatabases WHERE name = 'DWDB') 
     DROP DATABASE DWDB 
     GO
     CREATE DATABASE DWDB ON 
         PRIMARY (
              NAME          = DWDB_root, 
              FILENAME      = 'C:\Mount\Data\DWDB\DWDB_root.mdf', 
              SIZE          = 10MB, 
              FILEGROWTH    = 1GB), 
         FILEGROUP FACT_TABLES (      
              NAME          = FACT_TABLES1,
              FILENAME      = 'C:\Mount\Data\DWDB\DWDB_fact_tables1.mdf',
              SIZE          = 300GB,
              FILEGROWTH    = 1GB),
        FILEGROUP NONVOLATILE_FG (      
              NAME          = NONVOLATILE_FG1, 
              FILENAME      = 'C:\Mount\Data\DWDB\DWDB_load1.mdf',
              SIZE          = 100GB,
              FILEGROWTH    = 1GB)
        LOG ON (      
              NAME              = DWDB_log1, 
              FILENAME             = 'C:\Mount\Data\DWDB\DWDB_log1.ldf',
              SIZE                 = 25GB,
              FILEGROWTH           = 1GB)

在传输数据前,本地 SQL Server 和云虚拟机必须可以看到彼此,就像它们位于同一网络一样。

迁移到 Azure 虚拟机中的 SQL Server 介绍了用于将数据迁移到虚拟机的几个选项。

为了高效进行数据传输,我们建议使用点到站点或站点到站点 VPN 连接。这两种连接类型都很高效。点到站点 VPN 连接是你的本地 SQL Server 和云之间的直接 VPN,比站点到站点连接更易于配置。通过使用站点到站点连接,你可以将自己的域扩展到云;如果你的公司具有大型 IT 基础结构,这可能很难做到。站点到站点设置还需要特定的硬件,需要 IT 团队的帮助。

有关详细信息,请参阅 MSDN 上的 Azure 虚拟网络配置任务。在该主题下,请参阅在管理门户中配置站点到站点 VPN在管理门户中配置站点到站点 VPN

要将数据从本地迁移到虚拟机,请使用 BCP 实用工具或 SQL Server Integration Services (SSIS)。这些工具使用大容量插入操作来快速移动你的数据。通过将 SSIS 与点到站点或站点到站点连接结合使用,你可以利用现有 SSIS 包来加载数据或在运行数据库后运行现有 ETL 包。如果你已使用 SSIS 包部署生产数据库,还可以使用它们在云中部署数据仓库。

有关详细信息,请参阅 MSDN 上的 Azure 虚拟网络配置任务

要还原数据库备份,请使用 Restore (Transact-SQL) 和 WITH MOVE 选项。还原 Windows 存储空间卷上的数据库备份对于具有复杂本地文件和文件组布局(例如不同文件位于不同卷上)的数据库简化了此过程。你可以将所有文件移到该单个卷(使用 WITH MOVE 选项)并让存储空间将磁盘之间的 IO 操作条带化。

本文是否对您有所帮助?
(1500 个剩余字符)
感谢您的反馈
Microsoft 正在进行一项网上调查,以了解您对 MSDN 网站的意见。 如果您选择参加,我们将会在您离开 MSDN 网站时向您显示该网上调查。

是否要参加?
显示:
© 2014 Microsoft