Fonctionnalités dépréciées du moteur de base de données dans SQL Server 2017 (14.x)

S’applique à : SQL Server 2017 (14.x) et versions plus récentes

Cet article décrit les fonctionnalités Moteur de base de données SQL Server dépréciées qui sont toujours disponibles dans SQL Server 2017 (14.x). Les fonctionnalités dépréciées ne doivent pas être utilisées dans de nouvelles applications.

Quand une fonctionnalité est marquée comme étant dépréciée, cela signifie que :

  • La fonctionnalité est en mode de maintenance uniquement. Aucune nouvelle modification ne sera ajoutée, notamment aucune modification liée à l’interopérabilité avec de nouvelles fonctionnalités.
  • Nous nous efforçons de ne pas retirer une fonctionnalité dépréciée des futures versions pour faciliter les mises à niveau. Cependant, dans de rares cas, nous pouvons décider d’arrêter (supprimer) définitivement une fonctionnalité de SQL Server si elle limite des innovations futures.
  • Pour les nouveaux travaux de développement, n’utilisez pas de fonctionnalités dépréciées. Pour les applications existantes, prévoyez de modifier dès que possible celles qui utilisent actuellement ces fonctionnalités.

Vous pouvez surveiller l'utilisation de fonctionnalités déconseillées à l'aide du compteur de performance Objet SQL Server Fonctionnalités déconseillées et des événements de suivi. Pour plus d’informations, consultez Utiliser des objets SQL Server.

Vous pouvez également obtenir les valeurs de ces compteurs en exécutant l’instruction suivante :

SELECT * FROM sys.dm_os_performance_counters   
WHERE object_name LIKE '%SQL%Deprecated Features%';  

Notes

Cette liste est identique à la liste SQL Server 2016 (13.x). Aucune nouvelle fonctionnalité du moteur de base de données supprimée ou dépréciée n’a été annoncée pour SQL Server 2017 (14.x).

Fonctionnalités dépréciées dans la prochaine version de SQL Server

Les fonctionnalités suivantes du Moteur de base de données SQL Server ne seront plus prises en charge dans une version future de SQL Server. Évitez d’utiliser ces fonctionnalités dans vos nouveaux développements et modifiez dès que possible les applications qui y ont recours. La valeur Nom de la fonctionnalité apparaît dans les événements de trace comme ObjectName et dans les compteurs de performance et sys.dm_os_performance_counters comme nom d’instance. La valeur de l’ ID de la fonctionnalité apparaît dans les événements de suivi comme ObjectId.

Sauvegarde et restauration

Fonctionnalité déconseillée Remplacement Nom de la fonctionnalité ID de la fonctionnalité
RESTORE { DATABASE | LOG} WITH [MEDIA]PASSWORD est toujours déconseillé.

BACKUP { DATABASE | LOG } WITH PASSWORD et BACKUP { DATABASE | LOG } WITH MEDIAPASSWORD ont été retirés.
Aucun. BACKUP DATABASE ou LOG WITH PASSWORD

BACKUP DATABASE ou LOG WITH MEDIAPASSWORD
104

103

Niveaux de compatibilité

Fonctionnalité déconseillée Remplacement Nom de la fonctionnalité ID de la fonctionnalité
Mise à niveau à partir de la version 100 (SQL Server 2008 (10.0.x) et SQL Server 2008 R2 (10.50.x)). Quand la prise en charge d’une version de SQL Server prend fin, le niveau de compatibilité de base de données associé est marqué comme étant déprécié. Cependant, nous continuons le plus longtemps possible d’assurer le support des applications certifiées sur tous les niveaux de compatibilité de base de données pris en charge de façon à faciliter la mise à niveau. Pour plus d’informations sur les niveaux de compatibilité, consultez Niveau de compatibilité ALTER DATABASE (Transact-SQL). Niveau de compatibilité 100 de la base de données 108

Objets de base de données

Fonctionnalité déconseillée Remplacement Nom de la fonctionnalité ID de la fonctionnalité
Possibilité de retourner les jeux de résultats à partir de déclencheurs None Le déclencheur retourne des résultats 12

Chiffrement

