UPDATE: In Visual Studio 2012 questo può ora essere eseguito tramite la finestra delle proprietà del progetto di un "Progetto database SQL Server". La relativa proprietà è "Schema predefinito" nella scheda "Impostazioni progetto". La modifica di questo valore modifica lo script di distribuzione generato per mettere il nome dello schema davanti a funzioni, stored procedure, ecc. Assicurarsi di aggiungere un oggetto schema al progetto con lo stesso nome o si otterranno errori di compilazione.
Non so quale versione di Visual Studio che si sta utilizzando, ma quando si crea un progetto di CLR memorizzato procedure in Visual Studio 2010, il progetto prevede due script SQL: PreDeploymentScript.sql e PostDeploymentScript.sql.
Li usiamo solo per manipolare le cose nel modo in cui vogliamo.
Nello script pre-distribuzione, abbiamo qualcosa di simile:
-- DROP EXISTING ITEM FROM CURRENT SCHEMA
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[Utilities].[fn_Create_Md5_Hash]') AND type in (N'FN', N'IF', N'TF', N'FS', N'FT'))
DROP FUNCTION [Utilities].[fn_Create_Md5_Hash]
GO
Poi, nello script post-distribuzione, abbiamo questa:
-- DEPLOYMENT WIZARD RECREATES ITEM IN dbo SCHEMA
-- DROP NEW ITEM FROM dbo SCHEMA
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[fn_Create_Md5_Hash]') AND type in (N'FN', N'IF', N'TF', N'FS', N'FT'))
DROP FUNCTION [dbo].[fn_Create_Md5_Hash]
GO
-- RECREATE THE ITEM BACK IN THE SCHEMA YOU WANT
CREATE FUNCTION [Utilities].[fn_Create_Md5_Hash](@source [varbinary](max))
RETURNS [varbinary](8000) WITH EXECUTE AS CALLER
AS
EXTERNAL NAME [NameSpace].[UserDefinedFunctions].[fn_Create_Md5_Hash]
GO
Speranza che aiuta!
fonte
2011-01-04 19:36:39
Questa richiesta, per quanto riguarda l'impostazione dello schema nella distribuzione Visual Studio/SSDT, è obsoleta a partire da VS 2012. Vedere la sezione ** AGGIORNA ** nella parte superiore di questa risposta di seguito: http: // stackoverflow.com/a/4597610/577765 –