Database Engine Extended Stored Procedures - Programming

Applies to: SQL Server


This feature will be removed in a future version of SQL Server. Avoid using this feature in new development work, and plan to modify applications that currently use this feature. Use CLR integration instead.

In the past, Open Data Services was used to write server applications, such as gateways to non-SQL Server database environments. Microsoft SQL Server does not support the obsolete portions of the Open Data Services API. The only part of the original Open Data Services API still supported by SQL Server are the extended stored procedure functions, so the API has been renamed to the Extended Stored Procedure API.

With the emergence of newer and more powerful technologies, such as distributed queries and CLR Integration, the need for Extended Stored Procedure API applications has largely been replaced.


If you have existing gateway applications, you cannot use the opends60.dll that ships with SQL Server to run the applications. Gateway applications are no longer supported.

Extended Stored Procedures vs. CLR Integration

In earlier releases of SQL Server, extended stored procedures (XPs) provided the only mechanism that was available for database application developers to write server-side logic that was either hard to express or impossible to write in Transact-SQL. CLR Integration provides a more robust alternative to writing such stored procedures. Furthermore, with CLR Integration, logic that used to be written in the form of stored procedures is often better expressed as table-valued functions, which allow the results constructed by the function to be queried in SELECT statements by embedding them in the FROM clause.

See Also

Common Language Runtime (CLR) Integration Overview
CLR Table-Valued Functions