Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Область применения: SQL Server 2016 (13.x) и более поздних версий
SQL Server 2016 (13.x) не рекомендуется:
- Службы качества данных (DQS)
- Службы Master Data Services (MDS)
Сведения о устаревших функциях в других версиях SQL Server см. в следующем разделе:
- Устаревшие функции ядра СУБД в предварительной версии SQL Server 2025 (17.x)
- Устаревшие функции ядра СУБД в SQL Server 2022 (16.x)
- Устаревшие функции ядро СУБД в SQL Server 2019 (15.x)
- Устаревшие функции ядро СУБД в SQL Server 2017 (14.x)
Рекомендации по отмене использования
В этой статье описываются устаревшие функции SQL Server ядро СУБД, которые по-прежнему доступны в SQL Server 2016 (13.x). Не следует использовать нерекомендуемые возможности в новых приложениях.
Если функция помечена как нерекомендуемая, это означает следующее:
- Функция находится в режиме обслуживания. Новые изменения не добавляются, включая изменения, связанные с устранением взаимодействия с новыми функциями.
- Мы стараемся не удалять нерекомендуемые функции из новых выпусков, чтобы упростить обновление. Однако в редких ситуациях мы можем выбрать окончательное прекращение (удаление) функции из SQL Server, если она ограничивает будущие инновации.
- Не используйте нерекомендуемые возможности для новых задач разработки. Для существующих приложений, которые в настоящее время используют эти функции, запланируйте изменение как можно скорее.
Сведения о SQL Server 2017 (14.x) см. в статье об устаревших функциях ядро СУБД в SQL Server 2017 (14.x).
Наблюдать за использованием нерекомендуемых функций можно с помощью событий трассировки и счетчика производительности объекта "Нерекомендуемые функции SQL Server". Дополнительные сведения см. в разделе Использование объектов SQL Server.
Значение этих счетчиков также можно получить, выполнив следующую инструкцию:
SELECT * FROM sys.dm_os_performance_counters
WHERE object_name LIKE '%SQL%Deprecated Features%';
Функции, не рекомендуемые в следующей версии 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 |
Объекты базы данных | Возможность возвращать результирующие наборы из триггеров. | нет | Возврат результатов из триггера | 12 |
Шифрование | Шифрование с помощью RC4 или RC4_128 устарело и будет удалено в следующей версии. Расшифровка RC4 и RC4_128 не рекомендуется. | Используйте другой алгоритм шифрования, например AES. | Устаревший алгоритм шифрования | 253 |
Алгоритмы хэширования | Использовать MD2, MD4, MD5, SHA и SHA1 не рекомендуется. | Вместо этого используйте алгоритмы SHA2_256 или SHA2_512. Старые алгоритмы по-прежнему работают, но вызывают событие нерекомендуемого алгоритма. | Нерекомендуемый хэш-алгоритм | нет |
Удаленные серверы | 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 | Замените удаленные серверы связанными серверами. | нет | нет |
Удаленные серверы | УСТАНОВИТЬ REMOTE_PROC_TRANSACTIONS | Замените удаленные серверы связанными серверами. | УСТАНОВИТЬ REMOTE_PROC_TRANSACTIONS | 110 |
Табличные указания | Табличная подсказка HOLDLOCK без скобок. | Используйте HOLDLOCK со скобками. | Табличная подсказка HOLDLOCK без скобок. | 167 |
Функции, не рекомендуемые в будущей версии SQL Server
Следующие функции SQL Server ядро СУБД поддерживаются в следующей версии SQL Server, но будут устаревшими в более поздней версии. С какой именно версии SQL Server, пока не определено.
Категория | Нерекомендуемая функция | Замена | Имя функции | Идентификатор функции |
---|---|---|---|---|
Уровни совместимости | sp_dbcmptlevel | ALTER DATABASE ... SET COMPATIBILITY_LEVEL (команда для изменения уровня совместимости базы данных). Дополнительные сведения см. в разделе Уровень совместимости ALTER DATABASE (Transact-SQL). | sp_dbcmptlevel | 80 |
Уровни совместимости | Уровень совместимости базы данных 110 и 120 | Запланируйте обновление базы данных и приложения для следующего выпуска. Однако мы будем как можно дольше поддерживать приложения, сертифицированные для работы на любом соответствующем уровне совместимости, чтобы упростить обновление. Дополнительные сведения об уровнях совместимости см. в статье Уровень совместимости инструкции ALTER DATABASE (Transact-SQL). | Уровень совместимости базы данных 110 Уровень совместимости базы данных 120 |
|
XML | Создание встроенных схем XDR | Директива XMLDATA для параметра XML FOR является нерекомендуемой. В режимах RAW и AUTO следует использовать создание XSD-схем. В режиме EXPLICT для директивы XMLDATA замены нет. | XMLDATA | 181 |
XML | sys.sp_db_selective_xml_index | ALTER INDEX ОТКЛЮЧИТЬ Подробные сведения см. в статье ALTER INDEX (Transact-SQL). |
sys.sp_db_selective_xml_index | |
Резервное копирование и восстановление | BACKUP { DATABASE | LOG } НА TAPE РЕЗЕРВНОЕ КОПИРОВАНИЕ { БАЗЫ ДАННЫХ | ЖУРНАЛА } НА устройство, являющееся лентой |
BACKUP { БАЗА ДАННЫХ | ЖУРНАЛ } НА ДИСК РЕЗЕРВНОЕ КОПИРОВАНИЕ { БАЗА ДАННЫХ | ЖУРНАЛ } НА device_that_is_a_disk |
BACKUP DATABASE или LOG TO TAPE | 235 |
Резервное копирование и восстановление | sp_addumpdevice 'лента' | sp_addumpdevice'диск' | ДОБАВЛЕНИЕ ЛЕНТОЧНОГО УСТРОЙСТВА | 236 |
Резервное копирование и восстановление | sp_helpdevice | системные устройства резервного копирования | sp_helpdevice | 100 |
Параметры сортировки | Корейский_Вансунг_Юникод Литовский_Классик SQL_AltDiction_CP1253_CS_AS |
Нет. Эти параметры сортировки существуют в SQL Server 2005 (9.x), но их нельзя увидеть с помощью функции fn_helpcollations. | Корейский_Вансунг_Юникод Литовский_Классик SQL_AltDiction_CP1253_CS_AS |
191 192 194 |
Параметры сортировки | Хинди Македонец |
Эти параметры сортировки существуют в SQL Server 2005 (9.x) и более поздних версий, но их нельзя увидеть с помощью функции fn_helpcollations. Вместо них следует использовать Macedonian_FYROM_90 и Indic_General_90. | Хинди Македонец |
190 193 |
Параметры сортировки | Azeri_Latin_90 Azeri_Cyrillic_90 |
Azeri_Latin_100 Азербайджанский_Кириллица_100 |
Azeri_Latin_90 Azeri_Cyrillic_90 |
232 233 |
Настройка | Параметр базы данных 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. УСТАНОВИТЬ СМЕЩЕНИЯ |
Нет. Параметры ANSI_NULLS, ANSI_PADDING и CONCAT_NULLS_YIELDS_NULL всегда имеют значение ON. Параметр SET OFFSETS будет недоступен. |
SET ANSI_NULLS OFF SET ANSI_PADDING OFF (Отключение заполнения по стандарту ANSI) SET CONCAT_NULL_YIELDS_NULL OFF УСТАНОВИТЬ СМЕЩЕНИЯ ИЗМЕНИТЬ БАЗУ ДАННЫХ SET ANSI_NULLS OFF ALTER DATABASE SET ANSI_PADDING OFF (команда изменяет настройки базы данных, отключая ANSI_PADDING) Команда ALTER DATABASE SET CONCAT_NULL_YIELDS_NULL OFF отключает свойство объединения NULL значений в базе данных. |
111 113 112 36 111 113 112 |
Типы данных | sp_addtype хранимая процедура sp_droptype |
СОЗДАТЬ ТИП ТИП DROP |
sp_addtype хранимая процедура sp_droptype |
62 63 |
Типы данных | Синтаксисtimestamp для типа данных rowversion . | Синтаксис типа данныхrowversion . | TIMESTAMP | 158 |
Типы данных | Возможность вставлять значения NULL в столбцы типа timestamp . | Используйте вместо этого DEFAULT. | INSERT NULL в столбцах TIMESTAMP. | 179 |
Типы данных | Параметр таблицы «text in row». | Используйте типы данных varchar(max), nvarchar(max) и varbinary(max). Дополнительные сведения см. в статье sp_tableoption (Transact-SQL). | Параметр таблицы «text in row» | 9 |
Типы данных | Типы данных: текст ntext Изображение |
Используйте типы данных varchar(max), nvarchar(max) и varbinary(max). | Типы данных: text, ntext или image | 4 |
Управление базами данных | sp_attach_db sp_attach_single_file_db (команда для прикрепления единственного файла базы данных) |
Инструкция CREATE DATABASE с параметром FOR ATTACH. Чтобы перестроить несколько файлов журнала, если один или более файлов изменили расположение, используйте параметр FOR ATTACH_REBUILD_LOG. | sp_attach_db sp_attach_single_file_db (команда для прикрепления единственного файла базы данных) |
81 82 |
Объекты базы данных | СОЗДАТЬ ПО УМОЛЧАНИЮ Удалить значение по умолчанию sp_bindefault хранимая процедура sp_unbindefault |
Ключевое слово DEFAULT в инструкциях CREATE TABLE и ALTER TABLE. | Создать_Удалить_По_Умолчанию sp_bindefault хранимая процедура sp_unbindefault |
162 64 65 |
Объекты базы данных | СОЗДАНИЕ ПРАВИЛА УДАЛИТЬ ПРАВИЛО sp_bindrule sp_unbindrule |
Ключевое слово CHECK в инструкциях CREATE TABLE и ALTER TABLE. | СОЗДАТЬ_УДАЛИТЬ_ПРАВИЛО sp_bindrule sp_unbindrule |
161 66 67 |
Объекты базы данных | sp_change_users_login, хранимая процедура | Используйте команду ALTER USER. | sp_change_users_login, хранимая процедура | 231 |
Объекты базы данных | процедура sp_depends | Представления sys.dm_sql_referencing_entities и sys.dm_sql_referenced_entities. | процедура sp_depends | 19 |
Объекты базы данных | sp_renamedb | Параметр MODIFY NAME в инструкции ALTER DATABASE. | sp_renamedb | 79 |
Объекты базы данных | sp_getbindtoken | Использование режима MARS или распределенных транзакций. | sp_getbindtoken | 98 |
Параметры базы данных | sp_bindsession | Использование режима MARS или распределенных транзакций. | sp_bindsession | 97 |
Параметры базы данных | sp_resetstatus (процедура для сброса статуса) | ALTER DATABASE SET { ONLINE | ЧРЕЗВЫЧАЙНЫЕ СИТУАЦИИ } | sp_resetstatus (процедура для сброса статуса) | 83 |
Параметры базы данных | Параметр TORN_PAGE_DETECTION инструкции ALTER DATABASE. | Параметр PAGE_VERIFY TORN_PAGE_DETECTION инструкции ALTER DATABASE. | ALTER DATABASE WITH TORN_PAGE_DETECTION | 102 |
DBCC | DBCC DBREINDEX | Параметр REBUILD инструкции ALTER INDEX. | DBCC DBREINDEX | 11 |
DBCC | DBCC INDEXDEFRAG | Параметр REORGANIZE инструкции ALTER INDEX | DBCC INDEXDEFRAG | 18 |
DBCC | DBCC SHOWCONTIG | sys.dm_db_index_physical_stats | DBCC SHOWCONTIG | 10 |
DBCC | DBCC PINTABLE DBCC UNPINTABLE |
Данный параметр не делает ничего. | DBCC [UN]PINTABLE | 189 |
Расширенные свойства | 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 |
13 (тринадцать) 14 |
Программирование расширенных хранимых процедур | срв_аллок srv_преобразовать srv_описание srv_getbindtoken srv_внимание_получено обработчик_сообщений_srv srv_paramdata информация о параметре сервера srv_paramlen srv_parammaxlen srv_paramname srv_paramnumber Параметр сервера srv_paramsetoutput статус_параметра_сервера тип параметра сервера srv_pfield srv_pfieldex srv_rpcdb srv_rpcname срв_рпцномер параметры_сервера_rpc srv_rpcowner srv_rpcparams срв_отправказавершена srv_sendmsg srv_sendrow srv_setcoldata srv_setcollen srv_setutype srv_willconvert srv_wsendmsg |
Используйте вместо этого интеграцию со средой CLR. | XP_API | 20 |
Программирование расширенных хранимых процедур | sp_addextendedproc sp_dropextendedproc sp_helpextendedproc |
Используйте вместо этого интеграцию со средой CLR. | sp_addextendedproc sp_dropextendedproc sp_helpextendedproc |
94 95 96 |
Расширенные хранимые процедуры | xp_grantlogin xp_revokelogin xp_loginConfig |
Используйте инструкцию CREATE LOGIN. Используйте аргумент DROP LOGIN IsIntegratedSecurityOnly в SERVERPROPERTY. |
xp_grantlogin xp_revokelogin xp_loginconfig |
44 45 59 |
Функции | fn_get_sql | sys.dm_exec_sql_text | fn_get_sql | Сто пятьдесят один |
Высокая доступность | зеркальное отображение базы данных | Группы доступности AlwaysOn Если выпуск SQL Server не поддерживает группы доступности Always On, используйте доставку журналов. |
ЗЕРКАЛИРОВАНИЕ БАЗЫ ДАННЫХ | 267 |
Параметры индекса | сп_индексопция | ИЗМЕНИТЬ ИНДЕКС | сп_индексопция | 78 |
Параметры индекса | Синтаксис CREATE TABLE, ALTER TABLE или CREATE INDEX без заключения параметров в скобки. | Перепишите инструкции для использования текущего синтаксиса. | ОПЦИЯ_ИНДЕКСА | 33 |
Параметры экземпляра | Параметр 'allow updates' хранимой процедуры sp_configure. | Системные таблицы теперь недоступны для обновления. Параметр не делает ничего. | sp_configure "Разрешить обновления" | 173 |
Параметры экземпляра | Параметры хранимой процедуры sp_configure: замки "открытые объекты" "Задать размер рабочего набора" |
Теперь настраивается автоматически. Параметр не делает ничего. | sp_configure "блокировки" sp_configure "открытые объекты" sp_configure "задать размер рабочего набора" |
174 175 176 |
Параметры экземпляра | Параметр 'priority boost' хранимой процедуры sp_configure. | Системные таблицы теперь недоступны для обновления. Параметр не делает ничего. Используйте вместо него параметр Windows start /high ... program.exe. | sp_configure "повышение приоритета" | 199 |
Параметры экземпляра | Параметр 'remote proc trans' хранимой процедуры sp_configure. | Системные таблицы теперь недоступны для обновления. Параметр не делает ничего. | sp_configure "remote proc trans" | 37 |
Связанные серверы | Указание поставщика SQLOLEDB для связанных серверов. | Microsoft OLE DB Driver (MSOLEDBSQL) для SQL Server | SQLOLEDB для связанных серверов | 19 |
Блокировка | сп_блокировка | sys.dm_tran_locks | сп_блокировка | 99 |
Метаданные | ИДЕНТИФИКАТОР_ФАЙЛА СВОЙСТВО_КЛЮЧА_ИНДЕКСА |
FILE_IDEX sys.index_columns |
ИДЕНТИФИКАТОР_ФАЙЛА СВОЙСТВО_КЛЮЧА_ИНДЕКСА |
15 17 |
Собственные веб-службы с поддержкой XML | Инструкция CREATE ENDPOINT или ALTER ENDPOINT с параметром FOR SOAP. sys.endpoint_webmethods точки_доступа_SYS_SOAP |
Вместо этого следует использовать технологию WCF (Windows Communications Foundation) или ASP.NET. | СОЗДАНИЕ/ИЗМЕНЕНИЕ КОНЕЧНОЙ ТОЧКИ sys.endpoint_webmethods EXT_soap_endpoints точки_доступа_SYS_SOAP |
двадцать один двадцать два двадцать три |
Удаляемые базы данных | удаляемое_подтверждение_sp sp_create_съёмный |
sp_detach_db | удаляемое_подтверждение_sp sp_create_съёмный |
74 75 |
Удаляемые базы данных | sp_dbremove | DROP DATABASE (удалить базу данных) | sp_dbremove | 76 |
Безопасность | Синтаксис ALTER LOGIN WITH SET CREDENTIAL | Заменен новым синтаксисом ALTER LOGIN ADD и DROP CREDENTIAL | ALTER LOGIN С УСТАНОВКОЙ УЧЕТНЫХ ДАННЫХ | 230 |
Безопасность | sp_addapprole, хранимая процедура sp_dropapprole, хранимая процедура |
СОЗДАТЬ РОЛЬ ПРИЛОЖЕНИЯ Удалить роль приложения |
sp_addapprole, хранимая процедура sp_dropapprole, хранимая процедура |
53 54 |
Безопасность | sp_addlogin sp_droplogin |
Создать учётную запись Удалить LOGIN |
sp_addlogin sp_droplogin |
39 40 |
Безопасность | sp_adduser sp_dropuser (функция для удаления пользователя в базе данных) |
СОЗДАНИЕ ПОЛЬЗОВАТЕЛЯ Удалить пользователя |
sp_adduser sp_dropuser (функция для удаления пользователя в базе данных) |
49 50 |
Безопасность | sp_grantdbaccess (предоставление доступа к базе данных) sp_revokedbaccess |
СОЗДАНИЕ ПОЛЬЗОВАТЕЛЯ Удалить пользователя |
sp_grantdbaccess (предоставление доступа к базе данных) sp_revokedbaccess |
51 52 |
Безопасность | хранимая процедура sp_addrole sp_droprole |
СОЗДАТЬ РОЛЬ УДАЛИТЬ РОЛЬ |
хранимая процедура sp_addrole sp_droprole |
56 57 |
Безопасность | sp_approlepassword sp_password |
ИЗМЕНИТЬ РОЛЬ ПРИЛОЖЕНИЯ ИЗМЕНИТЬ ЛОГИН (ALTER LOGIN) |
sp_approlepassword sp_password |
55 46 |
Безопасность | процедура изменения владельца объекта (sp_changeobjectowner) | ALTER SCHEMA или ALTER AUTHORIZATION | процедура изменения владельца объекта (sp_changeobjectowner) | 58 |
Безопасность | sp_control_dbmasterkey_password | Необходим главный ключ и правильный пароль. | sp_control_dbmasterkey_password | 274 |
Безопасность | sp_defaultdb sp_defaultlanguage (команда для установки языка по умолчанию) |
ИЗМЕНИТЬ ЛОГИН (ALTER LOGIN) | sp_defaultdb sp_defaultlanguage (команда для установки языка по умолчанию) |
47 48 |
Безопасность | sp_denylogin sp_grantlogin sp_revokelogin |
ALTER LOGIN DISABLE Создать учётную запись Удалить LOGIN |
sp_denylogin sp_grantlogin sp_revokelogin |
42 41 43 |
Безопасность | ИД_ПОЛЬЗОВАТЕЛЯ | ID_ГЛАВНОГО_ОБЪЕКТА_БАЗЫ_ДАННЫХ | ИД_ПОЛЬЗОВАТЕЛЯ | 16 |
Безопасность | sp_srvrolepermission sp_dbfixedrolepermission |
Эти хранимые процедуры возвращают правильные сведения в SQL Server 2000 (8.x). Выходные данные не отражают изменения иерархии разрешений, реализованной в SQL Server 2008 (10.0.x). Дополнительные сведения см. в разделе Разрешения предопределенных ролей сервера. | sp_srvrolepermission sp_dbfixedrolepermission |
61 шестьдесят |
Безопасность | ПРЕДОСТАВИТЬ ВСЁ ЗАПРЕТИТЬ ВСЕ ОТМЕНА ВСЕХ |
Специальные разрешения GRANT, DENY и REVOKE. | Разрешение ALL. | 35 |
Безопасность | Внутренняя функция PERMISSIONS. | Запросите sys.fn_my_permissions. | РАЗРЕШЕНИЯ | 170 |
Безопасность | SETUSER | ВЫПОЛНИТЬ КАК | SETUSER | 165 |
Безопасность | Алгоритмы шифрования RC4 и DESX | Используйте другой алгоритм, например AES. | Алгоритм DESX | 238 |
Параметры SET | 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 | 250 |
Параметры конфигурации сервера | Параметр c2 audit default trace enabled, параметр |
Параметр конфигурации сервера common criteria compliance enabled Расширенные события |
sp_configure 'режим аудита c2' sp_configure "включена трассировка по умолчанию" |
252 253 |
Классы модели объектов SMO | Microsoft.SQLServer. Management.Smo.Information класс Microsoft.SQLServer. Management.Smo.Settings класс Microsoft.SQLServer.Management. Smo.DatabaseOptions класс Microsoft.SqlServer.Management.Smo. Триггер DDL базы данных.Не для репликации свойство |
Microsoft.SqlServer. Management.Smo.Server класс Microsoft.SqlServer. Management.Smo.Server класс Microsoft.SqlServer. Management.Smo.Database класс нет |
нет | нет |
Агент SQL Server | уведомлениеnet send . Уведомление по пейджеру |
Уведомление по электронной почте Уведомление по электронной почте |
нет | нет |
Среда SQL Server Management Studio | Интеграция обозревателя решений в SQL Server Management Studio | нет | нет | |
Системные хранимые процедуры | sp_db_увеличенные_разделы | Нет. Теперь поддержка увеличенных секций доступна по умолчанию. | sp_db_увеличенные_разделы | 253 |
Системные таблицы | sysaltfiles syscacheobjects syscolumns (системные столбцы) syscomments sysconfigures системные ограничения syscurconfigs sysdatabases sysdepends sysdevices sysfilegroups системные файлы sysforeignkeys sysfulltextcatalogs sysindexes sysindexkeys syslockinfo syslogins системные участники системные сообщения sysobjects sysoledbusers sysopentapes sysperfinfo syspermissions sysprocesses sysprotects sysreferences sysremotelogins системные серверы systypes Системные пользователи |
Представления совместимости. Дополнительные сведения см. в разделе Системные представления совместимости (Transact-SQL). Важно. Представления совместимости не предоставляют метаданные для функций, появившихся в SQL Server 2005 (9.x). Рекомендуется обновить приложения, чтобы они использовали представления каталога. Дополнительные сведения см. в разделе Системные представления каталога (Transact-SQL). |
sysaltfiles syscacheobjects syscolumns (системные столбцы) syscomments sysconfigures системные ограничения syscurconfigs sysdatabases sysdepends sysdevices sysfilegroups системные файлы sysforeignkeys sysfulltextcatalogs sysindexes sysindexkeys syslockinfo syslogins системные участники системные сообщения sysobjects sysoledbusers sysopentapes sysperfinfo syspermissions sysprocesses sysprotects sysreferences sysremotelogins системные серверы systypes Системные пользователи |
141 нет 133 126 146 131 147 142 123 144 128 127 130 122 132 134 143 140 119 137 125 139 145 157 121 153 120 129 138 136 135 124 |
Системные таблицы | sys.пронумерованные_процедуры sys.нумерованные_параметры_процедуры |
нет | пронумерованные_процедуры параметры процедуры с порядковыми номерами |
148 149 |
Системные функции | fn_virtualservernodes fn_servershareddrives |
sys.dm_os_cluster_nodes sys.dm_io_cluster_shared_drives |
fn_virtualservernodes fn_servershareddrives |
155 156 |
Системные представления | sys.sql_dependencies | зависимости_выражения_sql | sys.sql_dependencies | 198 |
Сжатие таблицы | Использование формата хранения vardecimal. | Формат хранения Vardecimal устарел. Сжатие данных в этой версии сжимает десятичные значения и другие типы данных. Вместо формата хранения vardecimal рекомендуется использовать сжатие данных. | Формат хранения vardecimal | 200 |
Сжатие таблицы | Используйте процедуру the sp_db_vardecimal_storage_format. | Формат хранения Vardecimal устарел. Функция сжатия данных SQL Server сжимает десятичные значения, а также другие типы данных. Вместо формата хранения vardecimal рекомендуется использовать сжатие данных. | sp_db_vardecimal_storage_format | 201 |
Сжатие таблицы | Используйте процедуру sp_estimated_rowsize_reduction_for_vardecimal. | Вместо этого следует использовать сжатие данных и процедуру sp_estimate_data_compression_savings. | `sp_estimated_rowsize_reduction_for_vardecimal` | 202 |
Табличные указания | Указание параметра NOLOCK или READUNCOMMITTED в предложении FROM инструкции UPDATE или DELETE. | Удалите табличные указания NOLOCK и READUNCOMMITTED из предложения FROM. | NOLOCK или READUNCOMMITTED в инструкции UPDATE или DELETE | 1 |
Табличные указания | Указание табличных подсказок без ключевого слова WITH. | Использование ключевого слова WITH. | Табличное указание без ключевого слова WITH | 8 |
Табличные указания | INSERT_HINTS | INSERT_HINTS | 34 | |
Текстовые указатели | НАПИСАТЬ ТЕКСТ Обновить текст READTEXT |
нет | UPDATETEXT или WRITETEXT READTEXT |
115 114 |
Текстовые указатели | TEXTPTR() TEXTVALID() |
нет | TEXTPTR TEXTVALID |
5 6 |
Transact-SQL | Последовательность вызова функций :: |
Заменено на SELECT список_столбцов FROM sys.<имя_функции>(). Например, замените SELECT * FROM ::fn_virtualfilestats(2,1) на SELECT * FROM sys.fn_virtualfilestats(2,1) . |
синтаксис вызова функции «::» | 166 |
Transact-SQL | Ссылки на столбцы с трех- и четырехкомпонентными именами. | Использование двухкомпонентных имен совместимо со стандартом. | Имя столбца, состоящее более чем из двух компонентов | 3 |
Transact-SQL | Строка, заключенная в кавычки, использовалась как псевдоним столбца для выражения в списке SELECT: 'string_alias' = выражение |
expression [AS] псевдоним_столбца expression [AS] [псевдоним_столбца] expression [AS] "псевдоним_столбца" expression [AS] 'псевдоним_столбца' column_alias = выражение |
Строковые литералы в качестве псевдонимов столбцов | 184 |
Transact-SQL | Нумерованные процедуры | Нет. Не используйте. | ProcNums | 160 |
Transact-SQL | Синтаксисtable_name.index_name в инструкции DROP INDEX | Синтаксисindex_name ON table_name в инструкции DROP INDEX. | DROP INDEX с двухкомпонентным именем | 163 |
Transact-SQL | Инструкции Transact-SQL не заканчиваются точкой с запятой. | Завершение инструкций Transact-SQL с запятой (; ). |
нет | нет |
Transact-SQL | ГРУППИРОВКА ПО ВСЕМ | Используйте решение с оператором UNION или производной таблицей для каждого случая отдельно. | ГРУППИРОВКА ПО ВСЕМ | 169 |
Transact-SQL | ROWGUIDCOL в качестве имени столбца в инструкциях DML. | Используйте $rowguid. | ROWGUIDCOL | 182 |
Transact-SQL | IDENTITYCOL в качестве имени столбца в инструкциях DML. | Используйте $identity. | IDENTITYCOL | 183 |
Transact-SQL | Использование # и ## в качестве имен временной таблицы и временной хранимой процедуры. | Используйте по крайней мере один дополнительный символ. | Символы «#» и «##» в качестве имен временных таблиц и хранимых процедур | 185 |
Transact-SQL | Используйте @, @@ или @@ в качестве идентификаторов Transact-SQL. | Не используйте в качестве идентификаторов @ или @@, а также имена, начинающиеся символами @@. | "@" и имена, начинающиеся с "@@", в качестве идентификаторов Transact-SQL | 186. |
Transact-SQL | Используйте ключевое слово DEFAULT в качестве значения по умолчанию. | Не используйте слово DEFAULT в качестве значения по умолчанию. | Ключевое слово DEFAULT в качестве значения по умолчанию. | 187 |
Transact-SQL | Использование пробела в качестве разделителя табличных подсказок. | В качестве разделителя отдельных табличных подсказок используйте запятую. | Несколько табличных указаний без запятых | 168 |
Transact-SQL | Список выбора статистического индексированного представления должен содержать функцию COUNT_BIG (*) в режиме совместимости 90. | Вместо этого следует использовать функцию COUNT_BIG. | Список выбора индексированного представления без COUNT_BIG(\*) | 2 |
Transact-SQL | Косвенное применение табличных указаний для вызова функций с несколькими инструкциями, возвращающих табличное значение (TVF), через представление. | Нет. | Косвенные подсказки возвращающих табличное значение функций. | 7 |
Transact-SQL | Синтаксис ALTER DATABASE: ИЗМЕНЕНИЕ ФАЙЛОВОЙ ГРУППЫ READONLY ИЗМЕНИТЬ FILEGROUP READWRITE |
ИЗМЕНЕНИЕ READ_ONLY ФАЙЛОВОЙ ГРУППЫ ИЗМЕНЕНИЕ READ_WRITE ФАЙЛОВОЙ ГРУППЫ |
ИЗМЕНЕНИЕ ФАЙЛОВОЙ ГРУППЫ READONLY ИЗМЕНИТЬ FILEGROUP READWRITE |
195 196 |
Другие | DB-Library Embedded SQL для языка C. |
Хотя ядро СУБД до сих пор поддерживает соединения из существующих приложений, использующих API DB-Library и Embedded SQL, файлы или документация, необходимые для разработки приложений с помощью этих API, не предоставляются. В будущей версии SQL Server ядро СУБД будет удалена поддержка подключений из приложений DB-Library или Embedded SQL. Не используйте DB-Library или Embedded SQL для разработки новых приложений. При изменении существующих приложений удалите все зависимости от библиотеки DB или Embedded SQL. Вместо этих API используйте пространство имен SQLClient или такой API, как ODBC. Текущая версия не включает библиотеку DLL библиотеки DB, необходимую для запуска этих приложений. Для запуска приложений DB-Library или Embedded SQL необходимо иметь доступ к DLL-библиотеке DB-Library для SQL Server 6.5, SQL Server 7.0 или SQL Server 2000 (8.x). | нет | нет |
Инструменты | Приложение SQL Server Profiler для перехвата трассировки | Использование профилировщика расширенных событий, встроенного в среду SQL Server Management Studio. | Профилировщик SQL Server | нет |
Инструменты | Воспроизведение трассировки с помощью приложения SQL Server Profiler | Распределенное воспроизведение SQL Server | Профилировщик SQL Server | нет |
Объекты TMO | Пространство имен Microsoft.SqlServer.Management.Trace (содержит API для объектов Trace и Replay в SQL Server) | Настройка трассировки: Microsoft.SqlServer.Management.XEvent Чтение трассировки: Microsoft.SqlServer.XEvent.Linq Воспроизведение трассировки: отсутствует |
||
Хранимые процедуры, функции и представления каталогов трассировки 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 |
258 260 261 25 % 256 257 |
Задание параметров | SET ROWCOUNT для инструкций INSERT, UPDATEи DELETE . | Ключевое слово TOP | SET ROWCOUNT | 109 |
Примечание.
Параметр OUTPUT куки-файла для инструкции sp_setapprole в настоящее время описан в документации как varbinary(8000) , что верно определяет его максимальную длину. Однако текущая реализация возвращает параметр varbinary(50). Если разработчик выделил значение varbinary(50) , может потребоваться внести изменения в приложения на случай изменения размера возвращаемых куки-файлов в будущих выпусках. Хотя эта проблема не связана с устареванием, она описана в данном разделе, так как требует внесения аналогичных изменений в приложения. Дополнительные сведения см. в sp_setapprole.