Fonctionnalité déconseillée Remplacement Nom de la fonctionnalité ID de la fonctionnalité
Le chiffrement à l'aide de RC4 ou RC4_128 est déconseillé et est planifié pour être supprimé dans la prochaine version. Les déchiffrements de RC4 et RC4_128 ne sont pas dépréciés. Utilisez un autre algorithme de chiffrement, par exemple AES. Algorithme de chiffrement déconseillé 253
L’utilisation de MD2, MD4, MD5, SHA et SHA-1 est dépréciée. Utilisez SHA2_256 ou SHA2_512 à la place. Des algorithmes plus anciens continuent de fonctionner, mais ils déclenchent un événement de dépréciation. Algorithme de hachage déconseillé None

Serveurs distants

Fonctionnalité déconseillée Remplacement Nom de la fonctionnalité ID de la fonctionnalité
sp_addremotelogin

sp_addserver

sp_dropremotelogin

sp_helpremotelogin

sp_remoteoption
Remplacez les serveurs distants à l'aide de serveurs liés. sp_addserver ne peut être utilisé qu’avec l’option « local ». sp_addremotelogin

sp_addserver

sp_dropremotelogin

sp_helpremotelogin

sp_remoteoption
70

69

71

72

73
@@remserver Remplacez les serveurs distants à l'aide de serveurs liés. None None
SET REMOTE_PROC_TRANSACTIONS Remplacez les serveurs distants à l'aide de serveurs liés. SET REMOTE_PROC_TRANSACTIONS 110

Transact-SQL

Fonctionnalité déconseillée Remplacement Nom de la fonctionnalité ID de la fonctionnalité
SET ROWCOUNT pour les instructions INSERT, UPDATEet DELETE Mot clé TOP SET ROWCOUNT 109
Indicateur de table HOLDLOCK sans parenthèses. Utilisez HOLDLOCK avec la parenthèse. Indicateur de table HOLDLOCK sans parenthèses 167

Fonctionnalités dépréciées dans une future version de SQL Server

Les fonctionnalités du moteur de base de données SQL Server décrites ci-dessous sont prises en charge dans la prochaine version de SQL Server. La version spécifique de SQL Server n’a pas été déterminée.

Sauvegarde et restauration

Fonctionnalité déconseillée Remplacement Nom de la fonctionnalité
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 ou LOG TO TAPE
sp_addumpdevice 'tape' sp_addumpdevice 'disk' ADDING TAPE DEVICE
sp_helpdevice sys.backup_devices sp_helpdevice

Niveaux de compatibilité

Fonctionnalité déconseillée Remplacement Nom de la fonctionnalité
sp_dbcmptlevel ALTER DATABASE ... SET COMPATIBILITY_LEVEL. Pour plus d’informations, consultez Niveau de compatibilité ALTER DATABASE (Transact-SQL). sp_dbcmptlevel
Niveau de compatibilité 110 et 120 de la base de données Projetez de mettre à niveau la base de données et l'application avant la prochaine version. Cependant, nous continuons le plus longtemps possible d’assurer le support des applications certifiées sur tous les niveaux de compatibilité de base de données pris en charge de façon à faciliter la mise à niveau. Pour plus d’informations sur les niveaux de compatibilité, consultez Niveau de compatibilité ALTER DATABASE (Transact-SQL). Niveau de compatibilité 110 de la base de données

Niveau de compatibilité 120 de la base de données

Classements

Fonctionnalité déconseillée Remplacement Nom de la fonctionnalité
Korean_Wansung_Unicode

Lithuanian_Classic

SQL_AltDiction_CP1253_CS_AS
Aucun. Ces classements existent dans SQL Server 2005 (9.x), mais ils ne sont pas visibles via fn_helpcollations. Korean_Wansung_Unicode

Lithuanian_Classic

SQL_AltDiction_CP1253_CS_AS
Hindi

Macédonien
Ces classements existent dans SQL Server 2005 (9.x) et les versions ultérieures, mais ils ne sont pas visibles via fn_helpcollations. Utilisez à la place Macedonian_FYROM_90 et Indic_General_90. Hindi

Macédonien
Azeri_Latin_90

