聚合管理器示例自述文件
使用聚合管理器示例应用程序,可以基于查询日志中收集的信息查看、设计、编辑和添加聚合。
有关与聚合相关的性能问题的详细信息,请参阅 SQL Server 2005 Analysis Services 性能指南中的“编写高效的 MDX”部分。 有关设置查询日志的信息,请参阅配置 Analysis Services 查询日志。
应用场景
聚合管理器示例说明了如何利用 SQL Server 2005 Analysis Services 的各种功能来处理聚合设计。
该示例可以连接到 Analysis Services 的一个实例并显示一组聚合设计。 它还可以显示聚合设计所应用到的分区。
您可以使用该示例来显示特定聚合设计中的一组聚合,并根据需要更改每个聚合。 聚合设计可应用于度量值组中的任意分区。
您可以运行示例并连接到查询日志表以导入有关多维表达式 (MDX) 查询的统计信息,显示 MDX 查询,并基于显示的聚合集添加新聚合。
语言
C#(使用 AMO 对象模型)
功能
聚合管理器示例使用 SQL Server 2005 Analysis Services 的以下新功能。
应用领域 | 功能 |
---|---|
添加、删除和更改现有聚合 |
使用 AMO 中的 AggregationDesign 和 Aggregation 对象来管理聚合。 |
创建 XMLA 脚本 |
使用 Scripter AMO 对象来序列化 Analysis Services 对象并创建 XML for Analysis (XMLA) 脚本。 |
使用 QueryLog 作为新聚合的源 |
连接到 SQL Server 数据库并显示聚合集。 基于查询日志添加新聚合。 |
必备组件
在运行此示例之前:
- 确保在开发人员的计算机上安装了下列软件:
- Visual Studio 2005(带有 C# 编译器)或 .Net Framework 2.0 SDK
- 安装了 SQL Server 2005 SP2 示例
- 确保在本地计算机或您可以管理的其他计算机上启动了下列服务,并且这些服务可用:
- SQL Server Analysis Services
- SQL Server 引擎
- 确保您有一个名为 AggManager.snk 的签名文件。 若要创建签名文件,请遵循强名称工具 (Sn.exe) 中的步骤进行操作。
- 配置 Analysis Services 以记录查询,请参阅配置 Analysis Services 查询日志。 将 QueryLogSampling 值设置为 1。
- 确保已针对要为其设计聚合的多维数据集运行了一些查询。 如果没有可用来运行查询的合适的多维数据集,可以部署 Adventure Works DW 数据库并使用 Adventure Works 多维数据集作为测试用例;请参阅运行安装程序以进行安装。
生成示例
选项 1:使用 Visual Studio 生成示例
找到存储解决方案文件 AggManager.sln 的文件夹。
将签名文件 AggManager.snk 移动到该解决方案文件夹。
打开 Visual Studio。
在**“最近使用的项目”选项卡中,单击底部的“打开”,再单击“项目”**。
打开保存文件 AggManager.sln 的文件夹,选择该文件,再单击**“打开”**。
按 F6 以生成项目。
选项 2:使用 .Net Framework SDK 中的 msbuild.exe 生成示例
找到存储解决方案文件 AggManager.sln 的文件夹。
将签名文件 AggManager.snk 移动到该解决方案文件夹。
打开命令提示符窗口并将目录更改为解决方案文件所在的位置。 根据如何在命令提示符下进行编译中的说明配置环境。
键入 msbuild.exe AggManager.sln,然后按 Enter 键。
运行示例
在运行该示例之前,应当已在某个 SQL 表中记录了一些查询日志;请参阅前提条件 4 和 5。
步骤 1:连接到 Analysis Services
通过在 Visual Studio 中(AggManager.sln 已经打开)按 F5 或 Ctrl+F5 来启动示例,或者在命令提示符窗口中切换到可执行文件所在的目录,然后键入 AggManager.exe 并按 Enter 键来启动示例。
如果要连接到正在其上运行该可执行文件的同一台服务器,并且使用的实例是默认实例,则可以原样保留 localhost 并单击**“连接”按钮。 如果要连接到不同的服务器或某个命名实例,则必须将 localhost 替换为正确的 Server Name 或 <Server Name>\<Instance> 值,然后单击“连接”**按钮。
单击服务器的树视图并确认您能够浏览数据库、多维数据集和其他可用对象。
步骤 2:连接到查询日志
连接到 Analysis Services(如果尚未连接),请参阅步骤 1。
单击服务器名旁边的 + 展开服务器对象,然后展开**“数据库”**文件夹对象。
展开包含您运行了查询(并对查询进行了记录)的多维数据集的数据库对象,然后展开**“多维数据集”**文件夹对象。
展开其中运行了查询(并对查询进行了记录)的多维数据集对象,然后展开**“度量值组”**文件夹对象。
展开要在其中分析和设计聚合的度量值组对象。
右键单击**“无聚合设计”文件夹对象并选择“从查询日志添加”**。 这时将打开一个新窗口。
阅读**“SQL Server 连接”**文本框中灰显的连接字符串。
步骤 3:创建新聚合设计,删除聚合设计,将聚合设计与分区相关联
若要开始创建新聚合设计,您必须连接到查询日志数据库,请参阅上一步骤。
在**“从查询日志添加聚合”窗口中,为“聚合设计名称”和“聚合前缀”**指定名称。 **“聚合设计名称”**是这些当前聚合设计集的基名称。 **“聚合前缀”**是将创建的新聚合设计的具体名称。
如果数据网格中没有可用记录,请单击**“执行 SQL”**。
单击**“确定”以创建新聚合设计并返回“聚合管理器”窗口。 单击“取消”**将取消当前操作,关闭窗口,并返回“聚合管理器”窗口。
现在,新创建的聚合设计将显示为展开节点的一部分。
若要删除一个聚合设计,请右键单击该聚合设计并在快捷菜单中选择**“删除”**。
若要将分区与聚合设计相关联,请右键单击所需设计节点并选择**“更改分区”**。
在分区窗口中,选择要分配给目标设计的所需分区,然后单击**“确定”**。
展开节点,现在,分区应显示在该设计下。
步骤 4:编辑聚合设计,查看聚合定义
选择要编辑的聚合设计。 如果右侧窗格显示的**“聚合计数”**不包含值,则表明该设计并未设计聚合;请遵循下列步骤启动一个新聚合设计。 如果已经设计了聚合,则可以跳到编号 8 继续编辑操作。
右键单击聚合设计并在打开的快捷菜单中选择**“从查询日志添加”**。
验证连接字符串并进行相应调整。
为此设计添加名称和前缀。
单击**“执行 SQL”**按钮。
如果查询仅返回一条包含零和逗号的记录,则将该记录复制到剪贴板。
单击**“确定”按钮,这时将显示一个消息框,说明“聚合设计 '<Your Aggregation Design Name here>' 已由** n 个聚合进行了更新”。
选择要编辑的聚合设计,右键单击它并在快捷菜单中选择**“编辑”**。
如果显示一个空数据网格,则您需要存储在剪贴板中的字符串(从编号 2 到 7)。单击**“名称”列下面的行并写入此设计的名称;单击“聚合定义”下的行并粘贴剪贴板中包含零和逗号的行;单击“类型”**下的行并写入 Flexible。 按 Tab 键移到新的一行。 现在,您已创建了一个空设计。
从数据网格中选择一行。 您可以通过显示在行左侧的小图标知道已经选择了哪一行。 如果选择了一组行,则只会更新带有图标的那一行。
右侧窗格显示了为当前度量值组定义的所有维度的集合(作为一组树)。 每个顶级节点表示一个维度;选中或取消选中维度节点对聚合设计没有影响。 请确保您选中了“显示属性关系”;它紧邻窗口标题栏的下方。 树结构表示属性关系,从作为第一节点级的键属性开始;下一级的属性是直接取决于键属性或与键属性直接相关的属性;再下一级将包含与父属性(按照属性关系定义)直接相关的属性,以此类推。 包含 0、1 和逗号的字符串是维度树结构的映射表示。 逗号字符是维度分隔符;0 和 1 表示每个维度属性。 字符串从左至右映射至从上到下的节点;每个选定的维度属性节点在字符串中显示为一个 1,未选中的在字符串中显示为 0。 粒度级别越低,越靠近树的顶部。
若要修改设计,您必须在右侧窗格中选中或取消选中给定行的节点,并且更改会反映在字符串中;对字符串的处理也会反映在树结构中。
注意: 缩短字符串长度会导致应用程序崩溃。 完成编辑后,可按**“确定”**以保存所做的工作。
您的工作保存在内存中,但尚未应用到服务器。 您可以通过附加到度量值组名称的后缀**“modified”**分辨出哪些设计准备应用到服务器。
若要将更改保存到服务器,请右键单击度量值组并选择**“保存到服务器”**。
步骤 5:从聚合设计的聚合中清除多余属性
通过右键单击设计节点并选择**“编辑”打开“编辑聚合的聚合设计”**窗口。
若要清除聚合设计中的多余属性,请单击**“清除冗余”**按钮。 这将删除当前设计中的所有多余属性;仅在设计中留下较少的重要属性。
步骤 6:清除重复聚合
通过右键单击设计节点并选择**“编辑”打开“编辑聚合的聚合设计”**窗口。
若要清除聚合设计中的重复设计,请单击**“清除重复”**按钮。 这将删除当前设计中的所有重复行;仅在设计中留下较少的重要的行。
删除示例
删除聚合管理器示例
- 删除包含该解决方案的文件夹及所有子文件夹。