Aracılığıyla paylaş


CLR veritabanı nesnelerini dağıtma

Şunlar için geçerlidir: SQL Server

Dağıtım, tamamlanmış bir uygulamayı veya modülü başka bir bilgisayarda yüklenip çalıştırılacak şekilde dağıtma işlemidir. Visual Studio'yu kullanarak ortak dil çalışma zamanı (CLR) veritabanı nesneleri geliştirebilir ve bunları bir test sunucusuna dağıtabilirsiniz. Alternatif olarak, yönetilen veritabanı nesneleri Visual Studio yerine .NET Framework yeniden dağıtım dosyalarıyla da derlenebilir. Derlemeden sonra, CLR veritabanı nesnelerini içeren derlemeler Visual Studio veya Transact-SQL deyimleri kullanılarak bir test sunucusuna dağıtılabilir.

CLR yöntemleri test sunucusunda test edilip doğrulandıktan sonra, dağıtım betiği kullanılarak üretim sunucularına dağıtılabilir. Dağıtım betiği el ile veya SQL Server Management Studio kullanılarak oluşturulabilir (bu makalenin ilerleyen bölümlerinde ele alınmıştır).

SQL Server'da CLR tümleştirme özelliği varsayılan olarak kapalıdır ve CLR derlemelerinin kullanılabilmesi için etkinleştirilmesi gerekir. Daha fazla bilgi için bkz. CLR tümleştirmesini etkinleştirme.

Derlemeyi test sunucusuna dağıtma