Azeri_Cyrilllic_90
Azeri_Latin_100

Azeri_Cyrilllic_100
Azeri_Latin_90

Azeri_Cyrilllic_90

Types de données

Fonctionnalité déconseillée Remplacement Nom de la fonctionnalité
sp_addtype

sp_droptype
CREATE TYPE

DROP TYPE
sp_addtype

sp_droptype
Syntaxe detimestamp pour le type de données rowversion Syntaxe du type de donnéesrowversion timestamp
Possibilité d'insérer des valeurs NULL dans les colonnes timestamp . Utilisez DEFAULT à la place. INSERT NULL dans des colonnes TIMESTAMP
Option de table 'text in row' Utilisez les types de données varchar(max) , nvarchar(max) et varbinary(max) . Pour plus d’informations, consultez sp_tableoption (Transact-SQL). Option de table text in row
Types de données :

text

ntext

image
Utilisez les types de données varchar(max) , nvarchar(max) et varbinary(max) . Types de données : text, ntext ou image

Gestion de bases de données

Fonctionnalité déconseillée Remplacement Nom de la fonctionnalité
sp_attach_db

sp_attach_single_file_db
Instruction CREATE DATABASE avec l'option FOR ATTACH. Pour recréer plusieurs fichiers journaux, lorsqu'un ou plusieurs d'entre eux possèdent un nouvel emplacement, utilisez FOR ATTACH_REBUILD_LOG. sp_attach_db

sp_attach_single_file_db
sp_certify_removable

sp_create_removable
sp_detach_db sp_certify_removable

sp_create_removable
sp_dbremove DROP DATABASE sp_dbremove
sp_renamedb MODIFY NAME dans ALTER DATABASE sp_renamedb

Objets de base de données

Fonctionnalité déconseillée Remplacement Nom de la fonctionnalité
CREATE DEFAULT

DROP DEFAULT

sp_bindefault

sp_unbindefault
Mot clé DEFAULT dans CREATE TABLE et ALTER TABLE CREATE_DROP_DEFAULT

sp_bindefault

sp_unbindefault
CREATE RULE

DROP RULE

sp_bindrule

sp_unbindrule
Mot clé CHECK dans CREATE TABLE et ALTER TABLE CREATE_DROP_RULE

sp_bindrule

sp_unbindrule
sp_change_users_login Utilisez ALTER USER. sp_change_users_login
sp_depends sys.dm_sql_referencing_entities et sys.dm_sql_referenced_entities sp_depends
sp_getbindtoken Utilisez MARS ou les transactions distribuées. sp_getbindtoken

Options de la base de données

Fonctionnalité déconseillée Remplacement Nom de la fonctionnalité
sp_bindsession Utilisez MARS ou les transactions distribuées. sp_bindsession
sp_resetstatus ALTER DATABASE SET { ONLINE | EMERGENCY } sp_resetstatus
Option TORN_PAGE_DETECTION d'ALTER DATABASE Option PAGE_VERIFY TORN_PAGE DETECTION d'ALTER DATABASE ALTER DATABASE WITH TORN_PAGE_DETECTION

DBCC

Fonctionnalité déconseillée Remplacement Nom de la fonctionnalité
DBCC DBREINDEX Option REBUILD d'ALTER INDEX. DBCC DBREINDEX
DBCC INDEXDEFRAG Option REORGANIZE d'ALTER INDEX DBCC INDEXDEFRAG
DBCC SHOWCONTIG sys.dm_db_index_physical_stats DBCC SHOWCONTIG
DBCC PINTABLE

DBCC UNPINTABLE
Cette option n'a aucun effet. DBCC [UN] PINTABLE

Propriétés étendues

Fonctionnalité déconseillée Remplacement Nom de la fonctionnalité
Level0type = 'type' et Level0type = 'USER' pour ajouter des propriétés étendues aux objets de type de niveau 1 ou 2. Utilisez Level0type = 'USER' uniquement pour ajouter une propriété étendue directement à un utilisateur ou un rôle.

Utilisez Level0type = 'SCHEMA' pour ajouter une propriété étendue aux types level-1 comme TABLE ou VIEW ou aux types level-2 comme COLUMN ou TRIGGER. Pour plus d’informations, consultez sp_addextendedproperty (Transact-SQL).
EXTPROP_LEVEL0TYPE

