Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
CREATE ASSEMBLY deyimi kullanılarak SQL Server'a kaydedilen derlemeler, sağladıkları işlev artık gerekli olmadığında silinebilir veya bırakılabilir. Bir derlemeyi bırakmak, derlemeyi ve hata ayıklama dosyaları gibi tüm ilişkili dosyalarını veritabanından kaldırır. Bir derlemeyi bırakmak için aşağıdaki söz dizimiyle DROP ASSEMBLY deyimini kullanın:
DROP ASSEMBLY MyDotNETAssembly;
DROP ASSEMBLY, şu anda çalışmakta olan derlemeye başvuran hiçbir kodu engellemez, ancak DROP ASSEMBLY yürütildikten sonra derleme kodunu çağırma girişimleri başarısız olur.
DROP ASSEMBLY, derlemeye veritabanında bulunan başka bir derleme tarafından başvurulursa veya geçerli veritabanındaki ortak dil çalışma zamanı (CLR) işlevleri, yordamlar, tetikleyiciler, kullanıcı tanımlı türler (UDA'lar) veya kullanıcı tanımlı toplamalar (UDA'lar) tarafından kullanılıyorsa bir hata döndürür. Derlemede bulunan yönetilen veritabanı nesnelerini silmek için önce DROP AGGREGATE, DROP FUNCTION, DROP PROCEDURE, DROP TRIGGERve DROP TYPE deyimlerini kullanın.
Veritabanından UDT kaldırma
DROP TYPE deyimi geçerli veritabanından bir UDT kaldırır. Bir UDT bırakıldıktan sonra, DROP ASSEMBLY deyimini kullanarak derlemeyi veritabanından bırakabilirsiniz.
Nesneler aşağıdaki durumlarda olduğu gibi UDT'ye bağımlıysa DROP TYPE deyimi başarısız olur:
Veritabanında UDT kullanılarak tanımlanan sütunlar içeren tablolar.
veritabanında
WITH SCHEMABINDINGyan tümcesiyle oluşturulan UDT'nin değişkenlerini veya parametrelerini kullanan işlevler, saklı yordamlar veya tetikleyiciler.
UDT bağımlılıklarını bulma
Önce tüm bağımlı nesneleri bırakmanız ve ardından DROP TYPE deyimini yürütmeniz gerekir. Aşağıdaki Transact-SQL sorgusu, AdventureWorks2025 veritabanında UDT kullanan tüm sütunları ve parametreleri bulur.
USE Adventureworks2022;
GO
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
INNER JOIN sys.objects AS o
ON o.object_id = c.object_id
INNER JOIN sys.assembly_types AS at
ON at.user_type_id = c.user_type_id;
İlgili içerik
- CLR tümleştirme derlemelerini yönetme
- Derleme değiştirme
- Derleme oluşturma
- DROP AGREGASI (Transact-SQL)
- DROP İŞLEVI (Transact-SQL)
- PROSEDÜRÜ KALDIR (Transact-SQL)
- ATKI TETIK (Transact-SQL)
- DROP TYPE (Transact-SQL)