SQL Server, объект устаревших функций

Объект SQLServer:Deprecated Features в SQL Server предоставляет счетчик для наблюдения за функциями, обозначенными как устаревшие. В каждом случае этот счетчик использования подсчитывает, сколько раз обнаружены устаревшие функции с момента последнего запуска SQL Server.

В следующей таблице приводятся экземпляры счетчиков SQL Server Deprecated Features.

Экземпляры счетчика SQL Server Deprecated Features

Описание

Символы «#» и «##» в качестве имен временных таблиц и хранимых процедур

Обнаружен идентификатор, не содержащий других символов, кроме #. Используйте по крайней мере один дополнительный символ. Происходит один раз на каждую компиляцию.

синтаксис вызова функции «::»

Обнаружен синтаксис вызова функции «::» для функции с табличным значением. Заменить на SELECT column_list FROM < function_name>(). Например, замените SELECT * FROM ::fn_virtualfilestats(2,1) на SELECT * FROM sys.fn_virtualfilestats(2,1). Происходит один раз на каждую компиляцию.

«@» и имена, начинающиеся с «@@» в качестве идентификаторов Transact-SQL.

Обнаружен идентификатор, начинающийся с символов @ и @@. Не используйте в качестве идентификаторов @, @@ или имена, начинающиеся символами @@. Происходит один раз на каждую компиляцию.

ADDING TAPE DEVICE

Обнаружена устаревшая функция sp_addumpdevice'tape'. Вместо этого используйте процедуру sp_addumpdevice'disk'. Происходит один раз на каждое выполнение.

Разрешение ALL

Число раз, когда был обнаружен синтаксис GRANT ALL, DENY ALL или REVOKE ALL. Измените синтаксис, чтобы запретить конкретные разрешения. Происходит один раз для каждого запроса.

ALTER DATABASE WITH TORN_PAGE_DETECTION

Общее число использований устаревшего параметра TORN_PAGE_DETECTION инструкции ALTER DATABASE с момента последнего запуска экземпляра сервера. Вместо этого параметра используйте синтаксис PAGE_VERIFY. Происходит один раз для каждой инструкции DDL.

ALTER LOGIN WITH SET CREDENTIAL

Обнаружен устаревший синтаксис ALTER LOGIN WITH SET CREDENTIAL или ALTER LOGIN WITH NO CREDENTIAL. Вместо него используйте синтаксис ADD или DROP CREDENTIAL. Происходит один раз на каждую компиляцию.

Azeri_Cyrilllic_90

Событие происходит один раз на каждый запуск базы данных и один раз на каждое применение этого параметра сортировки. Запланируйте изменение приложений, использующих этот параметр сортировки.

Azeri_Latin_90

Событие происходит один раз на каждый запуск базы данных и один раз на каждое применение этого параметра сортировки. Запланируйте изменение приложений, использующих этот параметр сортировки.

BACKUP DATABASE или LOG TO TAPE

Обнаружена устаревшая функция 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 WITH MEDIAPASSWORD

Обнаружена устаревшая функция BACKUP DATABASE WITH MEDIAPASSWORD или BACKUP LOG WITH MEDIAPASSWORD. Не используйте WITH MEDIAPASSWORD.

BACKUP DATABASE или LOG WITH PASSWORD

Обнаружена устаревшая функция BACKUP DATABASE WITH PASSWORD или BACKUP LOG WITH PASSWORD. Не используйте WITH PASSWORD.

COMPUTE [BY]

Обнаружен синтаксис COMPUTE или COMPUTE BY. Перепишите запрос, чтобы использовать GROUP BY с ROLLUP. Происходит один раз на каждую компиляцию.

CREATE FULLTEXT CATLOG IN PATH

Обнаружена инструкция CREATE FULLTEXT CATLOG с предложением IN PATH. Это предложение не действует в настоящей версии SQL Server. Происходит один раз на каждое выполнение.

CREATE TRIGGER WITH APPEND

Обнаружена инструкция CREATE TRIGGER с предложением WITH APPEND. Создайте триггер повторно. Происходит один раз для каждой инструкции DDL.

CREATE_DROP_DEFAULT

Обнаружен синтаксис CREATE DEFAULT or DROP DEFAULT. Перепишите команду, используя параметр DEFAULT инструкции CREATE TABLE или ALTER TABLE. Происходит один раз на каждую компиляцию.

CREATE_DROP_RULE

Обнаружен синтаксис CREATE RULE. Перепишите команду, используя ограничения. Происходит один раз на каждую компиляцию.

Типы данных: text, ntext или image

Обнаружены типы данных text, ntext или image. Перепишите приложения, чтобы использовался тип данных varchar(max), и удалите типы данных text, ntext и image. Происходит один раз для каждого запроса.

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

Общее число изменений базы данных на уровень совместимости 80. Запланируйте обновить базу данных и приложение перед выходом следующей версии. Также происходит при запуске базы данных с уровнем совместимости 80.

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

Общее число изменений базы данных на уровень совместимости 90. Запланируйте обновление базы данных и приложения для следующей версии. Также происходит при запуске базы данных с уровнем совместимости 90.

database_principal_aliases

Обнаружены ссылки на устаревшую процедуру sys.database_principal_aliases. Использование ролей вместо псевдонимов. Происходит один раз на каждую компиляцию.

DATABASEPROPERTY

Инструкция ссылается на DATABASEPROPERTY. Обновите инструкцию DATABASEPROPERTY на DATABASEPROPERTYEX. Происходит один раз на каждую компиляцию.

DATABASEPROPERTYEX('IsFullTextEnabled')

