Нерекомендуемые возможности ядра СУБД в SQL Server 2017

Область применения: SQL Server 2017 (14.x) и более поздних версий

В этой статье описываются устаревшие функции компонента Компонент SQL Server Database Engine, которые по-прежнему доступны в SQL Server 2017 (14.x);. Не следует использовать нерекомендуемые возможности в новых приложениях.

Если функция помечена как нерекомендуемая, это означает следующее:

  • Функция находится в режиме обслуживания. Новые изменения, в том числе касающиеся совместимости с новыми функциями, вноситься не будут.
  • Мы стараемся не удалять нерекомендуемые функции из новых выпусков, чтобы упростить обновление. Однако иногда мы можем окончательно удалять функции из SQL Server, если они препятствуют дальнейшим инновациям.
  • Не используйте нерекомендуемые возможности для новых задач разработки. Для существующих приложений, которые в настоящее время используют эти функции, запланируйте изменение как можно скорее.

Наблюдать за использованием устаревших функций можно с помощью объекта производительности и событий трассировки Deprecated Features, доступных в SQL Server . Дополнительные сведения см. в разделе Использование объектов SQL Server.

Значение этих счетчиков также можно получить, выполнив следующую инструкцию:

SELECT * FROM sys.dm_os_performance_counters   
WHERE object_name LIKE '%SQL%Deprecated Features%';  

Примечание

Этот список идентичен списку SQL Server 2016 (13.x);. Для SQL Server 2017 (14.x); не объявлено о новых нерекомендуемых или неподдерживаемых функциях ядра СУБД.

Функции, не рекомендуемые в следующей версии SQL Server

Следующие возможности ядра СУБД в SQL Server не будут поддерживаться в будущей версии SQL Server. Не используйте их при работе над новыми приложениями и как можно скорее измените приложения, в которых они в сейчас используются. Название функции отображается в событиях трассировки в столбце ObjectName, а в счетчиках производительности и sys.dm_os_performance_counters — как имя экземпляра. Значению Идентификатор функции в событиях трассировки соответствует ObjectId.

Резервное копирование и восстановление

Устаревшая функция Замена Имя функции Идентификатор функции
Инструкция RESTORE { DATABASE | LOG } WITH [MEDIA]PASSWORD остается устаревшей.

Поддержка инструкций BACKUP { DATABASE | LOG } WITH PASSWORD и BACKUP { DATABASE | LOG } WITH MEDIAPASSWORD прекращена.
Нет. BACKUP DATABASE или LOG WITH PASSWORD

BACKUP DATABASE или LOG WITH MEDIAPASSWORD
104

103

Уровни совместимости

Устаревшая функция Замена Имя функции Идентификатор функции
Обновление с версии 100 (SQL Server 2008 (10.0.x) и SQL Server 2008 R2 (10.50.x)). Когда поддержка версии SQL Server завершается, соответствующие уровни совместимости базы данных помечаются как нерекомендуемые. Однако мы будем как можно дольше поддерживать приложения, сертифицированные для работы на любом соответствующем уровне совместимости, чтобы упростить обновление. Дополнительные сведения об уровнях совместимости см. в статье Уровень совместимости инструкции ALTER DATABASE (Transact-SQL). Уровень совместимости базы данных 100 108

Объекты базы данных

Устаревшая функция Замена Имя функции Идентификатор функции
Возможность возвращать результирующие наборы из триггеров. None Возврат результатов из триггера 12

Шифрование

Устаревшая функция Замена Имя функции Идентификатор функции
Шифрование с использованием алгоритмов RC4 и RC4_128 является устаревшим. В следующей версии запланировано удаление его поддержки. Расшифровка с использованием алгоритмов RC4 и RC4_128 не является нерекомендуемой. Используйте другой алгоритм шифрования, например AES. Устаревший алгоритм шифрования 253
Использовать MD2, MD4, MD5, SHA и SHA1 не рекомендуется. Вместо этого используйте алгоритмы SHA2_256 или SHA2_512. Старые алгоритмы по-прежнему работают, но вызывают событие нерекомендуемого алгоритма. Нерекомендуемый хэш-алгоритм None