EXTPROP_LEVEL0USER

Procédures stockées étendues

Fonctionnalité déconseillée Remplacement Nom de la fonctionnalité
xp_grantlogin

xp_revokelogin

xp_loginConfig
Utiliser CREATE_LOGIN

Utiliser l'argument DROP LOGIN IsIntegratedSecurityOnly de SERVERPROPERTY
xp_grantlogin

xp_revokelogin

xp_loginConfig

Programmation de procédures stockées étendues

Fonctionnalité déconseillée Remplacement Nom de la fonctionnalité
srv_alloc

srv_convert

srv_describe

srv_getbindtoken

srv_got_attention

srv_message_handler

srv_paramdata

srv_paraminfo

srv_paramlen

srv_parammaxlen

srv_paramname

srv_paramnumber

srv_paramset

srv_paramsetoutput

srv_paramstatus

srv_paramtype

srv_pfield

srv_pfieldex

srv_rpcdb

srv_rpcname

srv_rpcnumber

srv_rpcoptions

srv_rpcowner

srv_rpcparams

srv_senddone

srv_sendmsg

srv_sendrow

srv_setcoldata

srv_setcollen

srv_setutype

srv_willconvert

srv_wsendmsg
Utilisez l'intégration CLR à la place. XP_API
sp_addextendedproc

sp_dropextendedproc

sp_helpextendedproc
Utilisez l'intégration CLR à la place. sp_addextendedproc

sp_dropextendedproc

sp_helpextendedproc
xp_grantlogin

xp_revokelogin

xp_loginConfig
Utiliser CREATE_LOGIN

Utiliser l'argument DROP LOGIN IsIntegratedSecurityOnly de SERVERPROPERTY
xp_grantlogin

xp_revokelogin

xp_loginConfig

Haute disponibilité

Fonctionnalité déconseillée Remplacement Nom de la fonctionnalité
mise en miroir de bases de données Groupes de disponibilité Always On

Si votre édition de SQL Server ne prend pas en charge les groupes de disponibilité AlwaysOn, utilisez la copie des journaux de session.
DATABASE_MIRRORING

Options d'index

Fonctionnalité déconseillée Remplacement Nom de la fonctionnalité
sp_indexoption ALTER INDEX sp_indexoption
Syntaxe CREATE TABLE, ALTER TABLE ou CREATE INDEX sans parenthèses autour des options. Réécrivez l'instruction de manière à utiliser la syntaxe actuelle. INDEX_OPTION

Options d'instance

Fonctionnalité déconseillée Remplacement Nom de la fonctionnalité
option sp_configure 'allow updates' Les tables système ne peuvent plus être mises à jour. La valeur n'a pas d'effet. sp_configure allow updates'
Options sp_configure :

'locks'

'open objects'

'set working set size'
Désormais configuré automatiquement. La valeur n'a pas d'effet. sp_configure 'locks'

sp_configure 'open objects'

sp_configure 'set working set size'
Option sp_configure 'priority boost' Les tables système ne peuvent plus être mises à jour. La valeur n'a pas d'effet. Utilisez à la place l’option start /high … program.exe de Windows. sp_configure "priority boost"
Option sp_configure 'remote proc trans' Les tables système ne peuvent plus être mises à jour. La valeur n'a pas d'effet. sp_configure 'remote proc trans'

Serveurs liés

Fonctionnalité déconseillée Remplacement Nom de la fonctionnalité
Spécification du fournisseur SQLOLEDB pour les serveurs liés. Microsoft OLE DB Driver (MSOLEDBSQL) pour SQL Server SQLOLEDB pour les serveurs liés

Métadonnées

Fonctionnalité déconseillée Remplacement Nom de la fonctionnalité
FILE_ID

INDEXKEY_PROPERTY
FILE_IDEX

sys.index_columns
FILE_ID

INDEXKEY_PROPERTY

Services Web XML natifs

Fonctionnalité déconseillée Remplacement Nom de la fonctionnalité
Instruction CREATE ENDPOINT ou ALTER ENDPOINT avec l'option FOR SOAP.

