Microsoft.SqlServer.Server Namespace

The Microsoft.SqlServer.Server namespace contains classes, interfaces, and enumerations that are specific to the integration of the Microsoft .NET Framework common language runtime (CLR) into Microsoft SQL Server, and the SQL Server database engine process execution environment.

Remarks

Using the attribute classes in the Microsoft.SqlServer.Server namespace, you can create stored procedures, triggers, user-defined types, user-defined functions (both scalar and table-valued), and user-defined aggregate functions in any supported .NET Framework language. You can also register them in SQL Server.

Query the Microsoft.SqlServer.Server.SqlContext class to determine whether the currently executing code is running in the SQL Server database engine process. This also provides the caller's context when a user calls a managed stored procedure or function on the server, or when a user's action fires a managed code trigger.

The Microsoft.SqlServer.Server.SqlContext class provides a Microsoft.SqlServer.Server.SqlPipe object, through which results are returned to the client from a stored procedure, a Microsoft.SqlServer.Server.SqlTriggerContext object, which provides information about the operation that caused a trigger to be fired, and a System.Security.Principal.WindowsIdentity object, which can be used to determine the identity of the calling client when the client used integrated security for authentication.

For more information about SQL Server CLR integration and the APIs in the Microsoft.SqlServer.Server namespace, see SQL Server Books Online.

Classes

TypeReason
DataAccessKind

Describes the type of access to user data for a user-defined method or function.

Format

Used by Microsoft.SqlServer.Server.SqlUserDefinedTypeAttribute and Microsoft.SqlServer.Server.SqlUserDefinedAggregateAttribute to indicate the serialization format of a user-defined type (UDT) or aggregate.

IBinarySerialize

Provides custom implementation for user-defined type (UDT) and user-defined aggregate serialization and deserialization.

InvalidUdtException

Thrown when SQL Server or the ADO.NET System.Data.SqlClient provider detects an invalid user-defined type (UDT).

SqlFacetAttribute

Annotates the returned result of a user-defined type (UDT) with additional information that can be used in Transact-SQL.

SqlFunctionAttribute

Used to mark a method definition of a user-defined aggregate as a function in SQL Server. The properties on the attribute reflect the physical characteristics used when the type is registered with SQL Server.

SqlMetaData

Specifies and retrieves metadata information from parameters and columns of Microsoft.SqlServer.Server.SqlDataRecord objects. This class cannot be inherited.

SqlMethodAttribute

Indicates the determinism and data access properties of a method or property on a user-defined type (UDT). The properties on the attribute reflect the physical characteristics that are used when the type is registered with SQL Server.

SqlProcedureAttribute

Used to mark a method definition in an assembly as a stored procedure. The properties on the attribute reflect the physical characteristics used when the type is registered with SQL Server. This class cannot be inherited.

SqlTriggerAttribute

Used to mark a method definition in an assembly as a trigger in SQL Server. The properties on the attribute reflect the physical attributes used when the type is registered with SQL Server. This class cannot be inherited.

SqlTriggerContext

Provides contextual information about the trigger that was fired.

SqlUserDefinedAggregateAttribute

Indicates that the type should be registered as a user-defined aggregate. The properties on the attribute reflect the physical attributes used when the type is registered with SQL Server. This class cannot be inherited.

SqlUserDefinedTypeAttribute

Used to mark a type definition in an assembly as a user-defined type (UDT) in SQL Server. The properties on the attribute reflect the physical characteristics used when the type is registered with SQL Server. This class cannot be inherited.

SystemDataAccessKind

Describes the type of access to system data for a user-defined method or function.

TriggerAction

The Microsoft.SqlServer.Server.TriggerAction enumeration is used by the Microsoft.SqlServer.Server.SqlTriggerContext class to indicate what action fired the trigger.