Удаленные серверы

Устаревшая функция Замена Имя функции Идентификатор функции
sp_addremotelogin

sp_addserver, хранимая процедура

sp_dropremotelogin

sp_helpremotelogin

хранимая процедура sp_remoteoption
Замените удаленные серверы связанными серверами. Процедуру sp_addserver можно использовать только с параметром local. sp_addremotelogin

sp_addserver, хранимая процедура

sp_dropremotelogin

sp_helpremotelogin

хранимая процедура sp_remoteoption
70

69

71

72

73
@@remserver Замените удаленные серверы связанными серверами. None None
SET REMOTE_PROC_TRANSACTIONS Замените удаленные серверы связанными серверами. SET REMOTE_PROC_TRANSACTIONS 110

Transact-SQL

Устаревшая функция Замена Имя функции Идентификатор функции
SET ROWCOUNT для инструкций INSERT, UPDATEи DELETE . Ключевое слово TOP SET ROWCOUNT 109
Табличная подсказка HOLDLOCK без скобок. Используйте HOLDLOCK со скобками. Табличная подсказка HOLDLOCK без скобок. 167

Функции, не рекомендуемые в будущей версии SQL Server

Перечисленные ниже функции ядра СУБД SQL Server поддерживаются в следующей версии SQL Server. С какой именно версии SQL Server, пока не определено.

Резервное копирование и восстановление

Устаревшая функция Замена Имя функции
BACKUP { DATABASE | LOG } TO TAPE

BACKUP { DATABASE | LOG } TO device_that_is_a_tape
BACKUP { DATABASE | LOG } TO DISK

BACKUP { DATABASE | LOG } TO device_that_is_a_disk
BACKUP DATABASE или LOG TO TAPE
sp_addumpdevice 'tape' sp_addumpdevice 'disk' ADDING TAPE DEVICE
sp_helpdevice sys.backup_devices sp_helpdevice

Уровни совместимости

Устаревшая функция Замена Имя функции
sp_dbcmptlevel ALTER DATABASE ... SET COMPATIBILITY_LEVEL. Дополнительные сведения см. в разделе Уровень совместимости инструкции ALTER DATABASE (Transact-SQL). sp_dbcmptlevel
Уровень совместимости базы данных 110 и 120 Запланируйте обновление базы данных и приложения для следующего выпуска. Однако мы будем как можно дольше поддерживать приложения, сертифицированные для работы на любом соответствующем уровне совместимости, чтобы упростить обновление. Дополнительные сведения об уровнях совместимости см. в статье Уровень совместимости инструкции ALTER DATABASE (Transact-SQL). Уровень совместимости базы данных 110

Уровень совместимости базы данных 120

Параметры сортировки

Устаревшая функция Замена Имя функции
Korean_Wansung_Unicode

Lithuanian_Classic

SQL_AltDiction_CP1253_CS_AS
Нет. Эти параметры сортировки существуют в SQL Server 2005 (9.x), но их нельзя увидеть с помощью функции fn_helpcollations. Korean_Wansung_Unicode

Lithuanian_Classic

SQL_AltDiction_CP1253_CS_AS
Hindi

Macedonian
Эти параметры сортировки существуют в SQL Server 2005 (9.x) и более поздних версий, но их нельзя увидеть с помощью функции fn_helpcollations. Вместо них следует использовать Macedonian_FYROM_90 и Indic_General_90. Hindi

Macedonian
Azeri_Latin_90

Azeri_Cyrilllic_90
Azeri_Latin_100

Azeri_Cyrilllic_100
Azeri_Latin_90

Azeri_Cyrilllic_90

Типы данных

Устаревшая функция Замена Имя функции
sp_addtype

хранимая процедура sp_droptype
CREATE TYPE

DROP TYPE
sp_addtype

