Creación de procedimientos almacenados

Se aplica a: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium

Todos los procedimientos almacenados deben asociarse a una clase de Common Language Runtime (CLR) o Modelo de objetos componentes (COM) para poder usarse. La clase debe instalarse en el servidor (normalmente en forma de biblioteca de vínculos dinámicos (DLL) de Microsoft ActiveX® y registrarse como un ensamblado en el servidor o en una base de datos de SQL Server Analysis Services.

Los procedimientos almacenados se registran en un servidor o en una base de datos. Se puede llamar a los procedimientos almacenados del servidor desde cualquier contexto de consulta. Solo se puede tener acceso a los procedimientos almacenados de base de datos si el contexto de base de datos es la base de datos bajo la cual se define el procedimiento almacenado. Si las funciones de un ensamblado llaman a las funciones en otro ensamblado, debe registrar ambos ensamblados en el mismo contexto (servidor o base de datos). Para un servidor o una base de datos de Microsoft SQL Server SQL Server Analysis Services implementada en un servidor, puede usar SQL Server Management Studio para registrar un ensamblado. Para un proyecto de SQL Server Analysis Services, puede usar SQL Server Analysis Services Designer para registrar un ensamblado en el proyecto.

Importante

Los ensamblados COM pueden suponer un riesgo para la seguridad. Debido a este riesgo y otras consideraciones, los ensamblados COM han quedado en desuso en SQL Server 2008 Analysis Services (SSAS). Es posible que este tipo de ensamblados no esté disponible en versiones futuras.

Registro de un ensamblado de servidor

En Explorador de objetos en SQL Server Management Studio, los ensamblados de servidor aparecen en la carpeta Ensamblados en una instancia de SQL Server Analysis Services. Los ensamblados de servidor pueden contener ensamblados .NET (CLR) y bibliotecas COM.

Para crear un ensamblado de servidor

  1. Expanda la instancia de SQL Server Analysis Services en Explorador de objetos, haga clic con el botón derecho en la carpeta Ensamblados y, a continuación, haga clic en Nuevo ensamblado. Esto muestra el cuadro de diálogo Registrar ensamblado del servidor .

  2. En Tipo , especifique el tipo de ensamblado:

    • Para una DLL de código administrado (CLR), especifique Ensamblado .NET.

    • Para un archivo DLL de código nativo (COM), especifique EL ARCHIVO DLL COM.

  3. En Nombre de archivo, especifique el archivo DLL que contiene los procedimientos almacenados.

  4. En Nombre del ensamblado, especifique un nombre para el ensamblado.

  5. Si se trata de una compilación de depuración de la biblioteca que va a usar para depurar procedimientos almacenados, active la casilla Incluir información de depuración . Para obtener más información sobre cómo depurar procedimientos almacenados, consulte Depuración de procedimientos almacenados.

  6. Puede hacer clic en Aceptar para registrar el ensamblado inmediatamente o, en la barra de herramientas del cuadro de diálogo, puede hacer clic en un comando en el menú Script para incluir la acción de registro en una ventana de consulta, un archivo o el Portapapeles.

Después de registrar un ensamblado de servidor, puede configurarlo haciendo clic con el botón derecho en el ensamblado en Explorador de objetos y, a continuación, haciendo clic en Propiedades.

Registrar un ensamblado de base de datos en el servidor

En Explorador de objetos de SQL Server Management Studio, los ensamblados de base de datos se enumeran en la carpeta Ensamblados en una base de datos SQL Server Analysis Services. Los ensamblados de base de datos pueden contener ensamblados .NET (CLR) y bibliotecas COM.

Para crear un ensamblado de base de datos en un servidor

  1. Expanda la instancia de la base de datos SQL Server Analysis Services en Explorador de objetos, haga clic con el botón derecho en la carpeta Ensamblados y, a continuación, haga clic en Nuevo ensamblado. Esto muestra el cuadro de diálogo Registrar ensamblado de base de datos .

  2. En Tipo , especifique el tipo de ensamblado:

    • Para una DLL de código administrado (CLR), especifique Ensamblado .NET.

    • Para una DLL de código nativo (COM), especifique DLL COM.

  3. En Nombre de archivo, especifique el archivo DLL que contiene los procedimientos almacenados.

  4. En Nombre del ensamblado, especifique un nombre para el ensamblado.

  5. Si se trata de una compilación de depuración de la biblioteca que va a usar para depurar procedimientos almacenados, active la casilla Incluir información de depuración . Para obtener más información sobre cómo depurar procedimientos almacenados, consulte Depuración de procedimientos almacenados.

  6. Puede hacer clic en Aceptar para registrar el ensamblado inmediatamente o, en la barra de herramientas del cuadro de diálogo, puede hacer clic en un comando en el menú Script para incluir la acción de registro en una ventana de consulta, un archivo o el Portapapeles.

Después de registrar un ensamblado de base de datos, puede configurarlo haciendo clic con el botón derecho en el ensamblado en Explorador de objetos y, a continuación, haciendo clic en Propiedades.

Registrar un ensamblado de base de datos en un proyecto

En Explorador de soluciones en SQL Server Data Tools, los ensamblados de base de datos se enumeran en la carpeta Ensamblados en un proyecto de SQL Server Analysis Services. Los ensamblados de base de datos pueden contener ensamblados .NET (CLR) y bibliotecas COM.

Para crear un ensamblado de base de datos en un proyecto de Analysis Service

  1. Expanda la instancia de la base de datos SQL Server Analysis Services en Explorador de objetos, haga clic con el botón derecho en la carpeta Ensamblados y, a continuación, haga clic en Nueva referencia de ensamblado. Esto muestra el cuadro de diálogo Agregar referencia . En la pestaña .NET del cuadro de diálogo Agregar referencia se enumeran los ensamblados de .NET (CLR) existentes, mientras que en la pestaña Proyectos se enumeran los proyectos.

  2. Puede hacer clic en un proyecto o componente existente y, a continuación, hacer clic en Agregar para agregarlo al proyecto de SQL Server Analysis Services. Para agregar una referencia a un archivo DLL COM, haga clic en la pestaña Examinar para buscar el archivo. La lista Proyectos y componentes seleccionados muestra el nombre, el tipo, la versión y la ubicación de cada componente que va a agregar al proyecto.

  3. Cuando haya terminado de seleccionar los componentes que desea agregar, haga clic en Aceptar para agregarlos al proyecto de SQL Server Analysis Services.

Formato de script para un ensamblado

Registrar un ensamblado .NET es bastante sencillo. Un ensamblado .NET se agrega a una base de datos en formato binario con el siguiente 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 también

Administración de ensamblados de modelos multidimensionales
Definición de procedimientos almacenados