Partilhar via


Criando procedimentos armazenados

Todos os procedimentos armazenados devem ser associados a uma classe CLR (Common Language Runtime) ou COM (Component Object Model) para serem usados. A classe deve ser instalada no servidor - geralmente na forma de uma DLL (biblioteca de link dinâmico) do Microsoft ActiveX® - e registrada como um assembly no servidor ou em um banco de dados do Analysis Services.

Os procedimentos armazenados são registrados em um servidor ou em um banco de dados. Os procedimentos armazenados do servidor podem ser chamados de qualquer contexto de consulta. Os procedimentos armazenados de banco de dados só poderão ser acessados se o contexto do banco de dados for o banco de dados no qual o procedimento armazenado é definido. Se as funções em uma chamada de assembly funcionarem em um assembly diferente, você deverá registrar ambos os assemblies no mesmo contexto (servidor ou banco de dados). Para um servidor ou um banco de dados do Microsoft SQL Server Analysis Services implantado em um servidor, você pode usar o SQL Server Management Studio para registrar um assembly. Para um projeto do Analysis Services, você pode usar o Designer do Analysis Services para registrar um assembly no projeto.

Importante

Os assemblies COM podem representar um risco à segurança. Devido a esse risco e outras considerações, os assemblies COM foram preteridos no SQL Server 2008 Analysis Services (SSAS). Talvez não haja suporte para assemblies COM em versões futuras.

Registrando um assembly de servidor

No Pesquisador de Objetos no SQL Server Management Studio, os assemblies de servidor são listados na pasta Assemblies em uma instância do Analysis Services. Os assemblies de servidor podem conter assemblies .NET (CLR) e bibliotecas COM.

Para criar um assembly de servidor

  1. Expanda a instância do Analysis Services no Pesquisador de Objetos, clique com o botão direito do mouse na pasta Assemblies e clique em Novo Assembly. Isso exibe a caixa de diálogo Registrar Assembly do Servidor .

  2. Para Tipo , especifique o tipo de assembly:

    • Para uma DLL clr (código gerenciado), especifique o Assembly do .NET.

    • Para uma DLL com código nativo (COM), especifique a DLL COM.

  3. Para o nome do arquivo, especifique a DLL que contém os procedimentos armazenados.

  4. Para o nome do assembly, especifique um nome para o assembly.

  5. Se esse for um build de depuração da biblioteca que você usará para depurar procedimentos armazenados, marque a caixa de seleção Incluir informações de depuração . Para obter mais informações sobre a depuração de procedimentos armazenados, consulte Depurando procedimentos armazenados.

  6. Você pode clicar em OK para registrar o assembly imediatamente ou, na barra de ferramentas da caixa de diálogo, você pode clicar em um comando no menu Script para script da ação de registro em uma janela de consulta, um arquivo ou a Área de Transferência.

Depois de registrar um assembly de servidor, você pode configurá-lo clicando com o botão direito do mouse no assembly no Pesquisador de Objetos e clicando em Propriedades.

Registrando um assembly de banco de dados no servidor

No Pesquisador de Objetos no SQL Server Management Studio, os assemblies de banco de dados são listados na pasta Assemblies em um banco de dados do Analysis Services. Os assemblies de banco de dados podem conter assemblies .NET (CLR) e bibliotecas COM.

Para criar um assembly de banco de dados em um servidor

  1. Expanda a instância do banco de dados do Analysis Services no Pesquisador de Objetos, clique com o botão direito do mouse na pasta Assemblies e clique em Novo Assembly. Isso exibe a caixa de diálogo Registrar Assembly de Banco de Dados .

  2. Para Tipo , especifique o tipo de assembly:

    • Para uma DLL clr (código gerenciado), especifique o Assembly do .NET.

    • Para uma DLL com código nativo (COM), especifique a DLL COM.

  3. Para o nome do arquivo, especifique a DLL que contém os procedimentos armazenados.

  4. Para o nome do assembly, especifique um nome para o assembly.

  5. Se esse for um build de depuração da biblioteca que você usará para depurar procedimentos armazenados, marque a caixa de seleção Incluir informações de depuração . Para obter mais informações sobre a depuração de procedimentos armazenados, consulte Depurando procedimentos armazenados.

  6. Você pode clicar em OK para registrar o assembly imediatamente ou, na barra de ferramentas da caixa de diálogo, você pode clicar em um comando no menu Script para script da ação de registro em uma janela de consulta, um arquivo ou a Área de Transferência.

Depois de registrar um assembly de banco de dados, você pode configurá-lo clicando com o botão direito do mouse no assembly no Pesquisador de Objetos e clicando em Propriedades.

Registrando um assembly de banco de dados em um projeto

No Gerenciador de Soluções no SSDT (SQL Server Data Tools), os assemblies de banco de dados são listados na pasta Assemblies em um projeto do Analysis Services. Os assemblies de banco de dados podem conter assemblies .NET (CLR) e bibliotecas COM.

Para criar um assembly de banco de dados em um projeto do Analysis Service

  1. Expanda a instância do banco de dados do Analysis Services no Pesquisador de Objetos, clique com o botão direito do mouse na pasta Assemblies e clique em Nova Referência de Assembly. Isso exibe a caixa de diálogo Adicionar Referência . A guia .NET da caixa de diálogo Adicionar Referência lista os assemblies .NET (CLR) existentes , enquanto a guia Projetos lista projetos.

  2. Você pode clicar em um componente ou projeto existente e, em seguida, clicar em Adicionar para adicioná-lo ao projeto do Analysis Services. Para adicionar uma referência a uma DLL COM, clique na guia Procurar para localizar o arquivo. A lista de projetos e componentes selecionados mostra o nome, o tipo, a versão e o local de cada componente que você está adicionando ao projeto.

  3. Quando terminar de selecionar os componentes a serem adicionados, clique em OK para adicioná-los ao projeto do Analysis Services.

Formato de script para um assembly

Registrar um assembly do .NET é bastante simples. Um assembly do .NET é adicionado a um banco de dados em formato binário usando o seguinte formato:

<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>  

Consulte Também

Gerenciamento de assemblies de modelo multidimensional
Definindo procedimentos armazenados