хранимая процедура sp_droptype
Синтаксисtimestamp для типа данных rowversion . Синтаксис типа данныхrowversion . timestamp
Возможность вставлять значения NULL в столбцы типа timestamp . Используйте вместо этого DEFAULT. INSERT NULL в столбцах TIMESTAMP.
Параметр таблицы «text in row». Используйте типы данных varchar(max) , nvarchar(max) и varbinary(max) . Дополнительные сведения см. в статье sp_tableoption (Transact-SQL). Параметр таблицы «text in row»
Типы данных:

text

ntext

image
Используйте типы данных varchar(max) , nvarchar(max) и varbinary(max) . Типы данных: text, ntext или image

Управление базами данных

Устаревшая функция Замена Имя функции
sp_attach_db

sp_attach_single_file_db
Инструкция CREATE DATABASE с параметром FOR ATTACH. Чтобы перестроить несколько файлов журнала, если один или более файлов изменили расположение, используйте параметр FOR ATTACH_REBUILD_LOG. sp_attach_db

sp_attach_single_file_db
sp_certify_removable

sp_create_removable
sp_detach_db sp_certify_removable

sp_create_removable
sp_dbremove DROP DATABASE sp_dbremove
sp_renamedb Параметр MODIFY NAME в инструкции ALTER DATABASE. sp_renamedb

Объекты базы данных

Устаревшая функция Замена Имя функции
CREATE DEFAULT

DROP DEFAULT

sp_bindefault

хранимая процедура sp_unbindefault
Ключевое слово DEFAULT в инструкциях CREATE TABLE и ALTER TABLE. CREATE_DROP_DEFAULT

sp_bindefault

хранимая процедура sp_unbindefault
CREATE RULE

DROP RULE

sp_bindrule

sp_unbindrule
Ключевое слово CHECK в инструкциях CREATE TABLE и ALTER TABLE. CREATE_DROP_RULE

sp_bindrule

sp_unbindrule
sp_change_users_login, хранимая процедура Используйте команду ALTER USER. sp_change_users_login, хранимая процедура
процедура sp_depends Представления sys.dm_sql_referencing_entities и sys.dm_sql_referenced_entities. процедура sp_depends
sp_getbindtoken Использование режима MARS или распределенных транзакций. sp_getbindtoken

Параметры базы данных

Устаревшая функция Замена Имя функции
sp_bindsession Использование режима MARS или распределенных транзакций. sp_bindsession
sp_resetstatus ALTER DATABASE SET { ONLINE | EMERGENCY } sp_resetstatus
Параметр TORN_PAGE_DETECTION инструкции ALTER DATABASE. Параметр PAGE_VERIFY TORN_PAGE_DETECTION инструкции ALTER DATABASE. ALTER DATABASE WITH TORN_PAGE_DETECTION

DBCC

Устаревшая функция Замена Имя функции
DBCC DBREINDEX Параметр REBUILD инструкции ALTER INDEX. DBCC DBREINDEX
DBCC INDEXDEFRAG Параметр REORGANIZE инструкции ALTER INDEX DBCC INDEXDEFRAG
DBCC SHOWCONTIG sys.dm_db_index_physical_stats DBCC SHOWCONTIG
DBCC PINTABLE

DBCC UNPINTABLE
Данный параметр не делает ничего. DBCC [UN]PINTABLE

Расширенные свойства

Устаревшая функция Замена Имя функции
Level0type = "type" и Level0type = "USER", чтобы добавить расширенные свойства к объектам типа level-1 или level-2. Используйте Level0type = 'USER', только чтобы добавить расширенное свойство напрямую роли или пользователю.

Используйте Level0type = 'SCHEMA', чтобы добавить расширенное свойство к типам level-1, таким как TABLE или VIEW, или типам level-2, таким как COLUMN или TRIGGER. Дополнительные сведения см. в разделе sp_addextendedproperty (Transact-SQL).
EXTPROP_LEVEL0TYPE

