CLR integration: custom attributes for CLR routines

Applies to: SQL Server Azure SQL Managed Instance

The attributes listed can be applied to common language runtime (CLR) routines, user-defined types, and user-defined aggregates that are registered in SQL Server. If the attribute isn't applied, SQL Server assumes the default value. The attributes listed are defined in the Microsoft.SqlServer.Server namespace.

The SqlUserDefinedAggregate attribute

The SqlUserDefinedAggregate attribute indicates that the method should be registered as a user-defined aggregate. Every user-defined aggregate must be annotated with this attribute.

For more information, see SqlUserDefinedAggregateAttribute.

The SqlFunction attribute

The SqlFunction attribute indicates the method should be registered as a function, with the appropriate function attributes set.

For more information, see SqlFunctionAttribute.

The SqlFacet attribute

The SqlFacet attribute is used to return information about the return type of a user-defined type (UDT) expression.

For more information, see SqlFacetAttribute.

The SqlProcedure attribute

The SqlProcedure attribute indicates the method should be registered as a stored procedure. This attribute is used only by Visual Studio to register the specified method as a stored procedure automatically; it isn't used by SQL Server.

The SqlTrigger attribute

The SqlTrigger attribute indicates the method should be registered as a trigger.

For more information, see SqlTriggerContext.

The SqlUserDefinedTypeAttribute

You can apply the SqlUserDefinedTypeAttribute to a class definition in the assembly. It causes SQL Server to create a user-defined type that is bound to the class definition that has this custom attribute.

For more information, see SqlUserDefinedTypeAttribute.

The SqlMethod attribute

The SqlMethod attribute is used to indicate the determinism and data access properties of a method or a property on a UDT.

For more information, see SqlMethodAttribute.