Mostrando entradas con la etiqueta RECONFIGURE. Mostrar todas las entradas
Mostrando entradas con la etiqueta RECONFIGURE. Mostrar todas las entradas

viernes, 1 de abril de 2011

Usando Integración CLR en SQL Server 2005

Usando Integración CLR en SQL Server 2005.


1.    Escribamos un programa “Hello World”

using System;
using System.Data;
using Microsoft.SqlServer.Server;
using System.Data.SqlTypes;

public class HelloWorldProc
{
    [Microsoft.SqlServer.Server.SqlProcedure]
    public static void HelloWorld()
    {
        SqlContext.Pipe.Send("Hello world!\n");
    }
}

 2.    Compilemos el procedimiento almacenado "Hello World"

 


3.    Abra SQL Server Management Studio y elija crear un nuevo "query", y habilite Integración CLR como se muestra en la imagen debajo.


Luego, cree el ensamblado en SQL Server.





Los permisos que puede configurar son:

  • SAFE: Solamente código que corre dentro de del proceso de SQL puede ser ejcutado.
  • EXTERNAL_ACCESS: Cuando el ensamblado necesita acceso a archivos, redes, variables ambientales y el registry.
  • UNSAFE: Cuando el ensamblado necesita acceso a el subsistema Win32, o acceso no restringido a recursos, tanto dentro como fuera de una instancia de SQL Server.


Para verificar la existencia del ensamblado, consulte la tabla de sys.assemblies.




Ahora usted puede acceder al método HelloWorld haciendo uso de la instrucción T-SQL CREATE PROCEDURE.




Ejecute el procedimiento almacenado (stored procedure) como ejecutaría cualquier otro procedimiento almacenado.


Si le gustaría eliminar el procedimiento almacenado y el ensamblado, proceda a efectuar lo siguiente:


  

Referencias.


SQL Common Language Runtime is not enabled on the server.

SQL Common Language Runtime is not enabled on the server.


Aplica a: Orion Network Performance Manager 10, SQL Server 2008 R2 Standard Edition.


Descripción del Problema.

Nosotros estabamos tratando de instalar Orion Network Performance Manager (NPM) en combinación con una instancia de SQL Server 2008 R2, cuando recibimos el siguiente mensaje de error en la página "Database Settings" del Orion Configuration Wizard

SQL Common Language Runtime is not enabled on the server. The
current user does not have privileges to enable CLR (needs to be
a member of 'SysAdmin' role).






Antes de instalar NPM, nosotros creamos un nuevo SQL login para la instalación de NPM, y asignamos a ese SQL login el rol de "dbcreator" solamente


Causa.

NPM requires the CLR integration feature enabled on the SQL Server instance.


Solución.

El mensaje arriba sugería añadir el SQL login al rol de SysAdmin en la instancia, pero tan sólo habilitamos la integración CLR (CLR integration) en la instancia, y el Orion Configuration Wizard fue capaz de seguir adelante con la instalación.

Habilitamos la integración CLR ejecutando las siguientes instrucciones T-SQL en la instancia usando SQL Server Management Studio:


sp_configure 'clr enabled', 1
GO
RECONFIGURE
GO