miércoles, octubre 03, 2007

Como darle parmisos a una base de datos de Sql para acceder al disco

Cuando queremos darle permisos a un assembly dentro de Sql para que pueda por ejemplo guardar información en el disco duro debemos cambiar los permisos del assembly para que pueda tener acceso fuera del propio SqlServer.

Para ello debemos ejecutar la siguiente sentencia

ALTER ASSEMBLY SqlServerProjectCLR
WITH PERMISSION_SET = EXTERNAL_ACCESS

En donde SqlServerProjectCLR es el nombre con el que mapeaste a tu assembly.

Ahora es muy probable que si no has definido los permisos de la base de datos te enfrentes al siguiente error:

ALTER ASSEMBLY for assembly 'SqlServerProjectCLR' failed because assembly 'SqlServerProjectCLR' is not authorized for PERMISSION_SET = EXTERNAL_ACCESS

Para corregirlo es muy sencillo.

Simplemente ejecuta la siguiente sentencia.

ALTER DATABASE SomeDatabase SET TRUSTWORTHY ON

Espero que les sirva.

Saludos