Common Language Runtime (CLR) Integration Programming Concepts

Applies to: SQL Server (all supported versions) Azure SQL Managed Instance

Beginning with SQL Server 2005 (9.x), SQL Server features the integration of the common language runtime (CLR) component of the .NET Framework for Microsoft Windows. This means that you can now write stored procedures, triggers, user-defined types, user-defined functions, user-defined aggregates, and streaming table-valued functions, using any .NET Framework language, including Microsoft Visual Basic .NET and Microsoft Visual C#.

The Microsoft.SqlServer.Server namespace includes core functionality for CLR programming in SQL Server. However, the Microsoft.SqlServer.Server namespace is documented in the .NET Framework SDK. This documentation is not included in SQL Server Books Online.


By default, the .NET Framework is installed with SQL Server, but the .NET Framework SDK is not. Without the SDK installed on your computer and included in the Books Online collection, links to SDK content in this section do not work. Install the .NET Framework SDK. Once installed, add the SDK to the Books Online collection and table of contents by following the instructions in Installing the .NET Framework SDK.


CLR functionality, such as CLR user functions, are not supported for Azure SQL Database.

The following table lists the topics in this section.

Common Language Runtime (CLR) Integration Overview
Provides a brief overview of the CLR, and describes how and why this technology has been used in SQL Server. Describes the benefits of using the CLR to create database objects.

Assemblies (Database Engine)
Describes how assemblies are used in 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), and not written in Transact-SQL.

Building Database Objects with Common Language Runtime (CLR) Integration
Describes the kinds of objects that can be built using the CLR, and reviews the requirements for building CLR database objects.

Data Access from CLR Database Objects
Describes how a CLR routine can access data stored in an instance of SQL Server.

CLR Integration Security
Describes the CLR integration security model.

Debugging CLR Database Objects
Describes limitations of and requirements for debugging CLR database objects.

Deploying CLR Database Objects
Describes deploying assemblies to production servers.

Managing CLR Integration Assemblies
Describes how to create and drop CLR integration assemblies.

Monitoring and Troubleshooting Managed Database Objects
Provides information about the tools that can be used to monitor and troubleshoot managed database objects and assemblies running in SQL Server.

Usage Scenarios and Examples for Common Language Runtime (CLR) Integration
Describes usage scenarios and code samples using CLR objects.

See Also

Assemblies (Database Engine)
Installing the .NET Framework SDK