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