创建存储过程

所有存储过程必须与公共语言运行时 (CLR) 或组件对象模型 (COM) 类相关联才能使用。 类必须安装在服务器上(通常采用 Microsoft ActiveX® 动态链接库 (DLL) 的形式),并在服务器或 Analysis Services 数据库中注册为程序集。

存储过程将在服务器或数据库中注册。 服务器存储过程可以从任何查询上下文进行调用。 而只有当数据库上下文是定义存储过程时所针对的数据库时,才能访问数据库存储过程。 如果一个程序集内的函数调用了另一个程序集内的函数,则必须在相同的上下文(服务器或数据库)中注册这两个程序集。 对于服务器上的服务器或部署的 Microsoft SQL Server Analysis Services 数据库,可以使用 SQL Server Management Studio 注册程序集。 对于 Analysis Services 项目,可以使用 Analysis Services Designer 在项目中注册程序集。

重要

COM 程序集可能会造成安全风险。 由于此风险和其他注意事项,SQL Server 2008 Analysis Services (SSAS) 中已弃用 COM 程序集。 未来版本可能不支持 COM 程序集。

注册服务器程序集

在 SQL Server Management Studio 对象资源管理器 中,服务器程序集列在 Analysis Services 实例下的“程序集”文件夹中。 服务器程序集可以同时包含 .NET (CLR) 程序集和 COM 库。

创建服务器程序集

  1. 在 对象资源管理器 中展开 Analysis Services 的实例,右键单击“程序集”文件夹,然后单击“新建程序集”。 此时会显示“ 注册服务器程序集 ”对话框。

  2. 对于 “类型 ”,指定程序集的类型:

    • 对于托管代码 (CLR) DLL,请指定 .NET 程序集。

    • 对于本机代码 (COM) DLL,请指定 COM DLL。

  3. 对于 “文件名”,指定包含存储过程的 DLL。

  4. 对于 “程序集名称”,请指定程序集的名称。

  5. 如果这是要用于调试存储过程的库的调试版本,请选择“检查包含调试信息”框。 有关调试存储过程的详细信息,请参阅 调试存储过程

  6. 可以单击“ 确定 ”立即注册程序集,也可以在对话框工具栏上单击“ 脚本 ”菜单上的命令,将注册操作脚本编写到查询窗口、文件或剪贴板。

注册服务器程序集后,可以通过在 对象资源管理器 中右键单击该程序集,然后单击“属性”来对其进行配置。

在服务器上注册数据库程序集

在 SQL Server Management Studio 对象资源管理器 中,数据库程序集列在 Analysis Services 数据库下的 Assemblies 文件夹中。 数据库程序集可以同时包含 .NET (CLR) 程序集和 COM 库。

在服务器上创建数据库程序集

  1. 在 对象资源管理器 中展开 Analysis Services 数据库的实例,右键单击“程序集”文件夹,然后单击“新建程序集”。 此时会显示“ 注册数据库程序集 ”对话框。

  2. 对于 “类型 ”,指定程序集的类型:

    • 对于托管代码 (CLR) DLL,请指定 .NET 程序集。

    • 对于本机代码 (COM) DLL,请指定 COM DLL。

  3. 对于 “文件名”,指定包含存储过程的 DLL。

  4. 对于 “程序集名称”,请指定程序集的名称。

  5. 如果这是要用于调试存储过程的库的调试版本,请选择“检查包含调试信息”框。 有关调试存储过程的详细信息,请参阅 调试存储过程

  6. 可以单击“ 确定 ”立即注册程序集,也可以在对话框工具栏上单击“ 脚本 ”菜单上的命令,将注册操作脚本编写到查询窗口、文件或剪贴板。

注册数据库程序集后,可以通过在 对象资源管理器 中右键单击该程序集,然后单击“属性”来对其进行配置。

在项目中注册数据库程序集

在 SQL Server Data Tools (SSDT) 解决方案资源管理器 中,数据库程序集列在 Analysis Services 项目下的“程序集”文件夹中。 数据库程序集可以同时包含 .NET (CLR) 程序集和 COM 库。

在 Analysis Service 项目中创建数据库程序集

  1. 在 对象资源管理器 中展开 Analysis Services 数据库的实例,右键单击“程序集”文件夹,然后单击“新建程序集引用”。 此时会显示“ 添加引用 ”对话框。 “添加引用”对话框的“.NET”选项卡列出了现有的 .NET (CLR) 程序集,而“项目”选项卡则列出项目。

  2. 可以单击现有组件或项目,然后单击“ 添加 ”将其添加到 Analysis Services 项目。 若要添加对 COM DLL 的引用,请单击“ 浏览 ”选项卡以查找该文件。 “所选项目和组件”列表显示要添加到项目的每个组件的名称、类型、版本和位置。

  3. 选择要添加的组件后,单击“ 确定 ”将其添加到 Analysis Services 项目。

程序集的脚本格式

注册 .NET 程序集的操作相当简单。 .NET 程序集将使用以下格式以二进制格式添加到数据库:

<Create>  
   <ObjectDefinition>  
      <Assembly>  
         <Files>  
            <File>  
               <Name>filename</Name>  
               <Type>filetype</Type>  
               <Data>  
                  <Block>binarydatablock</Block>  
                  <Block>binarydatablock</Block>  
                  ...  
               </Data>  
            </File>  
         </Files>  
         <PermissionSet>PermissionSet</PermissionSet>  
      </Assembly>  
   <ObjectDefinition>  
</Create>  

另请参阅

多维模型程序集管理
定义存储过程