sys.endpoint_webmethods

sys.soap_endpoints
Utilisez à la place WFC (Windows Communications Foundation) ou ASP.NET. CREATE/ALTER ENDPOINT

sys.endpoint_webmethods

EXT_soap_endpoints

sys.soap_endpoints

Autres

Fonctionnalité déconseillée Remplacement Nom de la fonctionnalité
DB-Library

Embedded SQL for C
Même si le moteur de base de données prend toujours en charge les connexions des applications existantes qui utilisent les API DB-Library et Embedded SQL, il n’inclut pas les fichiers ou la documentation nécessaires aux tâches de programmation dans les applications qui utilisent ces API. Une version future du moteur de base de données SQL Server n’intègre plus la prise en charge des connexions à partir des applications DB-Library ou Embedded SQL. N’utilisez pas DB-Library ni Embedded SQL pour développer de nouvelles applications. Supprimez toutes les dépendances à DB-Library ou à Embedded SQL lorsque vous modifiez les applications existantes. À la place de ces API, utilisez l’espace de noms SQLClient ou une API comme ODBC. SQL Server 2019 (15.x) n’inclut pas la DLL DB-Library nécessaire à l’exécution de ces applications. Pour exécuter des applications DB-Library ou Embedded SQL, vous avez besoin de la DLL DB-Library fournie dans SQL Server version 6.5, SQL Server 7.0 ou SQL Server 2000 (8.x). None

Sécurité

Fonctionnalité déconseillée Remplacement Nom de la fonctionnalité
Syntaxe ALTER LOGIN WITH SET CREDENTIAL Remplacée par la nouvelle syntaxe ALTER LOGIN ADD et DROP CREDENTIAL ALTER LOGIN WITH SET CREDENTIAL
sp_addapprole

sp_dropapprole
CREATE APPLICATION ROLE

DROP APPLICATION ROLE
sp_addapprole

sp_dropapprole
sp_addlogin

sp_droplogin
CREATE LOGIN

DROP LOGIN
sp_addlogin

sp_droplogin
sp_adduser

sp_dropuser
CREATE USER

DROP USER
sp_adduser

sp_dropuser
sp_grantdbaccess

sp_revokedbaccess
CREATE USER

DROP USER
sp_grantdbaccess

sp_revokedbaccess
sp_addrole

sp_droprole
CREATE ROLE

DROP ROLE
sp_addrole

sp_droprole
sp_approlepassword

sp_password
ALTER APPLICATION ROLE

ALTER LOGIN
sp_approlepassword

sp_password
sp_changedbowner ALTER AUTHORIZATION sp_changedbowner
sp_changeobjectowner ALTER SCHEMA ou ALTER AUTHORIZATION sp_changeobjectowner
sp_control_dbmasterkey_password Une clé principale doit exister et le mot de passe doit être correct. sp_control_dbmasterkey_password
sp_defaultdb

sp_defaultlanguage
ALTER LOGIN sp_defaultdb

sp_defaultlanguage
sp_denylogin

sp_grantlogin

sp_revokelogin
ALTER LOGIN DISABLE

CREATE LOGIN

DROP LOGIN
sp_denylogin

sp_grantlogin

sp_revokelogin
USER_ID DATABASE_PRINCIPAL_ID USER_ID
sp_srvrolepermission

sp_dbfixedrolepermission
Ces procédures stockées renvoient des informations qui étaient correctes dans SQL Server 2000 (8.x). Le résultat ne reflète pas les modifications apportées à la hiérarchie d’autorisations implémentée dans SQL Server 2008. Pour plus d'informations, consultez Autorisations des rôles serveur fixes. sp_srvrolepermission

sp_dbfixedrolepermission
GRANT ALL

DENY ALL

REVOKE ALL
Autorisations spécifiques GRANT, DENY et REVOKE. Autorisation ALL
Fonction intrinsèque PERMISSIONS Interrogez à la place sys.fn_my_permissions. PERMISSIONS
SETUSER EXECUTE AS SETUSER
Algorithmes de chiffrement RC4 et DESX Utilisez un autre algorithme, par exemple AES. Algorithme DESX

