Managed code is compiled and then deployed in units called an assembly. An assembly is packaged as a DLL or executable (.exe) file. While an executable file can run on its own, a DLL must be hosted in an existing application. Managed DLL assemblies can be loaded into and hosted by Microsoft SQL Server. SQL Server requires you to register the assembly in a SQL Server database using the CREATE ASSEMBLY statement, before it can be loaded in the process and used. Assemblies can also be updated from a more recent version using the ALTER ASSEMBLY statement, or removed from SQL Server using the DROP ASSEMBLY statement.
Assembly information is stored in the sys.assembly_files table in the database where the assembly has been installed. The sys.assembly_files table contains the following columns.
|
Column
|
Description
|
|---|
|
assembly_id
|
The identifier defined for the assembly. This number is assigned to all objects relating to the same assembly.
|
|
name
|
The name of the object.
|
|
file_id
|
A number identifying each object, with the first object associated with a given assembly_id being given the value of 1. If multiple objects are associated with the same assembly_id, then each subsequent file_id value is incremented by 1.
|
|
content
|
The hexadecimal representation of the assembly or file.
|

In This Section
-
Creating an Assembly
-
Discusses creating SAFE, EXTERNAL_ACCESS, and UNSAFE CLR assemblies in SQL Server.
-
Altering an Assembly
-
Describes updating CLR assemblies in SQL Server.
-
Dropping an Assembly
-
Discusses dropping CLR assemblies from SQL Server.

See Also