EXTPROP_LEVEL0USER

Расширенные хранимые процедуры

Устаревшая функция Замена Имя функции
xp_grantlogin

xp_revokelogin

xp_loginConfig
Используйте инструкцию CREATE LOGIN.

Используйте аргумент DROP LOGIN IsIntegratedSecurityOnly в SERVERPROPERTY.
xp_grantlogin

xp_revokelogin

xp_loginconfig

Программирование расширенных хранимых процедур

Устаревшая функция Замена Имя функции
srv_alloc

srv_convert

srv_describe

srv_getbindtoken

srv_got_attention

srv_message_handler

srv_paramdata

srv_paraminfo

srv_paramlen

srv_parammaxlen

srv_paramname

srv_paramnumber

srv_paramset

srv_paramsetoutput

srv_paramstatus

srv_paramtype

srv_pfield

srv_pfieldex

srv_rpcdb

srv_rpcname

srv_rpcnumber

srv_rpcoptions

srv_rpcowner

srv_rpcparams

srv_senddone

srv_sendmsg

srv_sendrow

srv_setcoldata

srv_setcollen

srv_setutype

srv_willconvert

srv_wsendmsg
Используйте вместо этого интеграцию со средой CLR. XP_API
sp_addextendedproc

sp_dropextendedproc

sp_helpextendedproc
Используйте вместо этого интеграцию со средой CLR. sp_addextendedproc

sp_dropextendedproc

sp_helpextendedproc
xp_grantlogin

xp_revokelogin

xp_loginConfig
Используйте инструкцию CREATE LOGIN.

Используйте аргумент DROP LOGIN IsIntegratedSecurityOnly в SERVERPROPERTY.
xp_grantlogin

xp_revokelogin

xp_loginconfig

Высокий уровень доступности

Устаревшая функция Замена Имя функции
зеркальное отображение базы данных Группы доступности AlwaysOn

Если выпуск SQL Server не поддерживает группы доступности Always On, используйте доставку журналов.
DATABASE_MIRRORING

Параметры индекса

Устаревшая функция Замена Имя функции
sp_indexoption ALTER INDEX sp_indexoption
Синтаксис CREATE TABLE, ALTER TABLE или CREATE INDEX без заключения параметров в скобки. Перепишите инструкции для использования текущего синтаксиса. INDEX_OPTION

Параметры экземпляра

Устаревшая функция Замена Имя функции
Параметр 'allow updates' хранимой процедуры sp_configure. Системные таблицы теперь недоступны для обновления. Параметр не делает ничего. sp_configure 'allow updates'
Параметры хранимой процедуры sp_configure:

'locks'

'open objects'

'set working set size'
Теперь настраивается автоматически. Параметр не делает ничего. sp_configure 'locks'

sp_configure 'open objects'

sp_configure 'set working set size'
Параметр 'priority boost' хранимой процедуры sp_configure. Системные таблицы теперь недоступны для обновления. Параметр не делает ничего. Используйте вместо него параметр Windows start /high ... program.exe. sp_configure 'priority boost'
Параметр 'remote proc trans' хранимой процедуры sp_configure. Системные таблицы теперь недоступны для обновления. Параметр не делает ничего. sp_configure 'remote proc trans'

Связанные серверы

Устаревшая функция Замена Имя функции
Указание поставщика SQLOLEDB для связанных серверов. Microsoft OLE DB Driver (MSOLEDBSQL) для SQL Server SQLOLEDB для связанных серверов

Метаданные

Устаревшая функция Замена Имя функции
FILE_ID

INDEXKEY_PROPERTY
FILE_IDEX

sys.index_columns
FILE_ID

INDEXKEY_PROPERTY

Собственные веб-службы с поддержкой XML

Устаревшая функция Замена Имя функции
Инструкция CREATE ENDPOINT или ALTER ENDPOINT с параметром FOR SOAP.

sys.endpoint_webmethods