Инструкция ссылается на свойство DATABASEPROPERTYEX IsFullTextEnabled. Значение этого свойства не учитывается. Полнотекстовый поиск всегда включен для пользовательских баз данных. Не используйте это свойство. Происходит один раз на каждую компиляцию.

DBCC [UN]PINTABLE

Обнаружена инструкция DBCC PINTABLE или DBCC UNPINTABLE. Эта инструкция не действует и должна быть удалена. Происходит один раз для каждого запроса.

DBCC DBREINDEX

Обнаружена инструкция DBCC DBREINDEX. Перепишите инструкцию, чтобы ALTER INDEX использовала параметр REBUILD. Происходит один раз для каждого запроса.

DBCC INDEXDEFRAG

Обнаружена инструкция DBCC INDEXDEFRAG. Перепишите инструкцию, чтобы ALTER INDEX использовала параметр REORGANIZE. Происходит один раз для каждого запроса.

DBCC SHOWCONTIG

Обнаружена инструкция DBCC SHOWCONTIG. Эти данные можно запросить у sys.dm_db_index_physical_stats. Происходит один раз для каждого запроса.

Ключевое слово DEFAULT в качестве значения по умолчанию.

Обнаружен синтаксис, использующий ключевое слово DEFAULT в качестве значения по умолчанию. Не используйте. Происходит один раз на каждую компиляцию.

Алгоритм DESX

Обнаружен синтаксис, использующий алгоритм шифрования DESX. Пользуйтесь другим алгоритмом шифрования. Происходит один раз на каждую компиляцию.

dm_fts_active_catalogs

Счетчик dm_fts_active_catalogs всегда остается в значении 0, поскольку некоторые столбцы представления sys.dm_fts_active_catalogs не являются устаревшими. Для отслеживания устаревшего столбца используется зависящий от столбца счетчик, например dm_fts_active_catalogs.is_paused.

dm_fts_active_catalogs.is_paused

Обнаружен столбец is_paused динамического административного представления sys.dm_fts_active_catalogs. Избегайте использования этого столбца. Происходит каждый раз, когда экземпляр сервера обнаруживает ссылку на этот столбец.

dm_fts_active_catalogs.previous_status

Обнаружен столбец previous_status динамического административного представления sys.dm_fts_active_catalogs. Избегайте использования этого столбца. Происходит каждый раз, когда экземпляр сервера обнаруживает ссылку на этот столбец.

dm_fts_active_catalogs.previous_status_description

Обнаружен столбец previous_status_description динамического административного представления sys.dm_fts_active_catalogs. Избегайте использования этого столбца. Происходит каждый раз, когда экземпляр сервера обнаруживает ссылку на этот столбец.

dm_fts_active_catalogs.row_count_in_thousands

Обнаружен столбец row_count_in_thousands динамического административного представления sys.dm_fts_active_catalogs. Избегайте использования этого столбца. Происходит каждый раз, когда экземпляр сервера обнаруживает ссылку на этот столбец.

dm_fts_active_catalogs.status

Обнаружен столбец status динамического административного представления sys.dm_fts_active_catalogs. Избегайте использования этого столбца. Происходит каждый раз, когда экземпляр сервера обнаруживает ссылку на этот столбец.

dm_fts_active_catalogs.status_description

Обнаружен столбец status_description динамического административного представления sys.dm_fts_active_catalogs. Избегайте использования этого столбца. Происходит каждый раз, когда экземпляр сервера обнаруживает ссылку на этот столбец.

dm_fts_active_catalogs.worker_count

Обнаружен столбец worker_count динамического административного представления sys.dm_fts_active_catalogs. Избегайте использования этого столбца. Происходит каждый раз, когда экземпляр сервера обнаруживает ссылку на этот столбец.

dm_fts_memory_buffers

Счетчик dm_fts_memory_buffers всегда остается в значении 0, поскольку большинство столбцов представления sys.dm_fts_memory_buffers не являются устаревшими. Для отслеживания устаревшего столбца используется зависящий от столбца счетчик dm_fts_memory_buffers.row_count.

dm_fts_memory_buffers.row_count

Обнаружен столбец row_count динамического административного представления sys.dm_fts_memory_buffers. Избегайте использования этого столбца. Происходит каждый раз, когда экземпляр сервера обнаруживает ссылку на этот столбец.

DROP INDEX с двухкомпонентным именем

Синтаксис DROP INDEX содержит синтаксис формата table_name.index_name в инструкции DROP INDEX. Замените синтаксисом index_name ON table_name в инструкции DROP INDEX. Происходит один раз на каждую компиляцию.

EXT_CREATE_ALTER_SOAP_ENDPOINT

Обнаружена инструкция CREATE или ALTER ENDPOINT с параметром FOR SOAP. Собственные веб-службы с поддержкой XML устарели. Вместо этого пользуйтесь технологией WCF (Windows Communications Foundation) или ASP.NET.

EXT_endpoint_webmethods

Обнаружено представление каталога sys.endpoint_webmethods. Собственные XML-веб-службы устарели. Вместо этого следует использовать технологию WCF (Windows Communications Foundation) или ASP.NET.

EXT_soap_endpoints

Обнаружено представление каталога sys.soap_endpoints. Собственные XML-веб-службы устарели. Используйте вместо них Windows Communications Foundation (WCF) или ASP.NET.

EXTPROP_LEVEL0TYPE

Обнаружено значение TYPE параметра level0type. Используйте SCHEMA как level0type и TYPE как level1type. Происходит один раз для каждого запроса.

EXTPROP_LEVEL0USER

При level1type указано также level0type USER. Используйте USER только как level0type для расширенных свойств непосредственно в пользователе. Происходит один раз для каждого запроса.

FASTFIRSTROW

