CẬP NHẬT: Trong Visual Studio 2012, điều này có thể được thực hiện thông qua cửa sổ thuộc tính dự án của "Dự án cơ sở dữ liệu SQL Server". Thuộc tính có liên quan là "Lược đồ mặc định" trên tab "Cài đặt dự án". Việc sửa đổi giá trị này sửa đổi kịch bản triển khai được tạo ra để đặt tên lược đồ ở trước các hàm, các thủ tục lưu sẵn, vv .. Hãy chắc chắn thêm đối tượng Schema vào dự án của bạn có cùng tên hoặc bạn sẽ gặp lỗi xây dựng.
Tôi không biết những gì phiên bản của Visual Studio bạn đang sử dụng, nhưng khi bạn tạo một dự án thủ tục CLR được lưu trữ trong Visual Studio 2010, dự án bao gồm hai kịch bản SQL: PreDeploymentScript.sql và PostDeploymentScript.sql.
Chúng tôi chỉ sử dụng những điều này để hướng dẫn mọi thứ theo cách chúng tôi muốn.
Trong kịch bản trước khi triển khai, chúng tôi có một cái gì đó như thế này:
-- 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
Sau đó, trong kịch bản sau triển khai, chúng tôi có điều này:
-- 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
Hy vọng rằng sẽ giúp!
Nguồn
2011-01-04 19:36:39
Đòi hỏi này, như xa như nó liên quan đến việc thiết Schema trong Visual Studio/triển khai SSDT, là lỗi thời như của VS 2012. Vui lòng xem các ** CẬP NHẬT ** phần ở đầu câu trả lời dưới đây: http: // stackoverflow.com/a/4597610/577765 –