Domanda

Sto usando " SQL SERVER PROJECT " in VS 2008 per creare UDF in C # Quindi sto usando il comando DEPLOY per pubblicare DLL in MS SQL Server 2005

Tutto funziona bene tranne tutti gli UDF creati sono di mia proprietà (come utente) Ma volevo mantenere lo schema dbo (ad esempio: dbo.UDF_TEST - non jonny.UDF_TEST)

Qualche idea su come gestire thar?

È stato utile?

Soluzione 2

Ho trovato un altro approccio che consente di fare tutto all'interno di VS.

Ho aggiunto al progetto lo script SQL denominato " postdeployscript.sql " ;:

DECLARE @SQL NVARCHAR (200)

SET @SQL = 'alter transfer dbo schema' + CURRENT_USER + '. [UDF_GET_AUDIT_VALUE]'

EXECUTE (@SQL)

GO

lo script viene eseguito automaticamente da VS durante il processo di depolverazione e modifica gli schemi dall'utente corrente in DBO.

Contro: devi aggiungere ogni UDF / USP che stai picchiando manualmente

PS: tieni presente che puoi anche utilizzare predeployscript.sql per eseguire alcuni comandi prima della distribuzione

Altri suggerimenti

distribuisce l'UDF da un account che è sysadmin o dbo sul database. È possibile creare la DLL e quindi distribuirla manualmente accedendo a Management Studio come dbo nel database ed eseguendo questi comandi:

  

CREA ASSEMBLEA Geocode DA

     

'C: \ PATH \ YourUDF.dll' CON

     

PERMISSION_SET = SAFE

o

  1. Dall'interno di Visual Studio in Esplora soluzioni fare clic su UDF progetto (non la soluzione).
  2. Vai a proprietà.
  3. Fai clic sulla scheda del database.
  4. È possibile modificare la connessione stringa e anche modificare l'assembly proprietario qui.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top