sp_enumdsn (Transact-SQL)

THIS TOPIC APPLIES TO:yesSQL Server (starting with 2008)noAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse

Returns a list of all defined ODBC and OLE DB data source names for a server running under a specific Microsoft Windows user account. This stored procedure is executed at the Publisher on any database.

Topic link icon Transact-SQL Syntax Conventions



Return Code Values

0 (success) or 1 (failure)

Result Sets

Column name Data type Description
Data Source Name sysname Name of the data source.
Description varchar(255) Description of the data source.
Type int Type of data source:


3 = OLE DB data source
Provider Name varchar(255) Name of the OLE DB provider. Value is NULL for ODBC DSN.


Every Microsoft SQL Server service has a user context. A user context is a set of Registry entries that includes the definitions of the ODBC data sources for the user. The user context is provided by the username under which the SQL Server is running.

For example, if the server is running under the system account user context, the data source names (DSNs) that are returned will all be system DSNs that are associated with the system account. If the server is running under a private user account, only the DSNs defined for that private account of that user is returned.


Only members of the sysadmin fixed server role can execute sp_enumdsn.

See Also

sp_dsninfo (Transact-SQL)
System Stored Procedures (Transact-SQL)