Обнаружен синтаксис FASTFIRSTROW. Перепишите инструкции так, чтобы в них использовался синтаксис OPTION (FAST n). Происходит один раз на каждую компиляцию.

FILE_ID

Обнаружен синтаксис FILE_ID. Перепишите инструкции для использования FILE_IDEX. Происходит один раз на каждую компиляцию.

fn_get_sql

Функция fn_get_sql была скомпилирована. Пользуйтесь вместо этого функцией sys.dm_exec_sql_text. Происходит один раз на каждую компиляцию.

fn_servershareddrives

Функция fn_servershareddrives была скомпилирована. Пользуйтесь вместо этого функцией sys.dm_io_cluster_shared_drives. Происходит один раз на каждую компиляцию.

fn_virtualservernodes

Функция fn_virtualservernodes была скомпилирована. Пользуйтесь вместо этого функцией sys.dm_os_cluster_nodes. Происходит один раз на каждую компиляцию.

fulltext_catalogs

Счетчик fulltext_catalogs всегда остается в значении 0, поскольку некоторые столбцы представления sys.fulltext_catalogs не являются устаревшими. Для наблюдения за устаревшим столбцом используется зависящий от столбца счетчик, например fulltext_catalogs.data_space_id. Происходит каждый раз, когда экземпляр сервера обнаруживает ссылку на этот столбец.

fulltext_catalogs.data_space_id

Обнаружен столбец data_space_id представления каталога sys.fulltext_catalogs. Не используйте этот столбец. Происходит каждый раз, когда экземпляр сервера обнаруживает ссылку на этот столбец.

fulltext_catalogs.file_id

Обнаружен столбец file_id представления каталога sys.fulltext_catalogs. Не используйте этот столбец. Происходит каждый раз, когда экземпляр сервера обнаруживает ссылку на этот столбец.

fulltext_catalogs.path

Обнаружен столбец path представления каталога sys.fulltext_catalogs. Не используйте этот столбец. Происходит каждый раз, когда экземпляр сервера обнаруживает ссылку на этот столбец.

FULLTEXTCATALOGPROPERTY('LogSize')

Обнаружено свойство LogSize функции FULLTEXTCATALOGPROPERTY. Избегайте использования этого свойства.

FULLTEXTCATALOGPROPERTY('PopulateStatus')

Обнаружено свойство PopulateStatus функции FULLTEXTCATALOGPROPERTY. Избегайте использования этого свойства.

FULLTEXTSERVICEPROPERTY('ConnectTimeout')

Обнаружено свойство ConnectTimeout функции FULLTEXTSERVICEPROPERTY. Избегайте использования этого свойства.

FULLTEXTSERVICEPROPERTY('DataTimeout')

Обнаружено свойство DataTimeout функции FULLTEXTSERVICEPROPERTY. Избегайте использования этого свойства.

FULLTEXTSERVICEPROPERTY('ResourceUsage')

Обнаружено свойство ResourceUsage функции FULLTEXTSERVICEPROPERTY. Избегайте использования этого свойства.

GROUP BY ALL

Общее число использования синтаксиса GROUP BY ALL. Измените синтаксис для группирования по определенным таблицам.

Hindi

Событие происходит один раз на каждый запуск базы данных и один раз на каждое применение этого параметра сортировки. Запланируйте изменение приложений, использующих этот параметр сортировки. Вместо него используется Indic_General_90.

Табличные подсказки HOLDLOCK без скобок

IDENTITYCOL

Обнаружен синтаксис INDENTITYCOL. Перепишите инструкции для использования синтаксиса $identity. Происходит один раз на каждую компиляцию.

Список выбора индексированного представления без COUNT_BIG(*)

Список выбора статистического индексированного представления должен содержать COUNT_BIG (*) в режиме совместимости 90.

INDEX_OPTION

Обнаружен синтаксис CREATE TABLE, ALTER TABLE или CREATE INDEX с параметрами, не заключенными в скобки. Перепишите инструкции для использования текущего синтаксиса. Происходит один раз для каждого запроса.

INDEXKEY_PROPERTY

Обнаружен синтаксис INDEXKEY_PROPERTY. Перепишите инструкции так, чтобы в них использовался запрос к sys.index_columns. Происходит один раз на каждую компиляцию.

Косвенные подсказки возвращающих табличное значение функций.

Косвенное применение через представление табличных подсказок для вызова многооператорных возвращающих табличное значение функций будет исключено из будущей версии SQL Server.

Вставка значения NULL в столбцы TIMESTAMP

В столбец TIMESTAMP вставлено значение NULL. Используйте значение по умолчанию. Происходит один раз на каждую компиляцию.

INSERT_HINTS

Korean_Wansung_Unicode

Событие происходит один раз на каждый запуск базы данных и один раз на каждое применение этого параметра сортировки. Запланируйте изменение приложений, использующих этот параметр сортировки.

Lithuanian_Classic

Событие происходит один раз на каждый запуск базы данных и один раз на каждое применение этого параметра сортировки. Запланируйте изменение приложений, использующих этот параметр сортировки.

Macedonian

Событие происходит один раз на каждый запуск базы данных и один раз на каждое применение этого параметра сортировки. Запланируйте изменение приложений, использующих этот параметр сортировки. Используйте Macedonian_FYROM_90.

MODIFY FILEGROUP READONLY

Обнаружен синтаксис MODIFY FILEGROUP READONLY. Перепишите инструкции для использования синтаксиса READ_ONLY. Происходит один раз на каждую компиляцию.

MODIFY FILEGROUP READWRITE

Обнаружен синтаксис MODIFY FILEGROUP READWRITE. Перепишите инструкции для использования синтаксиса READ_WRITE. Происходит один раз на каждую компиляцию.