sys.soap_endpoints
Вместо этого следует использовать технологию WCF (Windows Communications Foundation) или ASP.NET. CREATE/ALTER ENDPOINT

sys.endpoint_webmethods

EXT_soap_endpoints

sys.soap_endpoints

Другие

Устаревшая функция Замена Имя функции
DB-Library

Embedded SQL для языка C.
Хотя ядро СУБД до сих пор поддерживает соединения из существующих приложений, использующих API DB-Library и Embedded SQL, файлы или документация, необходимые для разработки приложений с помощью этих API, не предоставляются. В следующей версии ядра СУБД SQL Server не будут поддерживаться соединения приложений DB-Library или Embedded SQL. Не используйте DB-Library или Embedded SQL для разработки новых приложений. Удалите все зависимости от DB-Library или Embedded SQL при изменении существующих приложений. Вместо этих API используйте пространство имен SQLClient или такой API, как ODBC. SQL Server 2019 (15.x) не включает библиотеку DLL DB-Library, необходимую для выполнения этих приложений. Для запуска приложений DB-Library или Embedded SQL необходимо иметь доступ к DLL-библиотеке DB-Library для SQL Server 6.5, SQL Server 7.0 или SQL Server 2000 (8.x). None

Безопасность

Устаревшая функция Замена Имя функции
Синтаксис ALTER LOGIN WITH SET CREDENTIAL Заменен новым синтаксисом ALTER LOGIN ADD и DROP CREDENTIAL ALTER LOGIN WITH SET CREDENTIAL
sp_addapprole, хранимая процедура

sp_dropapprole, хранимая процедура
CREATE APPLICATION ROLE

DROP APPLICATION ROLE
sp_addapprole, хранимая процедура

sp_dropapprole, хранимая процедура
sp_addlogin

sp_droplogin
CREATE LOGIN

DROP LOGIN
sp_addlogin

sp_droplogin
sp_adduser

sp_dropuser
CREATE USER

DROP USER
sp_adduser

sp_dropuser
sp_grantdbaccess

sp_revokedbaccess
CREATE USER

DROP USER
sp_grantdbaccess

sp_revokedbaccess
хранимая процедура sp_addrole

sp_droprole
CREATE ROLE

DROP ROLE
хранимая процедура sp_addrole

sp_droprole
sp_approlepassword

sp_password
ALTER APPLICATION ROLE

ALTER LOGIN
sp_approlepassword

sp_password
sp_changedbowner ALTER AUTHORIZATION sp_changedbowner
sp_changeobjectowner ALTER SCHEMA или ALTER AUTHORIZATION sp_changeobjectowner
sp_control_dbmasterkey_password Необходим главный ключ и правильный пароль. sp_control_dbmasterkey_password
sp_defaultdb

sp_defaultlanguage
ALTER LOGIN sp_defaultdb

sp_defaultlanguage
sp_denylogin

sp_grantlogin

sp_revokelogin
ALTER LOGIN DISABLE

CREATE LOGIN

DROP LOGIN
sp_denylogin

sp_grantlogin

sp_revokelogin
USER_ID DATABASE_PRINCIPAL_ID USER_ID
sp_srvrolepermission

sp_dbfixedrolepermission
Эти хранимые процедуры возвращают данные, которые были правильными в SQL Server 2000 (8.x). Выходные данные не отражают изменений в иерархии разрешений, реализованной в SQL Server 2008. Дополнительные сведения см. в разделе Разрешения предопределенных ролей сервера. sp_srvrolepermission

sp_dbfixedrolepermission
GRANT ALL

DENY ALL

REVOKE ALL
Специальные разрешения GRANT, DENY и REVOKE. Разрешение ALL.
Внутренняя функция PERMISSIONS. Запросите sys.fn_my_permissions. PERMISSIONS
SETUSER EXECUTE AS SETUSER
Алгоритмы шифрования RC4 и DESX Используйте другой алгоритм, например AES. Алгоритм DESX

Параметры конфигурации сервера

