Transact-SQL

The use of the vardecimal storage format.

Deprecated feature

Replacement

Feature name

Deprecated feature

Replacement

Feature name

The use of the vardecimal storage format.

Vardecimal storage format is

deprecated. SQL Server 2019 (15.x)

data compression, compresses

decimal values, and other data types.

We recommend that you use data

compression instead of the vardecimal

storage format.

Vardecimal storage format

Use of the

procedure.

Vardecimal storage format is

deprecated. SQL Server 2019 (15.x)

data compression, compresses

decimal values as well as other data

types. We recommend that you use

data compression instead of the

vardecimal storage format.

Use of the

procedure.

Use data compression and the

procedure instead.

Deprecated feature

Replacement

Feature name

WRITETEXT

UPDATETEXT

READTEXT

None

UPDATETEXT or WRITETEXT

READTEXT

TEXTPTR()

TEXTVALID()

None

TEXTPTR

TEXTVALID

Deprecated feature

Replacement

Feature name

function-calling sequence

Replaced by.

For example, replace

’::’ function calling syntax

Expand table

Expand table

Expand table

Deprecated feature

Replacement

Feature name

with.

Three-part and four-part column

references.

Two-part names are the standard-compliant behavior.

More than two-part column

name

A string enclosed in quotation marks

used as a column alias for an

expression in a

list:

string_alias

’ =

expression

expression

[AS]

column_alias

expression

[AS] [

column_alias

]

expression

[AS] ”

column_alias

expression

[AS] ’

column_alias

column_alias

=

expression

String literals as column

aliases

Numbered procedures

None. Don’t use.

ProcNums

table_name.index_name

syntax in

syntax in.

with two-part

name

Not ending Transact-SQL statements

with a semicolon.

End Transact-SQL statements with a semicolon (

).

None

Use custom case-by-case solution with

or derived table.

as a column name in DML

statements.

Use $rowguid.

IDENTITYCOL as a column name in

DML statements.

Use $identity.

IDENTITYCOL

Use of #, ## as temporary table and

temporary stored procedure names.

Use at least one additional character.

’#’ and ’##’ as the name of

temporary tables and stored

procedures

Use of @, or @@ as Transact-SQL

identifiers.

Don’t use @ or @@ or names that begin with @@ as

identifiers.

’@’ and names that start with

’@@’ as Transact-SQL

identifiers

Use of

keyword as default

value.

Don’t use the word

as a default value.

keyword as a default

value

Use of a space as a separator

between table hints.

Use a comma to separate table hints.

Multiple table hints without

comma

The select list of an aggregate

indexed view must contain

COUNT_BIG (*) in 90 compatibility

mode

Use COUNT_BIG (*).

Index view selects list without

COUNT_BIG(*)

The indirect application of table hints

to an invocation of a multi-statement

table-valued function (TVF) through a

view.

None.

Indirect TVF hints

syntax:

and

database option

None.

sys.sql_dependencies sys.sql_expression_dependencies sys.sql_dependencies

sp_db_vardecimal_storage_format

sp_db_vardecimal_storage_format

sp_estimated_rowsize_reduction_for_vardecimal

sp_estimate_data_compression_savings

sp_estimated_rowsize_reduction_for_vardecimal

::
SELECT <column_list> FROM sys.<function_name>
()
SELECT * FROM
::fn_virtualfilestats(2,1)
SELECT * FROM sys.fn_virtualfilestats(2,1)

SELECT

DROP INDEX
<index_name> ON <table_name>
DROP INDEX
DROP INDEX
;
GROUP BY ALL

UNION

GROUP BY ALL
ROWGUIDCOL

ROWGUIDCOL

DEFAULT

DEFAULT

DEFAULT

ALTER DATABASE
MODIFY FILEGROUP READONLY
MODIFY FILEGROUP READWRITE
MODIFY FILEGROUP READ_ONLY
MODIFY FILEGROUP READ_WRITE
MODIFY FILEGROUP READONLY
MODIFY FILEGROUP READWRITE
SET ANSI_NULLS OFF
ANSI_NULLS
OFF
SET ANSI_NULLS OFF