Имя столбца, состоящее более чем из двух компонентов

Запрос использовал 3- или 4-компонентное имя в списке столбцов. Измените запрос для использования стандартных 2-компонентных имен. Происходит один раз на каждую компиляцию.

Несколько табличных подсказок без запятых

Между табличными подсказками в качестве разделителя использовался пробел. Вместо него используйте запятую. Происходит один раз на каждую компиляцию.

NOLOCK или READUNCOMMITTED в инструкции UPDATE или DELETE

В предложении FROM инструкции UPDATE или DELETE обнаружены подсказки NOLOCK или READUNCOMMITTED. Удалите табличные подсказки NOLOCK и READUNCOMMITTED из предложения FROM.

Не совместимые с ANSI операторы внешнего соединения «*=» или «=*»

Обнаружена инструкция, использующая синтаксис соединения «*=» или «=*». Перепишите инструкции для использования синтаксиса соединения, совместимого с ANSI. Происходит один раз на каждую компиляцию.

numbered_stored_procedures

numbered_procedure_parameters

Обнаружены ссылки на устаревшую процедуру sys.numbered_procedure_parameters. Не используйте. Происходит один раз на каждую компиляцию.

numbered_procedures

Обнаружены ссылки на устаревшую процедуру sys.numbered_procedures. Не используйте. Происходит один раз на каждую компиляцию.

Устаревший формат RAISEERROR

Устаревший синтаксис RAISERROR (формат: RAISERROR integer string). Перепишите инструкции для использования текущего синтаксиса RAISERROR. Происходит один раз на каждую компиляцию.

OLEDB для нерегламентированных соединений

Поставщик SQLOLEDB не поддерживается. Используйте собственный клиент SQL Server для нерегламентированных соединений.

PERMISSIONS

Обнаружены ссылки на встроенную функцию PERMISSIONS. Вместо этого отправить запрос sys.fn_my_permissions. Происходит один раз для каждого запроса.

ProcNums

Обнаружен устаревший синтаксис ProcNums. Перепишите инструкции, чтобы удалить эти ссылки. Происходит один раз на каждую компиляцию.

READTEXT

Обнаружен синтаксис READTEXT. Перепишите приложения, чтобы использовался тип данных varchar(max), и удалите тип данных text. Происходит один раз для каждого запроса.

RESTORE DATABASE или LOG WITH DBO_ONLY

Обнаружен синтаксис RESTORE … WITH DBO_ONLY. Используйте вместо него RESTORE … RESTRICTED_USER.

RESTORE DATABASE или LOG WITH MEDIAPASSWORD

Обнаружен синтаксис RESTORE … WITH MEDIAPASSWORD. Параметр WITH MEDIAPASSWORD не обеспечивает должную безопасность, поэтому его следует удалить.

RESTORE DATABASE или LOG WITH PASSWORD

Обнаружен синтаксис RESTORE … WITH PASSWORD. Параметр WITH PASSWORD не обеспечивает должную безопасность, поэтому его следует удалить.

Возвращение результатов из триггера

Это событие происходит один раз на каждый вызов триггера. Перепишите триггер таким образом, чтобы он не возвращал результирующий набор.

ROWGUIDCOL

Обнаружен синтаксис ROWGUIDCOL. Перепишите инструкции для использования синтаксиса $rowguid. Происходит один раз на каждую компиляцию.

SET ANSI_NULLS OFF

Обнаружен синтаксис SET ANSI_NULLS OFF. Удалите этот устаревший синтаксис. Происходит один раз на каждую компиляцию.

SET ANSI_PADDING OFF

Обнаружен синтаксис SET ANSI_PADDING OFF. Удалите этот устаревший синтаксис. Происходит один раз на каждую компиляцию.

SET CONCAT_NULL_YIELDS_NULL OFF

Обнаружен синтаксис SET CONCAT_NULL_YIELDS_NULL OFF. Удалите этот устаревший синтаксис. Происходит один раз на каждую компиляцию.

SET DISABLE_DEF_CNST_CHK

Обнаружен синтаксис SET DISABLE_DEF_CNST_CHK. Не действует. Удалите этот устаревший синтаксис. Происходит один раз на каждую компиляцию.

SET OFFSETS

Обнаружен синтаксис SET OFFSETS. Удалите этот устаревший синтаксис. Происходит один раз на каждую компиляцию.

SET REMOTE_PROC_TRANSACTIONS

Обнаружен синтаксис SET REMOTE_PROC_TRANSACTIONS. Удалите этот устаревший синтаксис. Пользуйтесь вместо этого связанными серверами и хранимой процедурой sp_serveroption.

SET ROWCOUNT

В инструкции DELETE, INSERT или UPDATE обнаружен синтаксис SET ROWCOUNT. Перепишите инструкцию, используя TOP. Происходит один раз на каждую компиляцию.

SETUSER

Обнаружена инструкция SET USER. Вместо нее используйте инструкцию EXECUTE AS. Происходит один раз для каждого запроса.

sp_addapprole

Обнаружена процедура sp_addapprole. Пользуйтесь вместо этого инструкцией CREATE APPLICATION ROLE. Происходит один раз для каждого запроса.

sp_addextendedproc

Обнаружена процедура sp_addextendedproc. Пользуйтесь вместо этого средой CLR. Происходит один раз на каждую компиляцию.

sp_addlogin

Обнаружена процедура sp_addlogin. Пользуйтесь вместо этого инструкцией CREATE LOGIN. Происходит один раз для каждого запроса.

sp_addremotelogin

Обнаружена процедура sp_addremotelogin. Вместо нее используйте связанные серверы.

sp_addrole

