Aracılığıyla paylaş


CLR veritabanı nesnelerini dağıtma

Dağıtım, tamamlanmış uygulamayı ya da yüklü ve başka bir bilgisayarda çalıştırma modülünün olarak dağıtmak işlemidir.Bu alternatif Microsoft Visual Studio, ortak dil geliştirebilirsiniz çalışma zamanı (CLR), nesneleri veritabanı ve bunları bir sınama sunucusuna dağıtmak. Alternatif olarak, yönetilen nesneleri de ile derlenebilir Microsoft Yerine, Visual Studio .NET framework yeniden dağıtım dosyaları. Derlenmiş bir kez CLR nesneleri içeren derlemeler sonra Visual Studio kullanarak bir sınama sunucusuna dağıtılabilir veya Transact-SQL ifadeler. Note that Visual Studio .NET 2003 cannot be used for CLR integration programming or deployment.SQL Server includes the .NET Framework pre-installed, and Visual Studio .NET 2003 cannot use the .NET Framework 2.0 assemblies.

CLR yöntemleri sınanmış ve sınama sunucusunda doğrulandıktan sonra bir dağıtım komut dosyası kullanarak üretim sunucularına dağıtılabilir.Dağıtım komut dosyası, el ile veya kullanılarak oluşturulabilir SQL Server Management Studio (Bu konunun ilerleyen bölümlerindeki yordamına bakın).

CLR tümleştirme özelliğini varsayılan olarak devre dışı bırakılır SQL Server ve CLR kullanabileceksiniz için etkinleştirilmiş olması gerekir. Daha fazla bilgi için bkz:CLR tümleştirme etkinleştirme.

Not

Ile başlayan SQL Server 2005, üzerinde bir SQL Serveruyumluluk düzey "oluşturamıyor, 80" veritabanı, kullanıcı tanımlı türler, saklı yordamları, işlevleri, toplamları veya Tetikleyicileri yönetiliyor. Bu CLR bütünleştirme özelliklerinin avantajlarından yararlanmak için: SQL Server, kullanmanız gereken sp_dbcmptlevel (Transact-SQL)"90" veritabanı uyumluluk düzeyini ayarlamak için saklı yordam.

Derleme sınama sunucusuna dağıtma

Visual Studio kullanarak, CLR geliştirebilirsiniz işlevleri, yordamlar, tetikler, kullanıcı tanımlı türler (UDTs) veya kullanıcı tanımlı (UDAs) toplayan ve bunları bir sınama sunucusuna dağıtmak.Bu yönetilen bir veritabanı nesnelerini, komut satırında derleyiciler, csc.exe ve .NET Framework yeniden dağıtım dosyalarýnda, vbc.exe ile derlenebilir.Yönetilen bir veritabanı nesneleri için geliştirmek için Visual Studio tümleşik geliştirme ortamı gereklidir SQL Server.

Tüm derleyici hatalarının ve uyarılarının çözümlenen olduğundan emin olun.CLR yordamlar içeren derlemeler sonra içinde kayıtlı bir SQL Server Visual Studio kullanarak veritabanı veya Transact-SQL ifadeler.

Not

TCP/IP ağ iletişim kuralını etkinleştirilmesi gerekir SQL Server kullanmak üzere örnek Microsoft Visual Studio uzak geliştirme, hata ayıklama ve geliştirme. Sunucu üzerindeki TCP/IP protokol'nı etkinleştirme hakkında daha fazla bilgi için bkz: Istemci ağ iletişim kuralları'nı yapılandırma.

Derleme Visual Studio'yu kullanarak dağıtmak için

  1. Build the project by selecting Build <project name> from the Build menu.

  2. Tüm hatalar ve uyarılar sınama sunucusuna derleme dağıtmadan önce oluşturmak çözümleyin.

  3. SELECT dağıtmak from the Oluşturma menüsü.Derleme içinde sonra kaydedileceği SQL Server Örnek ve veritabanı ne zaman belirtilen SQL Server Project, Visual Studio'da önce oluşturuldu.

Derleme Transact-SQL kullanarak dağıtmak için

  1. .NET Framework ile bulunan komut satırı derleyiciler kullanarak kaynak dosyayı derlemesinden derleyin.

  2. Için Microsoft Visual C# kaynak dosyalar:

  3. csc /target:library C:\helloworld.cs

  4. Için Microsoft Visual Basic kaynak dosyalar:

vbc /target:library C:\helloworld.vb

