Assemblies (Database Engine)
The topics in this section provide information to help you understand, design, and implement assemblies.
Assemblies are DLL files used in an instance of SQL Server to deploy functions, stored procedures, triggers, user-defined aggregates, and user-defined types that are written in one of the managed code languages hosted by the Microsoft .NET Framework common language runtime (CLR), instead of in Transact-SQL.
An assembly in SQL Server is an object that references a managed application module (.dll file) that was created in the .NET Framework common language runtime. An assembly contains class metadata and managed code. Uploading an assembly to an instance of SQL Server is the first step toward creating any of the following database objects:
CLR functions. For more information, see Creating CLR Functions.
CLR stored procedures. For more information, see Creating CLR Stored Procedures.
CLR triggers. For more information, see Programming CLR Triggers.
User-defined aggregate functions. For more information, see Creating User-Defined Aggregates.
User-defined types. For more information, see Working with CLR User-defined Types.
Assemblies perform the following functions in SQL Server:
Contain the managed code that runs the functionality of one or more of the CLR database objects previously listed.
Contain metadata that includes the version number and culture of the assembly, an optional public key that uniquely identifies the list of classes of the assembly, the methods that are defined in the assembly, and the processor architecture of the assembly.
Manage the degree to which managed code can access outside resources by regulating code access permissions.
Contain metadata about dependencies on other assemblies that are referenced by the assembly.
Explains what you have to consider before creating an assembly. This includes packaging assemblies, code access permissions, and other restrictions.
Explains how to create and drop assemblies, how and when to modify assemblies, and how to retrieve metadata about assemblies.
Lists the catalog views and functions that can be queried for metadata about assemblies.