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 (; ). |
Aucun(e) |
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.