Поделиться через


SQL Server, объект Deprecated Features

Объект 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_MIRRORING

Обнаружены ссылки на функцию зеркального отображения базы данных. Рассмотрите возможность перехода на использование групп доступности AlwaysOn либо, если ваш выпуск SQL Server не поддерживает группы доступности AlwaysOn, возможность перехода на использование доставки журналов.

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 в качестве значения по умолчанию. Не используйте. Происходит один раз на каждую компиляцию.

Устаревший алгоритм шифрования

Устаревший алгоритм шифрования rc4 в следующей версии SQL Server будет удален. Избегайте использования этой функции в новых разработках и запланируйте изменение приложений, которые сейчас ее используют. Алгоритм RC4 является слабым и поддерживается только в целях обратной совместимости. Когда база данных имеет уровень совместимости 90 или 100, новые материалы могут шифроваться только с помощью алгоритмов RC4 или RC4_128. (Не рекомендуется.) Используйте вместо этого более новые алгоритмы, например AES. В SQL Server 2012 материалы, зашифрованные с помощью алгоритмов RC4 или RC4_128, могут быть расшифрованы на любом уровне совместимости.

Алгоритм 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-веб-службы устарели. Вместо этого следует использовать технологию WCF (Windows Communications Foundation) или 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.

INSERT 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 FMTONLY ON

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

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. Не используйте. Происходит один раз для каждого запроса. Используйте вместо него параметр Windows 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 FULLTEXT 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». Вместо этого используйте параметр large value types out of row хранимой процедуры sp_tableoption. Происходит один раз для каждого запроса.

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. Происходит один раз на каждую компиляцию.

См. также

Справочник

Устаревшие функции компонента Database Engine в SQL Server 2012

Устаревшие функции полнотекстового поиска в SQL Server 2012

Класс событий Deprecation Announcement

Класс событий Deprecation Final Support

Неподдерживаемые функции ядра СУБД в SQL Server 2012

Неподдерживаемые функции полнотекстового поиска в SQL Server 2012

Использование объектов SQL Server