导出 (0) 打印
全部展开

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

更新时间: 2013年10月

注:本页面内容可能不完全适用中国大陆地区运营的 Windows Azure服务。如要了解不同地区 Windows Azure 服务的差异, 请参考本网站 http://www.windowsazure.cn.

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

设置、配置和使用优化的数据库仓库映像的说明与用于 SQL Server Enterprise 映像的说明略有不同。本主题说明如何设置和使用在 Windows 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

本主题内容:

针对数据仓库虚拟机设置 SQL Server

要设置优化的数据仓库映像,请使用 Windows Azure 管理门户或 PowerShell 脚本。该门户设置虚拟机,然后要求您附加磁盘。PowerShell 脚本可为您设置虚拟机和附加磁盘。这两种方法都很简单,将在本节中介绍。

要获得最佳性能:

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

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

使用 Windows Azure 管理门户设置

  1. 登录到 Windows Azure 管理门户

  2. 单击左窗格中 Windows Azure 菜单项中的“虚拟机”

  3. 单击左下角的“新建”,然后选择“计算”“虚拟机”“从库中”

  4. 在虚拟机映像选择页上,选择一个用于数据仓库的 SQL Server 映像。

    数据仓库库映像

  5. 在虚拟机配置页上,在“大小”选项中,我们建议将大小 A6 用于 SQL Server 2012 映像,将大小 A7 用于 SQL Server 2014 映像。

    为 SQL Server 2012 SP1 映像选择大小 A6

  6. 等待设置完成。等待时,您可以在“虚拟机”页上查看设置状态。设置完成时,状态将为具有选中标记的“正在运行”。设置完成前,您无法连接到虚拟机。

    完成虚拟机设置

  7. 需要执行其他步骤。要完成设置,请执行完成 Windows Azure 虚拟机中 SQL Server 数据仓库的设置中所述的步骤。如果您连接到虚拟机,屏幕上的说明也会将您定向到本主题。

使用 PowerShell 脚本设置

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

    • 有效的活动 Windows Azure 订阅

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

  2. 从 Windows Azure 脚本中心的在 Windows 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. 在使用虚拟机前,需要执行一些其他步骤。您需要验证数据仓库优化已成功完成,还需要将地域复制设置为“关闭”。要完成设置,请执行完成 Windows 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 和云虚拟机必须可以看到彼此,就像它们位于同一网络一样。

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

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

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

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

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

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

相关链接

社区附加资源

添加
显示:
© 2014 Microsoft