Устаревшая функция Замена Имя функции
параметр "c2 audit" параметр "default trace enabled"

default trace enabled, параметр
Параметр конфигурации сервера common criteria compliance enabled

Расширенные события
sp_configure 'c2 audit mode'

sp_configure 'default trace enabled'

Классы модели объектов SMO

Устаревшая функция Замена Имя функции
Microsoft.SQLServer. Management.Smo.Information class

Microsoft.SQLServer. Management.Smo.Settings class

Microsoft.SQLServer.Management. Smo.DatabaseOptions class

Microsoft.SqlServer.Management.Smo. DatabaseDdlTrigger.NotForReplication свойство;
Класс Microsoft.SqlServer. Management.Smo.Server class

* Класс Microsoft.SqlServer. Management.Smo.Server

Класс Microsoft.SqlServer. Management.Smo.Database class

Нет
None

Агент SQL Server

Устаревшая функция Замена Имя функции
уведомлениеnet send .

Уведомление по пейджеру
Уведомление по электронной почте

Уведомление по электронной почте
None

SQL Server Management Studio

Устаревшая функция Замена Имя функции
Интеграция обозревателя решений в SQL Server Management Studio None

Системные хранимые процедуры и функции

Устаревшая функция Замена Имя функции
sp_db_increased_partitions Нет. Поддержка увеличенных секций в SQL Server 2019 (15.x) доступна по умолчанию. sp_db_increased_partitions
fn_virtualservernodes

fn_servershareddrives
sys.dm_os_cluster_nodes

sys.dm_io_cluster_shared_drives
fn_virtualservernodes

fn_servershareddrives
fn_get_sql sys.dm_exec_sql_text fn_get_sql
sp_lock sys.dm_tran_locks sp_lock

Системные таблицы

Устаревшая функция Замена Имя функции
sysaltfiles

syscacheobjects

syscolumns

syscomments

sysconfigures

sysconstraints

syscurconfigs

sysdatabases

sysdepends

sysdevices

sysfilegroups

sysfiles

sysforeignkeys

sysfulltextcatalogs

sysindexes

sysindexkeys

syslockinfo

syslogins

sysmembers

sysmessages

sysobjects

sysoledbusers

sysopentapes

sysperfinfo

syspermissions

sysprocesses

sysprotects

sysreferences

sysremotelogins

sysservers

systypes

sysusers
Представления совместимости. Дополнительные сведения см. в разделе Системные представления совместимости (Transact-SQL).

Важно! Представления совместимости не предоставляют доступ к метаданным для возможностей, которые были реализованы в SQL Server 2005 (9.x). Рекомендуется обновить приложения, чтобы они использовали представления каталога. Дополнительные сведения см. в разделе Системные представления каталога (Transact-SQL).
sysaltfiles

syscacheobjects

syscolumns

syscomments

sysconfigures

sysconstraints

syscurconfigs

sysdatabases

sysdepends

sysdevices

sysfilegroups

sysfiles

sysforeignkeys

sysfulltextcatalogs

sysindexes

sysindexkeys

syslockinfo

syslogins

sysmembers

sysmessages

sysobjects

sysoledbusers

sysopentapes

sysperfinfo

syspermissions

sysprocesses

sysprotects

sysreferences

sysremotelogins

sysservers

systypes

sysusers
sys.numbered_procedures

sys.numbered_procedure_parameters
None numbered_procedures

numbered_procedure_parameters

Хранимые процедуры, функции и представления каталогов трассировки SQL

Устаревшая функция Замена Имя функции
хранимая процедура sp_trace_create

sp_trace_setevent, хранимая процедура

sp_trace_setfilter, хранимая процедура

sp_trace_setstatus

fn_trace_geteventinfo

fn_trace_getfilterinfo

fn_trace_getinfo

fn_trace_gettable

sys.traces

sys.trace_events

sys.trace_event_bindings

sys.trace_categories

sys.trace_columns