Обнаружена процедура sp_addrole. Пользуйтесь вместо этого инструкцией CREATE ROLE. Происходит один раз для каждого запроса.

sp_addserver

Обнаружена процедура sp_addserver. Вместо нее используйте связанные серверы.

sp_addtype

Обнаружена процедура sp_addtype. Пользуйтесь вместо этого инструкцией CREATE TYPE. Происходит один раз на каждую компиляцию.

sp_adduser

Обнаружена процедура sp_adduser. Пользуйтесь вместо этого инструкцией CREATE USER. Происходит один раз для каждого запроса.

sp_approlepassword

Обнаружена процедура sp_approlepassword. Пользуйтесь вместо этого инструкцией ALTER APPLICATION ROLE. Происходит один раз для каждого запроса.

sp_attach_db

Обнаружена процедура sp_attach_db. Вместо нее используйте CREATE DATABASE FOR ATTACH. Происходит один раз для каждого запроса.

sp_attach_single_file_db

Обнаружена процедура sp_single_file_db. Вместо нее используйте CREATE DATABASE FOR ATTACH_REBUILD_LOG. Происходит один раз для каждого запроса.

sp_bindefault

Обнаружена процедура sp_bindefault. Вместо нее используйте ключевое слово DEFAULT инструкции ALTER TABLE или CREATE TABLE. Происходит один раз на каждую компиляцию.

sp_bindrule

Обнаружена процедура sp_bindrule. Вместо нее используйте проверочные ограничения. Происходит один раз на каждую компиляцию.

sp_bindsession

Обнаружена процедура sp_bindsession. Вместо нее используйте режим MARS или распределенные транзакции. Происходит один раз на каждую компиляцию.

sp_certify_removable

Обнаружена процедура sp_certify_removable. Пользуйтесь вместо этого инструкцией sp_detach_db. Происходит один раз для каждого запроса.

sp_changeobjectowner

Обнаружена процедура sp_changeobjectowner. Вместо нее используйте ALTER SCHEMA или ALTER AUTHORIZATION. Происходит один раз для каждого запроса.

sp_change_users_login

Обнаружена процедура sp_change_users_login. Пользуйтесь вместо этого инструкцией ALTER USER. Происходит один раз для каждого запроса.

sp_configure 'allow updates'

Обнаружен параметр «allow updates» хранимой процедуры sp_configure. Системные таблицы теперь недоступны для обновления. Не используйте. Происходит один раз для каждого запроса.

sp_configure 'disallow results from triggers'

Обнаружен параметр «disallow result sets from triggers» хранимой процедуры sp_configure. Чтобы запретить триггерам возвращать результирующие наборы, с помощью хранимой процедуры sp_configure можно присвоить этому параметру значение 1. Происходит один раз для каждого запроса.

sp_configure 'ft crawl bandwidth (max)'

Обнаружен параметр ft crawl bandwidth (max) хранимой процедуры sp_configure. Не используйте. Происходит один раз для каждого запроса.

sp_configure 'ft crawl bandwidth (min)'

Обнаружен параметр ft crawl bandwidth (min) хранимой процедуры sp_configure. Не используйте. Происходит один раз для каждого запроса.

sp_configure 'ft notify bandwidth (max)'

Обнаружен параметр «ft notify bandwidth (max)» хранимой процедуры sp_configure. Не используйте. Происходит один раз для каждого запроса.

sp_configure 'ft notify bandwidth (min)'

Обнаружен параметр «ft notify bandwidth (min)» хранимой процедуры sp_configure. Не используйте. Происходит один раз для каждого запроса.

sp_configure 'locks'

Обнаружен параметр «locks» хранимой процедуры sp_configure. Блокировки больше не настраиваются. Не используйте. Происходит один раз для каждого запроса.

sp_configure 'open objects'

Обнаружен параметр «open objects» хранимой процедуры sp_configure. Количество открытых объектов больше не настраивается. Не используйте. Происходит один раз для каждого запроса.

sp_configure 'priority boost'

Обнаружен параметр «priority boost» хранимой процедуры sp_configure. Не используйте. Происходит один раз для каждого запроса. Вместо этого используйте команду start /high … program.exe.

sp_configure 'remote proc trans'

Обнаружен параметр «remote proc trans» хранимой процедуры sp_configure. Не используйте. Происходит один раз для каждого запроса.

sp_configure 'set working set size'

Обнаружен параметр «set working set size» хранимой процедуры sp_configure. Размер рабочего множества больше не настраивается. Не используйте. Происходит один раз для каждого запроса.

sp_create_removable

Обнаружена процедура sp_create_removable. Вместо нее используйте инструкцию CREATE DATABASE. Происходит один раз для каждого запроса.

sp_db_vardecimal_storage_format

Обнаружено использование формата хранения vardecimal. Используйте вместо него сжатие данных.

sp_dbcmptlevel

Обнаружена процедура sp_dbcmptlevel. Вместо нее используйте инструкцию ALTER DATABASE … SET COMPATIBILITY_LEVEL. Происходит один раз для каждого запроса.

sp_dbfixedrolepermission

Обнаружена процедура sp_dbfixedrolepermission. Не используйте. Происходит один раз для каждого запроса.

sp_dboption

Обнаружена процедура sp_dboption. Вместо этого следует использовать инструкции ALTER DATABASE и DATABASEPROPERTYEX. Происходит один раз на каждую компиляцию.

sp_dbremove

Обнаружена процедура sp_dbremove. Вместо этого используйте инструкцию DROP DATABASE. Происходит один раз для каждого запроса.

sp_defaultdb

Обнаружена процедура sp_defaultdb. Пользуйтесь вместо этого инструкцией ALTER LOGIN. Происходит один раз на каждую компиляцию.

