Language Reference

THIS TOPIC APPLIES TO:yesSQL Server (starting with 2008)yesAzure SQL DatabaseyesAzure SQL Data Warehouse yesParallel Data Warehouse

Microsoft SQL Shared Language Reference contains language reference content for the following areas.

Transact-SQL Reference (Database Engine)

XQuery Language Reference (SQL Server)

Integration Services Language Reference

Replication Language Reference

Analysis Services Language Reference

Version and platform-inclusive documentation

At the top of each Transact-SQL topic in this SQL Shared Language Reference library you can see to which versions and platforms of SQL the function applies.

By using this information you can easily identify the Transact-SQL statements, commands, and system objects that apply to the versions and platforms for which you develop applications or administer and support. In addition, the consolidated topics provide a single "master" content set that will be maintained for all of the specified versions and platforms. That is, you can rely on this single content set for the most accurate and up-to-date product information regardless of version or platform.

Identifying Version and platform applicability

Version and platform applicability is provided in the top section of each topic in a single "applies to" statement. This statement identifies the applicable versions and platforms for the topic as a whole. The following examples demonstrate this statement.

Example A. Indicates that the topic applies to all the SQLs! SQL Server 2008 through SQL Server 2016 , to both the SQL Server , Azure SQL Database platforms, and to Azure SQL Data Warehouse and Parallel Data Warehouse.

Applies to all

Example B. Indicates that the topic applies only to SQL Server versions 2008-2016, and to only the SQL Server platform.

SQL Server from 2008 only


For most of the Transact-SQL topics, the applies to banner statement is all that is required to identify version and platform applicability. However, some statements and system objects have changed over time to support new features in the product. These additions do not apply to the older versions. For example, the statement ORDER BY Clause applies to all SQL Server versions and to SQL Database, but a new OFFSET…FETCH argument was added in SQL Server 2012 that applies only to that version and higher versions and to SQL Database. Such exceptions to the top-level applies to statement are identified in the Arguments section of the topic in the definition of the new syntax. For example, in the ORDER BY topic, the following statement is added to the definitions of OFFSET and FETCH. This statement indicates that these keywords cannot be used in versions of SQL Server earlier than SQL Server 2012 .

|Applies to: SQL Server 2012 through SQL Server 2016 and Azure SQL Database .|

Exceptions to the top-level applies to statement can also occur when the topic is applicable to both the SQL Server and Azure SQL Database but only some of the syntax is supported by Azure SQL Database . For example, the DROP INDEX statement applies to both platforms, however, Azure SQL Database does not support all of the options and clauses that SQL Server provides. These exceptions are identified in the Arguments section. For example, in the definition of MAXDOP, the following statement is added to specify the versions and platforms that can specify this option.

|Applies to: SQL Server 2008 through SQL Server 2016 .|

Exceptions to the top-level applies to statement can also occur in system objects such as catalog views. For these objects, new columns can be added or new values returned by existing columns. When a new column is added, the version/platform applicability is included in the definition of the column. When new values are returned by an existing column, the applicability of the new values are identified in the description of the values. For example, the values returned in the type column of the sys.indexes catalog view have changed from release to release. In the definition of that column, the applicability of the values are defined for each value that does not conform to the top-level "applies to" statement.