Visual Studio'yu kullanarak CLR işlevleri, yordamlar, tetikleyiciler, kullanıcı tanımlı türler (UDA'lar) veya kullanıcı tanımlı toplamalar (UDA'lar) geliştirebilir ve bunları bir test sunucusuna dağıtabilirsiniz. Bu yönetilen veritabanı nesneleri, .NET Framework yeniden dağıtım dosyalarıyla birlikte csc.exe ve vbc.exegibi komut satırı derleyicileriyle de derlenebilir. SQL Server için yönetilen veritabanı nesneleri geliştirmek için Visual Studio Tümleşik Geliştirme Ortamı gerekli değildir.

Tüm derleyici hatalarının ve uyarılarının çözümlenmiş olduğundan emin olun. Daha sonra CLR yordamlarını içeren derlemeler Visual Studio veya Transact-SQL deyimleri kullanılarak SQL Server veritabanına kaydedilebilir.

Not

Uzaktan geliştirme, hata ayıklama ve geliştirme için Visual Studio'yu kullanabilmek için SQL Server örneğinde TCP/IP ağ protokolü etkinleştirilmelidir. Sunucuda TCP/IP protokollerini etkinleştirme hakkında daha fazla bilgi için bkz. İstemci Protokollerini Yapılandırma.

Visual Studio kullanarak derlemeyi dağıtma

  1. Derleme menüsünden Derleme proje adı seçerek projeyi derleyin.

  2. Derlemeyi test sunucusuna dağıtmadan önce tüm derleme hatalarını ve uyarılarını çözün.

  3. Derleme menüsünden Dağıt'ı seçin. Derleme daha sonra SQL Server projesi Visual Studio'da ilk kez oluşturulduğunda belirtilen SQL Server örneğine ve veritabanına kaydedilir.

Transact-SQL kullanarak derlemeyi dağıtma

  1. .NET Framework ile birlikte gelen komut satırı derleyicilerini kullanarak derlemeyi kaynak dosyadan derleyin.

  2. C# kaynak dosyaları için:

    csc /target:library C:\helloworld.cs

  3. Visual Basic kaynak dosyaları için:

    vbc /target:library C:\helloworld.vb

Bu komutlar, kitaplık DLL'si oluşturmayı belirtmek için /target seçeneğini kullanarak C# veya Visual Basic derleyicisini başlatır.

  1. Derlemeyi test sunucusuna dağıtmadan önce tüm derleme hatalarını ve uyarılarını çözün.

  2. Test sunucusunda SQL Server Management Studio'yu açın. Uygun bir test veritabanına (AdventureWorks2025gibi) bağlı yeni bir sorgu oluşturun.

  3. Sorguya aşağıdaki Transact-SQL ekleyerek sunucuda derlemeyi oluşturun.

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

  4. Yordam, işlev, toplama, kullanıcı tanımlı tür veya tetikleyici daha sonra SQL Server örneğinde oluşturulmalıdır. HelloWorld derlemesi HelloWorld sınıfında Procedures adlı bir yöntem içeriyorsa, SQL Server'da hello adlı bir yordam oluşturmak için sorguya aşağıdaki Transact-SQL eklenebilir.

    CREATE PROCEDURE hello AS
    EXTERNAL NAME HelloWorld.Procedures.HelloWorld;
    

SQL Server'da farklı türlerde yönetilen veritabanı nesneleri oluşturma hakkında daha fazla bilgi için bkz:

  • CLR kullanıcı tanımlı işlevleri
  • CLR kullanıcı tanımlı toplama
  • CLR kullanıcı tanımlı türleri
  • CLR saklı yordamlarını
  • CLR tetikleyicileri

Derlemeyi üretim sunucularına dağıtma

CLR veritabanı nesneleri test sunucusunda test edilip doğrulandıktan sonra üretim sunucularına dağıtılabilir. Yönetilen veritabanı nesnesinde hata ayıklama hakkında daha fazla bilgi için bkz. CLR veritabanı nesnehatalarını ayıklama.

Yönetilen veritabanı nesnelerinin dağıtımı normal veritabanı nesnelerinin (tablolar, Transact-SQL yordamları vb.) dağıtımına benzer. CLR veritabanı nesnelerini içeren derlemeler bir dağıtım betiği kullanılarak diğer sunuculara dağıtılabilir. Dağıtım betiği, Betik Oluşturma Management Studio işlevselliği kullanılarak oluşturulabilir. Dağıtım betiği el ile oluşturulabilir veya Betik Oluşturma kullanılarak oluşturulabilir ve el ile değiştirilebilir. Dağıtım betiği oluşturulduktan sonra, yönetilen veritabanı nesnelerini dağıtmak için diğer SQL Server örneklerinde çalıştırılabilir.

Betik oluşturma kullanarak dağıtım betiği oluşturma

  1. Management Studio'yu açın ve dağıtılacak yönetilen derlemenin veya veritabanı nesnesinin kaydedildiği SQL Server örneğine bağlanın.

  2. Nesne Gezginisunucu adını ve Veritabanları ağaçlarını genişletin. Yönetilen veritabanı nesnesinin kaydedildiği veritabanına sağ tıklayın, görevler'ı seçin ve ardından Betik Oluşturöğesini seçin. Betik Sihirbazı açılır.

  3. Liste kutusundan veritabanını seçin ve İleriseçin.

  4. Betik Seçeneklerini Seç bölmesinde İleriseçin veya seçenekleri değiştirip İleriseçin.

  5. Nesne Türlerini Seç bölmesinde, dağıtılacak veritabanı nesnesinin türünü seçin. sonrakiseçin.

  6. Nesne Türlerini Seç bölmesinde seçilen her nesne türü için <türü seç> bölmesi sunulur. Bu bölmede, belirtilen veritabanında kayıtlı veritabanı nesne türünün tüm örnekleri arasından seçim yapabilirsiniz. Bir veya daha fazla nesne seçin ve sonrakiseçin.

  7. İstenen tüm veritabanı nesne türleri seçildiğinde Çıktı Seçenekleri bölmesi açılır. dosya oluşturmak için Betik'i seçin ve betik için bir dosya yolu belirtin. sonrakiseçin. Seçimlerinizi gözden geçirin ve sonseçin. Dağıtım betiği belirtilen dosya yoluna kaydedilir.

Dağıtım sonrası betikleri

Dağıtım sonrası betiği çalıştırabilirsiniz.

Dağıtım sonrası betiği eklemek için Visual Studio proje dizininize postdeployscript.sql adlı bir dosya ekleyin. Örneğin, Çözüm Gezgini'nde projenize sağ tıklayın ve var olan öğeyi ekleseçin. Dosyayı Test Betikleri klasörüne eklemek yerine projenin köküne ekleyin.

Dağıt'ı seçtiğinizde Visual Studio, projenizin dağıtımından sonra bu betiği çalıştırır.