sys.trace_subclass_values
Расширенные события хранимая процедура sp_trace_create

sp_trace_setevent, хранимая процедура

sp_trace_setfilter, хранимая процедура

sp_trace_setstatus

fn_trace_geteventinfo

fn_trace_getfilterinfo

fn_trace_getinfo

fn_trace_gettable

sys.traces

sys.trace_events

sys.trace_event_bindings

sys.trace_categories

sys.trace_columns

sys.trace_subclass_values

Системные представления

Устаревшая функция Замена Имя функции
sys.sql_dependencies sys.sql_expression_dependencies sys.sql_dependencies

Сжатие таблицы

Устаревшая функция Замена Имя функции
Использование формата хранения vardecimal. Формат хранения Vardecimal устарел. Средство сжатия данных в SQL Server 2019 (15.x) обеспечивает упаковку десятичных значений и данных других типов. Вместо формата хранения vardecimal рекомендуется использовать сжатие данных. Формат хранения vardecimal
Используйте процедуру the sp_db_vardecimal_storage_format. Формат хранения Vardecimal устарел. Средства сжатия данных в SQL Server 2019 (15.x) обеспечивают упаковку десятичных значений и данных других типов. Вместо формата хранения vardecimal рекомендуется использовать сжатие данных. sp_db_vardecimal_storage_format
Используйте процедуру sp_estimated_rowsize_reduction_for_vardecimal. Вместо этого следует использовать сжатие данных и процедуру sp_estimate_data_compression_savings. sp_estimated_rowsize_reduction_for_vardecimal

Текстовые указатели

Устаревшая функция Замена Имя функции
WRITETEXT

UPDATETEXT

READTEXT
None UPDATETEXT или WRITETEXT

READTEXT
TEXTPTR()

TEXTVALID()
None TEXTPTR

TEXTVALID

Transact-SQL

Устаревшая функция Замена Имя функции
Последовательность вызова функций :: Заменено на SELECT список_столбцов FROM sys.<имя_функции>().

Например, замените SELECT * FROM ::fn_virtualfilestats(2,1) на SELECT * FROM sys.fn_virtualfilestats(2,1).
синтаксис вызова функции «::»
Ссылки на столбцы с трех- и четырехкомпонентными именами. Использование двухкомпонентных имен совместимо со стандартом. Имя столбца, состоящее более чем из двух компонентов
Строка, заключенная в кавычки, использовалась как псевдоним столбца для выражения в списке SELECT:

'string_alias' = выражение
expression [AS] псевдоним_столбца

expression [AS] [псевдоним_столбца]

expression [AS] "псевдоним_столбца"

expression [AS] 'псевдоним_столбца'

column_alias = выражение
Строковые литералы в качестве псевдонимов столбцов
Нумерованные процедуры Нет. Не используйте. ProcNums
Синтаксисtable_name.index_name в инструкции DROP INDEX Синтаксисindex_name ON table_name в инструкции DROP INDEX. DROP INDEX с двухкомпонентным именем
Инструкции Transact-SQL не заканчиваются точкой с запятой. Завершайте все инструкции Transact-SQL точкой с запятой ( ; ). None
GROUP BY ALL Используйте решение с оператором UNION или производной таблицей для каждого случая отдельно. GROUP BY ALL
ROWGUIDCOL в качестве имени столбца в инструкциях DML. Используйте $rowguid. ROWGUIDCOL
IDENTITYCOL в качестве имени столбца в инструкциях DML. Используйте $identity. IDENTITYCOL
Использование # и ## в качестве имен временной таблицы и временной хранимой процедуры. Используйте по крайней мере один дополнительный символ. Символы «#» и «##» в качестве имен временных таблиц и хранимых процедур
Используйте @, @@ или @@ в качестве идентификаторов Transact-SQL. Не используйте в качестве идентификаторов @ или @@, а также имена, начинающиеся символами @@. "@" и имена, начинающиеся с "@@", в качестве идентификаторов Transact-SQL
Используйте ключевое слово DEFAULT в качестве значения по умолчанию. Не используйте слово DEFAULT в качестве значения по умолчанию. Ключевое слово DEFAULT в качестве значения по умолчанию.
Использование пробела в качестве разделителя табличных подсказок. В качестве разделителя отдельных табличных подсказок используйте запятую. Несколько табличных указаний без запятых
Список выбора статистического индексированного представления должен содержать функцию COUNT_BIG (*) в режиме совместимости 90. Вместо этого следует использовать функцию COUNT_BIG. Индексированное представление выбирает список без COUNT_BIG(*)
Косвенное применение табличных указаний для вызова функций с несколькими инструкциями, возвращающих табличное значение (TVF), через представление. Нет. Косвенные подсказки возвращающих табличное значение функций.
Синтаксис 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_PADDING OFF и ANSI_PADDING OFF.