sp_defaultlanguage

Обнаружена процедура sp_defaultlanguage. Пользуйтесь вместо этого инструкцией ALTER LOGIN. Происходит один раз на каждую компиляцию.

sp_denylogin

Обнаружена процедура sp_denylogin. Вместо нее используйте инструкцию ALTER LOGIN DISABLE. Происходит один раз для каждого запроса.

sp_depends

Обнаружена процедура sp_depends. Используйте вместо этого sys.dm_sql_referencing_entities и sys.dm_sql_referenced_entities. Происходит один раз для каждого запроса.

sp_detach_db @keepfulltextindexfile

Был обнаружен аргумент @keepfulltextindexfile в инструкции sp_detach_db. Не используйте этот аргумент.

sp_dropalias

Обнаружена процедура sp_dropalias. Псевдонимы заменены сочетанием учетных записей пользователей и ролями базы данных. Удалите псевдонимы в обновленных базах данных с помощью хранимой процедуры sp_dropalias. Происходит один раз на каждую компиляцию.

sp_dropapprole

Обнаружена процедура sp_dropapprole. Пользуйтесь вместо этого инструкцией DROP APPLICATION ROLE. Происходит один раз для каждого запроса.

sp_dropextendedproc

Обнаружена процедура sp_dropextendedproc. Пользуйтесь вместо этого средой CLR. Происходит один раз на каждую компиляцию.

sp_droplogin

Обнаружена процедура sp_droplogin. Пользуйтесь вместо этого инструкцией DROP LOGIN. Происходит один раз для каждого запроса.

sp_dropremotelogin

Обнаружена процедура sp_dropremotelogin. Вместо нее используйте связанные серверы.

sp_droprole

Обнаружена процедура sp_droprole. Пользуйтесь вместо этого инструкцией DROP ROLE. Происходит один раз для каждого запроса.

sp_droptype

Обнаружена процедура sp_droptype. Пользуйтесь вместо этого инструкцией DROP TYPE.

sp_dropuser

Обнаружена процедура sp_dropuser. Пользуйтесь вместо этого инструкцией DROP USER. Происходит один раз для каждого запроса.

sp_estimated_rowsize_reduction_for_vardecimal

Обнаружено использование формата хранения vardecimal. Пользуйтесь вместо этого сжатием данных и хранимой процедурой sp_estimate_data_compression_savings.

sp_fulltext_catalog

Обнаружена процедура sp_fulltext_catalog. Вместо нее используйте инструкцию CREATE/ALTER/DROP FULLTEXT CATALOG. Происходит один раз на каждую компиляцию.

sp_fulltext_column

Обнаружена процедура sp_fulltext_column. Пользуйтесь вместо этого инструкцией ALTER INDEX. Происходит один раз на каждую компиляцию.

sp_fulltext_database

Обнаружена процедура sp_fulltext_database. Пользуйтесь вместо этого инструкцией ALTER DATABASE. Происходит один раз на каждую компиляцию.

sp_fulltext_service @action=clean_up

Обнаружен параметр clean_up процедуры sp_fulltext_service. Происходит один раз для каждого запроса.

sp_fulltext_service @action=connect_timeout

Обнаружен параметр connect_timeout процедуры sp_fulltext_service. Происходит один раз для каждого запроса.

sp_fulltext_service @action=data_timeout

Обнаружен параметр data_timeout процедуры sp_fulltext_service. Происходит один раз для каждого запроса.

sp_fulltext_service @action=resource_usage

Обнаружен параметр resource_usage процедуры sp_fulltext_service. Этот параметр не действует. Происходит один раз для каждого запроса.

sp_fulltext_table

Обнаружена процедура sp_fulltext_table. Вместо нее используйте инструкцию CREATE/ALTER/DROP FULLTEXT INDEX. Происходит один раз на каждую компиляцию.

sp_getbindtoken

Обнаружена процедура sp_getbindtoken. Вместо нее используйте режим MARS или распределенные транзакции. Происходит один раз на каждую компиляцию.

sp_grantdbaccess

Обнаружена процедура sp_grantdbaccess. Пользуйтесь вместо этого инструкцией CREATE USER. Происходит один раз для каждого запроса.

sp_grantlogin

Обнаружена процедура sp_grantlogin. Пользуйтесь вместо этого инструкцией CREATE LOGIN. Происходит один раз для каждого запроса.

sp_help_fulltext_catalog_components

Обнаружена процедура sp_help_fulltext_catalog_components. Эта процедура возвращает пустые строки. Не используйте эту процедуру. Происходит один раз на каждую компиляцию.

sp_help_fulltext_catalogs

Обнаружена процедура sp_help_fulltext_catalogs. Пользуйтесь вместо этого sys.fulltext_catalogs . Происходит один раз на каждую компиляцию.

sp_help_fulltext_catalogs_cursor

Обнаружена процедура sp_help_fulltext_catalogs_cursor. Вместо этого отправить запрос sys.fulltext_catalogs. Происходит один раз на каждую компиляцию.

sp_help_fulltext_columns

Обнаружена процедура sp_help_fulltext_columns. Вместо этого отправить запрос sys.fulltext_index_columns. Происходит один раз на каждую компиляцию.

sp_help_fulltext_columns_cursor

Обнаружена процедура sp_help_fulltext_columns_cursor. Вместо этого отправить запрос sys.fulltext_index_columns. Происходит один раз на каждую компиляцию.

sp_help_fulltext_tables

Обнаружена процедура sp_help_fulltext_tables. Вместо этого отправить запрос sys.fulltext_indexes. Происходит один раз на каждую компиляцию.

sp_help_fulltext_tables_cursor

