Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Assemblys, die mit der CREATE ASSEMBLY-Anweisung in SQL Server registriert wurden, können gelöscht oder gelöscht werden, wenn die bereitgestellten Funktionen nicht mehr benötigt werden. Durch das Löschen einer Assembly werden die Assembly sowie alle zugehörigen Dateien, wie Debugdateien, aus der Datenbank entfernt. Verwenden Sie zum Ablegen einer Assembly die DROP ASSEMBLY-Anweisung mit der folgenden Syntax:
DROP ASSEMBLY MyDotNETAssembly
DROP ASSEMBLY stört keinen Code, der auf die derzeit ausgeführte Assembly verweist, aber nachdem DROP ASSEMBLY ausgeführt wird, schlagen alle Versuche, den Assemblycode aufzurufen, fehl.
DROP ASSEMBLY gibt einen Fehler zurück, wenn auf die Assembly von einer anderen Assembly verwiesen wird, die in der Datenbank vorhanden ist, oder wenn sie von ClR-Funktionen (Common Language Runtime), Prozeduren, Triggern, benutzerdefinierten Typen (UDTs) oder benutzerdefinierten Aggregaten (USER-Defined Aggregate, UDAs) in der aktuellen Datenbank verwendet wird. Verwenden Sie zunächst die DROP AGGREGATE-, DROP FUNCTION-, DROP PROCEDURE-, DROP TRIGGER- und DROP TYPE-Anweisungen, um alle in der Assembly enthaltenen verwalteten Datenbankobjekte zu löschen.
Entfernen eines UDT aus der Datenbank
Die DROP TYPE-Anweisung entfernt ein UDT aus der aktuellen Datenbank. Nachdem ein UDT abgelegt wurde, können Sie die DROP ASSEMBLY-Anweisung verwenden, um die Assembly aus der Datenbank abzulegen.
Die DROP TYPE-Anweisung schlägt fehl, wenn Objekte von UDT abhängig sind, wie in den folgenden Situationen:
Tabellen in der Datenbank, die mit dem UDT definierte Spalten enthalten.
Funktionen, gespeicherte Prozeduren oder Trigger, die Variablen oder Parameter des UDT verwenden, die in der Datenbank mit der WITH SCHEMABINDING-Klausel erstellt wurden.
Suchen von UDT-Abhängigkeiten
Sie müssen zuerst alle abhängigen Objekte ablegen und dann die DROP TYPE-Anweisung ausführen. Die folgende Transact-SQL Abfrage sucht alle Spalten und Parameter, die ein UDT in der AdventureWorks-Datenbank verwenden.
USE Adventureworks;
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;
Siehe auch
Verwalten von CLR-Integrationsassemblys
Ändern einer Assembly
Erstellen einer Assembly
DROP AGGREGATE (Transact-SQL)
DROP-FUNKTION (Transact-SQL)
DROP PROCEDURE (Transact-SQL)
DROP TRIGGER (Transact-SQL)
DROP TYPE (Transact-SQL)