Crear procedimientos almacenados
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 bajo la forma de una 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 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 implementada de Microsoft SQL Server Analysis Services en un servidor, puede usar SQL Server Management Studio para registrar un ensamblado. Para un proyecto de Analysis Services, puede usar el Diseñador de Analysis Services para registrar un ensamblado en el proyecto.
Nota de seguridad |
---|
Los ensamblados COM pueden suponer un riesgo para la seguridad. Debido a esto y a otras consideraciones, los ensamblados COM están 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 el Explorador de objetos de SQL Server Management Studio, los ensamblados de servidor aparecen en la carpeta Ensamblados bajo una instancia de Analysis Services. Los ensamblados de servidor pueden contener ensamblados .NET (CLR) y bibliotecas COM.
Para crear un ensamblado de servidor
Expanda la instancia de Analysis Services en el Explorador de objetos, haga clic con el botón secundario en la carpeta Ensamblados y haga clic en Nuevo ensamblado. Aparece el cuadro de diálogo Registrar ensamblado de servidor.
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.
En Nombre de archivo, especifique la DLL que contiene los procedimientos almacenados.
En Nombre del ensamblado, especifique un nombre para el ensamblado.
Si se trata de una versión de depuración de la biblioteca que se va a usar para depurar los procedimientos almacenados, active la casilla Incluir información de depuración de errores. Para obtener más información acerca de la depuración de los procedimientos almacenados, vea Depurar procedimientos almacenados.
Puede hacer clic en Aceptar para registrar el ensamblado de inmediato o, en la barra de herramientas del cuadro de diálogo, puede hacer clic en un comando en el menú Script para incluir en un script la acción de registro para 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 secundario en el ensamblado, en el Explorador de objetos, y haciendo clic en Propiedades.
Registrar un ensamblado de base de datos en el servidor
En el Explorador de objetos de SQL Server Management Studio, los ensamblados de base de datos aparecen en la carpeta Ensamblados bajo una base de datos de 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
Expanda la instancia de base de datos de Analysis Services en el Explorador de objetos, haga clic con el botón secundario en la carpeta Ensamblados y haga clic en Nuevo ensamblado. Aparece el cuadro de diálogo Registrar ensamblado de base de datos.
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.
En Nombre de archivo, especifique la DLL que contiene los procedimientos almacenados.
En Nombre del ensamblado, especifique un nombre para el ensamblado.
Si se trata de una versión de depuración de la biblioteca que se va a usar para depurar los procedimientos almacenados, active la casilla Incluir información de depuración de errores. Para obtener más información acerca de la depuración de los procedimientos almacenados, vea Depurar procedimientos almacenados.
Puede hacer clic en Aceptar para registrar el ensamblado de inmediato o, en la barra de herramientas del cuadro de diálogo, puede hacer clic en un comando en el menú Script para incluir en un script la acción de registro para 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 secundario en el ensamblado, en el Explorador de objetos, y haciendo clic en Propiedades.
Registrar un ensamblado de base de datos en un proyecto
En el Explorador de soluciones de SQL Server Data Tools (SSDT), los ensamblados de base de datos aparecen en la carpeta Ensamblados bajo un proyecto de 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
Expanda la instancia de base de datos de Analysis Services en el Explorador de objetos, haga clic con el botón secundario en la carpeta Ensamblados y haga clic en Nueva referencia de ensamblado. Aparece el cuadro de diálogo Agregar referencia. En la pestaña .NET del cuadro de diálogo Agregar referencia se muestra una lista de los ensamblados .NET (CLR) existentes, mientras que en la pestaña Proyectos se muestra una lista de los proyectos.
Puede hacer clic en un componente o proyecto existente y, después, en Agregar para agregarlo al proyecto Analysis Services. Para agregar una referencia a una DLL COM, haga clic en la pestaña Examinar para buscar el archivo. En la lista Proyectos y componentes seleccionados se muestra el nombre, el tipo, la versión y la ubicación de cada componente que se agrega al proyecto.
Al terminar de seleccionar los componentes que se deben agregar, haga clic en Aceptar para agregarlos al proyecto de 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>