Обнаружена процедура sp_help_fulltext_tables_cursor. Вместо этого отправить запрос sys.fulltext_indexes. Происходит один раз на каждую компиляцию.

sp_helpdevice

Обнаружена процедура sp_helpdevice. Вместо этого отправить запрос sys.backup_devices. Происходит один раз для каждого запроса.

sp_helpextendedproc

Обнаружена процедура sp_helpextendedproc. Пользуйтесь вместо этого средой CLR. Происходит один раз на каждую компиляцию.

sp_helpremotelogin

Обнаружена процедура sp_helpremotelogin. Вместо нее используйте связанные серверы.

sp_indexoption

Обнаружена процедура sp_indexoption. Пользуйтесь вместо этого инструкцией ALTER INDEX. Происходит один раз на каждую компиляцию.

sp_lock

Обнаружена процедура sp_lock. Вместо этого отправить запрос sys.dm_tran_locks. Происходит один раз для каждого запроса.

sp_password

Обнаружена процедура sp_password . Пользуйтесь вместо этого инструкцией ALTER LOGIN. Происходит один раз для каждого запроса.

sp_remoteoption

Обнаружена процедура sp_remoteoption. Вместо нее используйте связанные серверы.

sp_renamedb

Обнаружена процедура sp_renamedb. Пользуйтесь вместо этого инструкцией ALTER DATABASE. Происходит один раз для каждого запроса.

sp_resetstatus

Обнаружена процедура sp_resetstatus. Пользуйтесь вместо этого инструкцией ALTER DATABASE. Происходит один раз для каждого запроса.

sp_revokedbaccess

Обнаружена процедура sp_revokedbaccess. Пользуйтесь вместо этого инструкцией DROP USER. Происходит один раз для каждого запроса.

sp_revokelogin

Обнаружена процедура sp_revokelogin. Пользуйтесь вместо этого инструкцией DROP LOGIN. Происходит один раз для каждого запроса.

sp_srvrolepermission

Обнаружена устаревшая хранимая процедура sp_srvrolepermission. Не используйте. Происходит один раз для каждого запроса.

sp_unbindefault

Обнаружена процедура sp_unbindefault. Вместо нее используйте ключевое слово DEFAULT инструкции ALTER TABLE или CREATE TABLE. Происходит один раз на каждую компиляцию.

sp_unbindrule

Обнаружена процедура sp_unbindrule. Используйте проверочные ограничения вместо правил. Происходит один раз на каждую компиляцию.

SQL_AltDiction_CP1253_CS_AS

Событие происходит один раз на каждый запуск базы данных и один раз на каждое применение этого параметра сортировки. Запланируйте изменение приложений, использующих этот параметр сортировки.

Строковые литералы в качестве псевдонимов столбцов

Обнаружен синтаксис, содержащий строку, которая используется в качестве псевдонима столбца в инструкции SELECT, например 'string' = expression. Не используйте. Происходит один раз на каждую компиляцию.

sys.sql_dependencies

Обнаружены ссылки на представление sys.sql_dependencies. Пользуйтесь вместо этого представлением каталога sys.sql_expression_dependencies. Происходит один раз на каждую компиляцию.

sysaltfiles

Обнаружены ссылки на sysaltfiles. Пользуйтесь вместо этого sys.master_files. Происходит один раз на каждую компиляцию.

syscacheobjects

Обнаружены ссылки на syscacheobjects. Пользуйтесь вместо этого sys.dm_exec_cached_plans, sys.dm_exec_plan_attributes и sys.dm_exec_sql_text. Происходит один раз на каждую компиляцию.

syscolumns

Обнаружены ссылки на syscolumns . Пользуйтесь вместо этого представлением sys.columns. Происходит один раз на каждую компиляцию.

syscomments

Обнаружены ссылки на syscomments. Пользуйтесь вместо этого sys.sql_modules. Происходит один раз на каждую компиляцию.

sysconfigures

Обнаружены ссылки на таблицу sysconfigures. Пользуйтесь вместо этого представлением sys.sysconfigures. Происходит один раз на каждую компиляцию.

sysconstraints

Обнаружены ссылки на sysconstraints. Пользуйтесь вместо этого sys.check_constraints, sys.default_constraints или sys.key_constraints, sys.foreign_keys. Происходит один раз на каждую компиляцию.

syscurconfigs

Обнаружены ссылки на syscurconfigs. Пользуйтесь вместо этого представлением sys.configurations. Происходит один раз на каждую компиляцию.

sysdatabases

Обнаружены ссылки на sysdatabases. Пользуйтесь вместо этого представлением sys.databases. Происходит один раз на каждую компиляцию.

sysdepends

Обнаружены ссылки на sysdepends. Пользуйтесь вместо этого представлением sys.sql_dependencies. Происходит один раз на каждую компиляцию.

sysdevices

Обнаружены ссылки на sysdevices . Пользуйтесь вместо этого представлением sys.backup_devices. Происходит один раз на каждую компиляцию.

sysfilegroups

Обнаружены ссылки на sysfilegroups. Пользуйтесь вместо этого представлением sys.filegroups. Происходит один раз на каждую компиляцию.

sysfiles

Обнаружены ссылки на sysfiles. Пользуйтесь вместо этого представлением sys.database_files. Происходит один раз на каждую компиляцию.

sysforeignkeys

Обнаружены ссылки на sysforeignkeys. Пользуйтесь вместо этого представлением sys.foreign_keys. Происходит один раз на каждую компиляцию.

sysfulltextcatalogs

Обнаружены ссылки на sysfulltextcatalogs. Пользуйтесь вместо этого представлением sys.fulltext_catalogs. Происходит один раз на каждую компиляцию.

sysindexes