Options de configuration de serveur

Fonctionnalité déconseillée Remplacement Nom de la fonctionnalité
Audit C2 (option) Trace par défaut activée (option)

Trace par défaut activée (option)
common criteria compliance enabled (option de configuration de serveur)

Événements étendus
sp_configure 'c2 audit mode'

sp_configure 'default trace enabled'

Classes SMO

Fonctionnalité déconseillée Remplacement Nom de la fonctionnalité
Microsoft.SQLServer. Management.Smo.Information class

Microsoft.SQLServer. Management.Smo.Settings class

Microsoft.SQLServer.Management. Smo.DatabaseOptions class

Microsoft.SqlServer.Management.Smo. DatabaseDdlTrigger.NotForReplication propriété
Microsoft.SqlServer. Management.Smo.Server class

*Microsoft.SqlServer. Management.Smo.Server (classe)

Microsoft.SqlServer. Management.Smo.Database class

None
None

SQL Server Agent

Fonctionnalité déconseillée Remplacement Nom de la fonctionnalité
Notificationnet send

Notification par radiomessagerie
Notification par e-mail

Notification par e-mail
None

SQL Server Management Studio

Fonctionnalité déconseillée Remplacement Nom de la fonctionnalité
Intégration de l’Explorateur de solutions dans SQL Server Management Studio None

Fonctions et procédures stockées système

Fonctionnalité déconseillée Remplacement Nom de la fonctionnalité
sp_db_increased_partitions Aucun. La prise en charge des partitions augmentées est disponible dans SQL Server 2019 (15.x). sp_db_increased_partitions
fn_virtualservernodes

fn_servershareddrives
sys.dm_os_cluster_nodes

sys.dm_io_cluster_shared_drives
fn_virtualservernodes

fn_servershareddrives
fn_get_sql sys.dm_exec_sql_text fn_get_sql
sp_lock sys.dm_tran_locks sp_lock

Tables système

Fonctionnalité déconseillée Remplacement Nom de la fonctionnalité
sysaltfiles

syscacheobjects

syscolumns

syscomments

sysconfigures

sysconstraints

syscurconfigs

sysdatabases

sysdepends

sysdevices

sysfilegroups

sysfiles

sysforeignkeys

sysfulltextcatalogs

sysindexes

sysindexkeys

syslockinfo

syslogins

sysmembers

sysmessages

sysobjects

sysoledbusers

sysopentapes

sysperfinfo

syspermissions

sysprocesses

sysprotects

sysreferences

sysremotelogins

sysservers

systypes

sysusers
Vues de compatibilité. Pour plus d’informations, consultez Vues de compatibilité (Transact-SQL).

Important : Les vues de compatibilité n’exposent pas les métadonnées des fonctionnalités introduites dans SQL Server 2005 (9.x). Il est recommandé de mettre à niveau les applications pour pouvoir utiliser les affichages catalogue. Pour plus d’informations, consultez Affichages catalogue (Transact-SQL).
sysaltfiles

syscacheobjects

syscolumns

syscomments

sysconfigures

sysconstraints

syscurconfigs

sysdatabases

sysdepends

sysdevices

sysfilegroups

sysfiles

sysforeignkeys

sysfulltextcatalogs

sysindexes

sysindexkeys

syslockinfo

syslogins

sysmembers

sysmessages

sysobjects

sysoledbusers

sysopentapes

sysperfinfo

syspermissions

sysprocesses

sysprotects

sysreferences

sysremotelogins

sysservers

systypes

sysusers
sys.numbered_procedures

sys.numbered_procedure_parameters
None numbered_procedures

numbered_procedure_parameters

Procédures stockées, fonctions et affichages catalogue Trace SQL

Fonctionnalité déconseillée Remplacement Nom de la fonctionnalité
sp_trace_create

sp_trace_setevent

sp_trace_setfilter

sp_trace_setstatus

fn_trace_geteventinfo

fn_trace_getfilterinfo

fn_trace_getinfo

fn_trace_gettable

sys.traces

sys.trace_events

sys.trace_event_bindings

sys.trace_categories

sys.trace_columns

