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