Pregunta

Estoy usando "PROYECTO DE SERVIDOR SQL" en VS 2008 para crear UDF en C # Luego estoy usando el comando DEPLOY para publicar DLL en el servidor MS SQL 2005

Todo funciona bien, excepto que todos los UDF creados son de mi propiedad (como usuario) Pero quería mantener el esquema dbo (por ejemplo: dbo.UDF_TEST - no jonny.UDF_TEST)

¿Alguna idea de cómo gestionar thar?

¿Fue útil?

Solución 2

He encontrado otro enfoque que permite hacer todo dentro de VS.

Agregué al script SQL del proyecto llamado "postdeployscript.sql":

DECLARAR @SQL NVARCHAR (200)

SET @SQL = 'alterar transferencia de dbo de esquema' + CURRENT_USER + '. [UDF_GET_AUDIT_VALUE]'

EJECUTAR (@SQL)

IR

El script

se ejecuta automáticamente por VS durante el proceso de implementación y cambia los esquemas del usuario actual a DBO.

Contras: debe agregar cada UDF / USP que vaya a ceder manualmente

PD: Tenga en cuenta que también puede usar predeployscript.sql para ejecutar algunos comandos antes de la implementación

Otros consejos

implementa el UDF desde una cuenta que es sysadmin o dbo en la base de datos. Puede compilar el dll y luego desplegarlo manualmente iniciando sesión en Management Studio como dbo en la base de datos y ejecutando estos comandos:

  

CREAR MONTAJE DE GEOCODIFICACIÓN DE

     

'C: \ PATH \ YourUDF.dll' CON

     

PERMISSION_SET = SEGURO

o

  1. Desde Visual Studio en el explorador de soluciones haga clic en el UDF proyecto (no la solución).
  2. Ir a propiedades.
  3. Haga clic en la pestaña de la base de datos.
  4. Puedes cambiar la conexión cadena, y también cambiar el ensamblaje propietario aquí.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top