sys.trace_subclass_values
Événements étendus sp_trace_create

sp_trace_setevent

sp_trace_setfilter

sp_trace_setstatus

fn_trace_geteventinfo

fn_trace_getfilterinfo

fn_trace_getinfo

fn_trace_gettable

sys.traces

sys.trace_events

sys.trace_event_bindings

sys.trace_categories

sys.trace_columns

sys.trace_subclass_values

Vues système

Fonctionnalité déconseillée Remplacement Nom de la fonctionnalité
sys.sql_dependencies sys.sql_expression_dependencies sys.sql_dependencies

Compression de table

Fonctionnalité déconseillée Remplacement Nom de la fonctionnalité
Utilisation du format de stockage vardecimal. Le format de stockage vardecimal est déconseillé. La compression des données SQL Server 2019 (15.x) compresse les valeurs décimales ainsi que d’autres types de données. Nous vous recommandons d'utiliser la compression de données au lieu du format de stockage vardecimal. Format de stockage vardecimal
Utilisation de la procédure sp_db_vardecimal_storage_format. Le format de stockage vardecimal est déconseillé. La compression des données SQL Server 2019 (15.x) compresse les valeurs décimales ainsi que d’autres types de données. Nous vous recommandons d'utiliser la compression de données au lieu du format de stockage vardecimal. sp_db_vardecimal_storage_format
Utilisation de la procédure sp_estimated_rowsize_reduction_for_vardecimal. Utilisez à la place la compression de données et la procédure sp_estimate_data_compression_savings. sp_estimated_rowsize_reduction_for_vardecimal

Pointeurs de texte

Fonctionnalité déconseillée Remplacement Nom de la fonctionnalité
WRITETEXT

UPDATETEXT

READTEXT
None UPDATETEXT ou WRITETEXT

READTEXT
TEXTPTR()

TEXTVALID()
None TEXTPTR

TEXTVALID

Transact-SQL

Fonctionnalité déconseillée Remplacement Nom de la fonctionnalité
Séquence d’appel de fonction :: Remplacée par SELECT column_list FROM sys.<function_name>().

Par exemple, remplacez SELECT * FROM ::fn_virtualfilestats(2,1)par SELECT * FROM sys.fn_virtualfilestats(2,1).
Syntaxe d'appel de fonction '::'
Références de colonnes en 3 et 4 parties. Les noms en deux parties sont la norme. Nom de la colonne à plus de deux parties
Une chaîne entre guillemets utilisée en tant qu'alias de colonne pour une expression dans une liste SELECT :

'string_alias' = expression
expression [AS] column_alias

expression [AS] [column_alias]

expression [AS] "column_alias"

expression [AS] 'column_alias'

column_alias = expression
Littéraux de chaîne comme alias de colonne
Procédures numérotées Aucun. Ne pas utiliser. ProcNums
Syntaxetable_name.index_name dans DROP INDEX Syntaxeindex_name ON table_name dans DROP INDEX. DROP INDEX avec nom en deux parties
Pas d’instructions Transact-SQL se terminant par un point-virgule. Terminez les instructions Transact-SQL par un point-virgule (;). Aucune
GROUP BY ALL Utilisez la solution personnalisée cas par cas avec UNION ou une table dérivée. GROUP BY ALL
ROWGUIDCOL comme nom de colonne dans les instructions DML. Utilisez $rowguid. ROWGUIDCOL
IDENTITYCOL comme nom de colonne dans les instructions DML. Utilisez $identity. IDENTITYCOL
Utilisation de #, ## comme table temporaire et noms de procédure stockée temporaires. Utilisez au moins un caractère supplémentaire. '#' et '##' comme nom des tables temporaires et procédures stockées
Utilisez @, @@ ou @@ comme identificateurs Transact-SQL. N’utilisez pas @ ou @@, ni des noms commençant par @@ comme identificateurs. '@' et noms commençant par '@@' comme identificateurs Transact-SQL
Utilisation du mot clé DEFAULT comme valeur par défaut. N’utilisez pas le mot DEFAULT comme valeur par défaut. Mot clé DEFAULT comme valeur par défaut.
Utilisation d'un espace comme séparateur entre les indicateurs de table. Utilisez une virgule pour séparer les indicateurs de table. Indicateurs de table multiples sans virgule
La liste de sélection d'une vue indexée d'agrégation doit contenir COUNT_BIG (*) dans le mode de compatibilité 90. Utilisez COUNT_BIG (*). Liste de sélection de vue d’index sans COUNT_BIG(*)
Application indirecte des indicateurs de table à un appel d'une fonction table à plusieurs instructions via une vue. Aucun. Indicateurs TVF indirects
Syntaxe ALTER DATABASE :

