Bir derleme bırakarak

İçinde kayıtlı derleme SQL Server DERLEME oluşturma deyim kullanılarak silinebilir, veya bırakılan sağladıkları işlevsellik artık gerekmediğinde.Bir derleme bırakarak derleme ve tüm ilişkili dosyalarını, hata ayıklama dosyaları gibi veritabanından kaldırır.Bir derleme bırakmak için drop assembly deyim aşağıdaki sözdizimiyle kullanın:

DROP ASSEMBLY MyDotNETAssembly

drop assembly herhangi bir kod çalışmakta olan derleme başvuran engellemez, ancak drop assembly yürütür sonra derleme kod çağırmak için girişimleri başarısız.

drop assembly veritabanında var veya ortak dil çalışma zamanı (clr) işlevleri tarafından yordamlar, kullanılırsa tetikler, kullanıcı tanımlı türler (UDTs) veya geçerli veritabanında kullanıcı tanımlı aggregates (UDAs) başka bir derleme tarafından derlemeye başvuruda bir hata döndürür.Önce yer alan tüm yönetilen veritabanı nesnelerini silmek için drop toplama, bırak işlevi, bırakma yordamı, tetikleyici bırakın ve bırakma türü ifadeler kullanın derleme.

Veritabanından bir udt kaldırma

type drop deyim bir udt geçerli veritabanından kaldırır.udt bırakılan sonra derleme veritabanından silmek için drop assembly deyim kullanabilirsiniz.

Aşağıdaki durumlarda udt nesneleri bağımlı type drop deyim başarısız olur:

  • udt kullanılarak tanımlanmış sütunlar içeren veritabanındaki tabloları.

  • İşlevler, saklı yordamlar veya değişkenler veya udt parametreleri kullanın Tetikleyiciler veritabanında olan ema BALAMA yan tümce tümce tümce ile oluşturuldu.

udt bağımlılıklar bulma

Tüm bağımlı nesneleri ilk olarak bırakın ve sonra type drop deyim yürütmek.Aşağıdaki Transact-SQL sorgu tüm sütunları ve içinde bir udt kullanın parametreleri bulur AdventureWorks2008R2 veritabanı.

USE Adventureworks2008R2;
SELECT o.name AS major_name, o.type_desc AS major_type_desc
     , c.name AS minor_name, c.type_desc AS minor_type_desc
     , at.assembly_class
  FROM (
        SELECT object_id, name, user_type_id, 'SQL_COLUMN' AS type_desc
          FROM sys.columns
     UNION ALL
        SELECT object_id, name, user_type_id, 'SQL_PROCEDURE_PARAMETER'
          FROM sys.parameters
     ) AS c;
  JOIN sys.objects AS o
    ON o.object_id = c.object_id;
  JOIN sys.assembly_types AS at
    ON at.user_type_id = c.user_type_id;