Обнаружены ссылки на sysindexes. Пользуйтесь вместо этого sys.indexes, sys.partitions, sys.allocation_units и sys.dm_db_partition_stats. Происходит один раз на каждую компиляцию.

sysindexkeys

Обнаружены ссылки на sysindexkeys. Пользуйтесь вместо этого представлением sys.index_columns. Происходит один раз на каждую компиляцию.

syslockinfo

Обнаружены ссылки на syslockinfo. Пользуйтесь вместо этого представлением sys.dm_tran_locks. Происходит один раз на каждую компиляцию.

syslogins

Обнаружены ссылки на syslogins. Пользуйтесь вместо этого sys.server_principals и sys.sql_logins. Происходит один раз на каждую компиляцию.

sysmembers

Обнаружены ссылки на sysmembers. Пользуйтесь вместо этого представлением sys.database_role_members. Происходит один раз на каждую компиляцию.

sysmessages

Обнаружены ссылки на sysmessages. Пользуйтесь вместо этого представлением sys.messages. Происходит один раз на каждую компиляцию.

sysobjects

Обнаружены ссылки на sysobjects. Пользуйтесь вместо этого представлением sys.objects. Происходит один раз на каждую компиляцию.

sysoledbusers

Обнаружены ссылки на sysoledbusers. Пользуйтесь вместо этого представлением sys.linked_logins. Происходит один раз на каждую компиляцию.

sysopentapes

Обнаружены ссылки на sysopentapes. Пользуйтесь вместо этого представлением sys.dm_io_backup_tapes. Происходит один раз на каждую компиляцию.

sysperfinfo

Обнаружены ссылки на sysperfinfo. Пользуйтесь вместо этого представлением sys.dm_os_performance_counters. Происходит один раз на каждую компиляцию.

syspermissions

Обнаружены ссылки на syspermissions. Пользуйтесь вместо этого sys.database_permissions и sys.server_permissions. Происходит один раз на каждую компиляцию.

sysprocesses

Обнаружены ссылки на sysprocesses. Пользуйтесь вместо этого sys.dm_exec_connections, sys.dm_exec_sessions, и sys.dm_exec_requests. Происходит один раз на каждую компиляцию.

sysprotects

Обнаружены ссылки на sysprotects. Пользуйтесь вместо этого sys.database_permissions и sys.server_permissions. Происходит один раз на каждую компиляцию.

sysreferences

Обнаружены ссылки на sysreferences. (в этом случае указывается аргумент sys.foreign_keys ). Происходит один раз на каждую компиляцию.

sysremotelogins

Обнаружены ссылки на sysremotelogins. Пользуйтесь вместо этого представлением sys.remote_logins. Происходит один раз на каждую компиляцию.

sysservers

Обнаружены ссылки на sysservers. Пользуйтесь вместо этого представлением sys.servers. Происходит один раз на каждую компиляцию.

systypes

Обнаружены ссылки на systypes. Пользуйтесь вместо этого представлением sys.types. Происходит один раз на каждую компиляцию.

sysusers

Обнаружены ссылки на sysusers. Пользуйтесь вместо этого представлением sys.database_principals. Происходит один раз на каждую компиляцию.

Табличная подсказка без ключевого слова WITH.

Обнаружена инструкция, использующая табличную подсказку без ключевого слова WITH. Измените инструкции так, чтобы они содержали ключевое слово WITH. Происходит один раз на каждую компиляцию.

Параметр таблицы «text in row»

Обнаружены ссылки на параметр таблицы «text in row». Пользуйтесь вместо этого параметром хранимой процедуры sp_tableoption «large value types out of row». Происходит один раз для каждого запроса.

TEXTPTR

Обнаружены ссылки на функцию TEXTPTR. Перепишите приложения, чтобы использовался тип данных varchar(max), и удалите типы данных text, ntext и image. Происходит один раз для каждого запроса.

TEXTVALID

Обнаружены ссылки на функцию TEXTVALID. Перепишите приложения, чтобы использовался тип данных varchar(max), и удалите типы данных text, ntext и image. Происходит один раз для каждого запроса.

TIMESTAMP

Общее число вхождений устаревшего типа данных timestamp, обнаруженных в DDL-инструкции. Вместо этого пользуйтесь типом данных rowversion.

UPDATETEXT или WRITETEXT

Обнаружена инструкция UPDATETEXT или WRITETEXT. Перепишите приложения, чтобы использовался тип данных varchar(max), и удалите типы данных text, ntext и image. Происходит один раз для каждого запроса.

USER_ID

Обнаружены ссылки на функцию USER_ID. Вместо этого используйте функцию DATABASE_PRINCIPAL_ID. Происходит один раз на каждую компиляцию.

Использование OLEDB для связанных серверов

Формат хранения vardecimal

Обнаружено использование формата хранения vardecimal. Используйте вместо него сжатие данных.

XMLDATA

Обнаружен синтаксис FOR XML. Используйте создание схем XSD для режимов RAW и AUTO. Для явного режима нет замены. Происходит один раз на каждую компиляцию.

XP_API

Обнаружена инструкция расширенной хранимой процедуры. Не используйте.

xp_grantlogin

Обнаружена процедура xp_grantlogin. Пользуйтесь вместо этого инструкцией CREATE LOGIN. Происходит один раз на каждую компиляцию.

xp_loginconfig

Обнаружена процедура xp_loginconfig. Вместо нее используйте аргумент IsIntegratedSecurityOnly функции SERVERPROPERTY. Происходит один раз для каждого запроса.

xp_revokelogin

Обнаружена процедура xp_revokelogin. Вместо нее используйте инструкцию ALTER LOGIN DISABLE DROP LOGIN. Происходит один раз на каждую компиляцию.