MODIFY FILEGROUP READONLY

MODIFY FILEGROUP READWRITE
MODIFY FILEGROUP READ_ONLY

MODIFY FILEGROUP READ_WRITE
MODIFY FILEGROUP READONLY

MODIFY FILEGROUP READWRITE
SET ANSI_NULLS OFF et option de base de données ANSI_NULLS OFF

SET ANSI_PADDING OFF et option de base de données ANSI_PADDING OFF

SET CONCAT_NULL_YIELDS_NULL OFF et option de base de données CONCAT_NULL_YIELDS_NULL OFF

SET OFFSETS
Aucun.

ANSI_NULLS, ANSI_PADDING et CONCAT_NULLS_YIELDS_NULL ont toujours la valeur ON. SET OFFSETS n’est pas disponible.
SET ANSI_NULLS OFF

SET ANSI_PADDING OFF

SET CONCAT_NULL_YIELDS_NULL OFF

SET OFFSETS

ALTER DATABASE SET ANSI_NULLS OFF

ALTER DATABASE SET ANSI_PADDING OFF

ALTER DATABASE SET CONCAT_NULL_YIELDS_NULL OFF
SET FMTONLY sys.dm_exec_describe_first_result_set (Transact-SQL), sys.dm_exec_describe_first_result_set_for_object (Transact-SQL), sp_describe_first_result_set (Transact-SQL), and sp_describe_undeclared_parameters (Transact-SQL). SET FMTONLY
Spécification de NOLOCK ou READUNCOMMITTED dans la clause FROM d'une instruction UPDATE ou DELETE. Supprimez les indicateurs de table NOLOCK ou READUNCOMMITTED de la clause FROM. NOLOCK ou READUNCOMMITTED dans UPDATE ou DELETE
Spécification des indicateurs de table sans utilisation du mot clé WITH. Utilisez WITH. Indicateur de table sans WITH
INSERT_HINTS INSERT_HINTS

Outils

Fonctionnalité déconseillée Remplacement Nom de la fonctionnalité
Générateur de profils SQL Server pour la capture de trace Utilisez le Générateur de profils d'événements étendus incorporé dans SQL Server Management Studio. SQL Server Profiler
SQL Server Profiler pour Trace Replay SQL Server Distributed Replay

Objets TMO (Trace Management Objects)

Fonctionnalité déconseillée Remplacement Nom de la fonctionnalité
L'espace de noms Microsoft.SqlServer.Management.Trace (contient les API pour les objets Trace et Replay SQL Server) Configuration de trace : Microsoft.SqlServer.Management.XEvent

Lecture de trace : Microsoft.SqlServer.XEvent.Linq

Relecture de trace : None

XML

Fonctionnalité déconseillée Remplacement Nom de la fonctionnalité
Génération de schéma XDR en ligne La directive XMLDATA de l'option FOR XML est déconseillée. Utilisez la génération XSD en mode RAW et AUTO. Il n'existe aucune solution de remplacement pour la directive XMLDATA en mode EXPLICIT. XMLDATA

Notes

Le paramètre OUTPUT de cookie pour sp_setapprole est actuellement documenté comme varbinary(8000) , ce qui correspond à la longueur maximale correcte. Cependant, l’implémentation actuelle retourne varbinary(50) . Si les développeurs ont alloué varbinary(50) , l’application peut nécessiter des modifications si la taille de retour des cookies augmente dans une future version. Bien qu'il ne s'agisse pas d'un problème de suppression de fonctionnalités, ce phénomène est mentionné dans cette rubrique car les réglages de l'application sont similaires. Pour plus d’informations, consultez sp_setapprole.