Bu komutları Visual C# veya Visual Basic Derleyici ile fırlatma /target bir DLL kitaplığı oluşturma belirlemek için seçeneği'ı tıklatın.

  1. Tüm hatalar ve uyarılar sınama sunucusuna derleme dağıtmadan önce oluşturmak çözümleyin.

  2. Açık SQL Server Management Studio sınama sunucusuna. (AdventureWorks gibi) uygun bir sınama veritabanına bağlı olan yeni bir sorgu oluşturun.

  3. Derleme aşağıdakileri ekleyerek sunucu oluşturun... Transact-SQL sorguya.

CREATE ASSEMBLY HelloWorld from 'c:\helloworld.dll' WITH PERMISSION_SET = SAFE

  1. Yordam, işlev, toplamak, kullanıcı tanımlı tür veya tetikleyicisi sonra örnek yaratılmış olmalı SQL Server. If the HelloWorld derleme contains a yöntem named HelloWorld in the Procedures class, the following Transact-SQL can be added to the query to create a procedure called hello in SQL Server.

CREATE PROCEDURE hello

AS

EXTERNAL NAME HelloWorld.Procedures.HelloWorld

Yönetilen bir veritabanı nesnelerinin farklı türleri oluşturma hakkında daha fazla bilgi için SQL Server, bkz: CLR kullanıcı tanımlı işlevler, CLR Aggregates User-Defined, CLR kullanıcı tanımlı türler, CLR yordamlar depolanan..., ve CLR Tetikleyicileri.

Derleme, ürün sunucularına dağıtma

CLR nesneleri sınanmış ve sınama sunucusunda doğrulandıktan sonra üretim sunucularına dağıtılabilir.Yönetilen bir veritabanı nesneleri için hata ayıklama hakkında daha fazla bilgi için bkz: Veritabanı nesnelerini CLR hata ayıklama.

Dağıtım yönetilen veritabanı nesnelerinin (tablolar, normal bir veritabanı nesnelerinin benzer Transact-SQL yordamlar ve benzerleri). CLR nesneleri içeren derlemeler bir dağıtım komut dosyası kullanarak diğer sunuculara da dağıtılabilir.Dağıtım komut dosyası "oluşturma KomutDosyaları" işlevselliğini kullanarak oluşturulmadan. Management Studio. Dağıtım komut dosyası da olabilir el ile oluşturulan "KomutDosyaları Generate" kullanılarak oluşturulan veya el ile değişiklik.Dağıtım komut dosyası oluşturulduktan sonra üzerinde diğer örneklerini çalıştırılabilir SQL Server yönetilen nesneleri dağıtmak için .

Bir dağıtımı oluşturmak için komut dosyası oluşturma komut dosyaları

  1. Açık Management Studio ve bağlantı SQL Server dağıtılacak yönetilen derleme veya veritabanı nesnesi kayıtlı olduğu örnek.

  2. Içinde Nesne Explorer genişletin.<Sunucu Adı> ve Veritabanları ağaçlarını.Yönetilen bir veritabanı nesnesinin bulunduğu kayıtlı, seçim bir veritabanını sağ tıklatın Görevler) ve sonra seçim Komut dosyaları oluşturma.Komut dosyası Sihirbazı açılır.

  3. Veritabanı liste kutusundan seçin ve İleri.

  4. Içinde Komut dosyası seçenekleri seçin. bölmesinde tıklatın.İleri tıklatın veya seçenekleri değiştirinİleri.

  5. Içinde Nesne türleri seçin. bölmesinde dağıtılacak veritabanı nesnesinin türünü seçin.' I tıklatın Sonraki.

  6. Seçilen her nesne türü için Nesne türleri seçin. pane, a Seçin <TYPE> bölmesinde görüntülenir. Bu bölmede belirtilen veritabanında kayıtlı, veritabanı nesne türünün tüm örneklerini arasından seçim yapabilirsiniz.Bir veya daha çok nesneyi seçin ve İleri.

  7. The Output Options pane comes up when all of the desired database object types have been selected.SELECT Komut dosyası ve dosya yol komut dosyası için.SELECT İleri.Seçimlerinizi gözden geçirin ve tıklatın Bitiş.Dağıtım komut dosyası belirtilen dosya yoluna kaydedilir.

Deftere Naklet dağıtım komut dosyaları

Bir Deftere Naklet dağıtım komut çalıştırabilirsiniz.

Bir Deftere Naklet dağıtım komut eklemek için , Visual Studio'nun proje dizininde postdeployscript.sql adlı bir dosyaya ekleyin.Örneğin, projenizde sağ tıklatın Çözüm Gezgini ve seçme Varolan bir öğe Ekle.Dosya, sınama komut dosyaları klasörü yerine kök projenin ekleyin.

Tıklattığınızda dağıtmak, Visual Studio'nun bu komut, projenizin dağıtımdan sonra çalışır.