Параметр базы данных SET CONCAT_NULL_YIELDS_NULL OFF и CONCAT_NULL_YIELDS_NULL OFF.

SET OFFSETS
Нет.

Параметры ANSI_NULLS, ANSI_PADDING и CONCAT_NULLS_YIELDS_NULL всегда имеют значение ON. Параметр SET OFFSETS недоступен.
SET ANSI_NULLS OFF

SET ANSI_PADDING OFF

SET CONCAT_NULL_YIELDS_NULL OFF

SET OFFSETS

ALTER DATABASE SET ANSI_NULLS OFF

ALTER DATABASE SET ANSI_PADDING OFF

ALTER DATABASE SET CONCAT_NULL_YIELDS_NULL OFF
SET FMTONLY sys.dm_exec_describe_first_result_set (Transact-SQL), sys.dm_exec_describe_first_result_set_for_object (Transact-SQL), sp_describe_first_result_set (Transact-SQL) и sp_describe_undeclared_parameters (Transact-SQL). SET FMTONLY
Указание параметра NOLOCK или READUNCOMMITTED в предложении FROM инструкции UPDATE или DELETE. Удалите табличные указания NOLOCK и READUNCOMMITTED из предложения FROM. NOLOCK или READUNCOMMITTED в инструкции UPDATE или DELETE
Указание табличных подсказок без ключевого слова WITH. Использование ключевого слова WITH. Табличное указание без ключевого слова WITH
INSERT_HINTS INSERT_HINTS

Инструменты

Устаревшая функция Замена Имя функции
Приложение SQL Server Profiler для перехвата трассировки Использование профилировщика расширенных событий, встроенного в среду SQL Server Management Studio. Приложение SQL Server Profiler
Воспроизведение трассировки с помощью приложения SQL Server Profiler Распределенное воспроизведение SQL Server

Объекты TMO

Устаревшая функция Замена Имя функции
Пространство имен Microsoft.SqlServer.Management.Trace (содержит API для объектов Trace и Replay в SQL Server) Настройка трассировки: Microsoft.SqlServer.Management.XEvent

Чтение трассировки: Microsoft.SqlServer.XEvent.Linq

Воспроизведение трассировки: None

XML

Устаревшая функция Замена Имя функции
Создание встроенных схем XDR Директива XMLDATA для параметра XML FOR является устаревшей. В режимах RAW и AUTO следует использовать создание XSD-схем. В режиме EXPLICT для директивы XMLDATA замены нет. XMLDATA

Примечание

Параметр OUTPUT куки-файла для инструкции sp_setapprole в настоящее время описан в документации как varbinary(8000) , что верно определяет его максимальную длину. Однако текущая реализация возвращает параметр varbinary(50) . Если разработчик выделил значение varbinary(50) , может потребоваться внести изменения в приложения на случай изменения размера возвращаемых куки-файлов в будущих выпусках. Хотя эта проблема не связана с устареванием, она описана в данном разделе, так как требует внесения аналогичных изменений в приложения. Дополнительные сведения см. в статье sp_setapprole (Transact-SQL).

См. также раздел