Microsoft® SQL Server™ 2005 Analysis Services 与 SQL Server 2000 Analysis Services 使用相同的体系结构提供 HTTP 访问。
泵组件被加载到 IIS(Internet 信息服务)并作为 ISAPI 扩展,在客户端和 Analysis Services 服务器间传送数据。
本白皮书介绍使用 Microsoft Windows Server™ 2003 SP1 设置对 Analysis Services 的 HTTP 访问的全过程。
图 1 给出了组件体系结构的概览。
获取二进制数据:
将 %Installation folder%\OLAP\bin\isapi 目录的内容复制到要用作 IIS 中虚拟目录基础的文件夹。
本例中,我们将把 C:\Program Files\Microsoft SQL Server\MSSQL.1\OLAP\bin\isapi 文件夹中的所有文件复制到 C:\inetpub\wwwroot\olap 目录中。
注意: 为使用全部安全设置,请确保作为虚拟目录基础的文件夹位于格式化为 NTFS 文件系统的驱动器上,这一点非常重要。 由于 IIS 的限制,指向目录的路径不能包含空格。 |
如果要在不同于 Analysis Services 服务器的其他服务器上运行 HTTP 泵,请确保同时为 Analysis Redistributable 数据包安装 OLEDB。
创建应用程序库:
1. |
要打开“计算机管理”控制台,请依次打开“控制面板”、“管理工具”及“计算机管理”。 (或者,右键单击“我的电脑”图标,然后在快捷菜单上选择管理。) |
2. |
在“计算机管理”控制台中,依次展开“服务和应用程序”节点和“Internet 信息服务”节点。 如果无法找到“Internet 信息服务”节点,可能是因为您的计算机上尚未安装 IIS。如需安装,请在“控制面板”中打开“添加或删除程序”。选择添加/删除 Windows 组件。然后将 IIS 添加到 Windows 中。 |
3. |
右键单击“应用程序池”打开快捷菜单,选择“新建”,然后再选择应用程序池。 |
4. |
指定应用程序池的名称。本例中,我们将它命名为 OLAP。(参见图 2。) 图 2 |
创建虚拟目录:
1. |
要打开“计算机管理”控制台,请依次打开“控制面板”、“管理工具”及“计算机管理”。 (或者,右键单击“我的电脑”图标,然后在快捷菜单上选择管理。) |
2. |
在“计算机管理”控制台中,依次展开“服务和应用程序”节点和“Internet 信息服务”节点。 如果无法找到“Internet 信息服务”节点,可能是因为您的计算机上尚未安装 IIS。如需安装,请在“控制面板”中打开“添加或删除程序”。选择添加/删除 Windows 组件。然后将 IIS 添加到 Windows 中。 |
3. |
右键单击“网站”打开快捷菜单,选择新建,然后选择虚拟目录。 |
4. |
指定虚拟目录的名称。本例中,我们将它命名为 OLAP。 “内容目录”应指向您刚才创建的文件夹。本例中指向 C:\inetpub\wwroot\olap。 |
5. |
请确保在访问权限下只选中第二个复选框运行脚本(如 ASP)。(参见图 3。) 图 3 |
设置虚拟目录属性:
1. |
右键单击虚拟目录节点,然后从菜单中选择属性。 您会看到如图 4 所示的屏幕。 图 4 需要修改的属性已用红线圈出。 不需修改但对安全和性能至关重要的属性用绿线圈出。 |
2. |
选择您刚才创建的应用程序池。 |
3. |
单击配置按钮,您会看到如图 5 所示的屏幕。 图 5 |
4. |
单击添加按钮。 |
5. |
在可执行选项中,输入 msmdpump.dll 的完整路径名。在本例中为:C:\wwroot\olap\msmdpump.dll |
6. |
在扩展文本框中输入 .dll。 您在屏幕上将看到如图 6 所示的对话框。 图 6 |
7. |
单击确定按钮,接受设置。 |
选择安全设置:
1. |
选择目录安全性选项卡,然后在身份验证和访问控制上单击编辑。您将看到如图 7 所示的对话框。 图 7 |
2. |
您会看到三个选项。选择其中一个。 本部分对这些选项进行简要说明,指出每个选项的优点、缺点和安全性问题。 |
选择此模式时,泵 (msmdpump.dll) 运行时会带有凭据;本例中这些凭据是 IUSR_MACHINENAME 用户的凭据。因此,每个与 Analysis Services 的连接都是以 IUSR_MACHINENAME 用户的身份打开的。选择此模式时,用户是连接到 IIS 还是连接到 Analysis Services,这之间并没有分别。因此无法区分用户。
安全基础结构不使用 Analysis Services 的安全功能时可使用此模式。多数情况下为严格控制的环境,用户被允许或拒绝访问虚拟目录。
这是最安全的模式,推荐使用。
此模式要求 IIS Server 能获得用户的域身份凭据。这可以使用 Microsoft Active Directory® 或者其他机制完成。本文不逐一论述所有可能配置。
本文不讨论此选项。您可以通过 IIS 的帮助查阅更多相关内容。
此模式需要用户输入用户名和密码。用户名和密码通过 HTTP 连接传输到 IIS。IIS 将尝试通过提供的凭据模拟用户。
请注意:对于传输密码的系统,绝对要采取确保通信通道安全的措施。IIS 提供了大量用于设置的工具,并要求所有通信都必须使用 HTTPS 协议加密。
本文稍后介绍为虚拟目录设置 HTTPS 必需的操作步骤。
设置 Web 服务扩展:
1. |
在“计算机管理”中,右键单击“Web 服务扩展”节点,然后选择“添加一个新的 Web 服务扩展”。 |
2. |
指定扩展名。 |
3. |
单击“添加”按钮并为您的 msmdpump.dll 文件指定一个路径。 |
4. |
选中“设置扩展状态为允许”复选框。 您在屏幕上将看到如图 8 所示的对话框。 图 8 |
正如您在图 1 中看到的体系结构图所示,每个泵组件均使用自己的配置文件。
打开位于您文件夹中的 msmdpump.ini 文件并查看其内容。其内容应如下所示:
<ConfigurationSettings> <ServerName>localhost</ServerName> <SessionTimeout>3600</SessionTimeout> <ConnectionPoolSize>100</ConnectionPoolSize> <MinThreadPoolSize>0</MinThreadPoolSize> <MaxThreadPoolSize>0</MaxThreadPoolSize> <MaxThreadsPerClient>4</MaxThreadsPerClient> </ConfigurationSettings>
此时,您所关心的唯一设置是 <ServerName>。
如果您需要访问的 Analysis Services 实例位于本地计算机中并安装为默认实例,则无需更改此设置。否则,需要指定计算机名和实例名 (mymachine\inst1)。
也可以在另一台设置为通过 HTTP 访问 Analysis Services 的 IIS 服务器上指定一个指向虚拟目录的指针。
例如,您可以指定 <ServerName>http://secondmachine/olap/msmdpump.dll</ServerName>
现在,您应该已经设置好您的 HTTP 泵并可以从您的应用程序连接了。
如果您的应用程序可以指定服务器名,则只需将您的服务器名更改为指向以“msmdpump.dll”串连的虚拟目录的路径。
因为在 SQL Server 2000 Analysis Services 中,MSOLAP OLEDB 提供程序能识别服务器名包含 URL 路径,并会自动用 HTTP 协议启动。
例如,要从 MDX 示例应用程序连接到“MyMachine”,应该可以用“http://MyMachine/olap/msmdpump.dll”作为服务器名连接到 Analysis Services 服务器。