SQL Server, объект устаревших функций
Объект SQLServer:Deprecated Features в SQL Server предоставляет счетчик для отслеживания устаревших функций. В каждом случае этот счетчик использования подсчитывает, сколько раз обнаружены устаревшие функции с момента последнего запуска SQL Server.
В следующей таблице приводятся описания экземпляров счетчика SQL Server Deprecated Features.
Экземпляры счетчика SQL Server Deprecated Features |
Описание |
---|---|
Символы «#» и «##» в качестве имен временных таблиц и хранимых процедур |
Обнаружен идентификатор, не содержащий других символов, кроме #. Используйте по крайней мере один дополнительный символ. Происходит один раз на каждую компиляцию. |
синтаксис вызова функции «::» |
Обнаружен синтаксис вызова функции «::» для возвращающей табличное значение функции. Замените инструкцией SELECT column_list FROM < имя_функции>(). Например, замените 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. Не используйте. Происходит один раз для каждого запроса. |
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». Вместо этого используйте хранимую процедуру 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. Происходит один раз на каждую компиляцию. |
См. также