Funzionalità del motore di database deprecate in SQL Server 2017 (14.x)

Si applica a: SQL Server 2017 (14.x) e versioni successive

Questo articolo descrive le funzionalità deprecate del motore di database di SQL Server ancora disponibili in SQL Server 2017 (14.x). È consigliabile non usare le funzionalità deprecate nelle nuove applicazioni.

Quando una funzionalità è contrassegnata come deprecata significa che:

  • La funzionalità è solo in modalità manutenzione. Non verranno aggiunte nuove modifiche, incluse quelle relative all'interoperabilità dell'indirizzo con le nuove funzionalità.
  • Microsoft si impegna a non rimuovere una funzionalità deprecata dalle versioni future per semplificare gli aggiornamenti. Tuttavia, in rare situazioni, una funzionalità potrebbe essere interrotta (rimossa) in modo permanente da SQL Server se ne limita le innovazioni future.
  • Per i nuovi progetti di sviluppo, non usare funzionalità deprecate. Per le applicazioni esistenti, pianificare di modificare le applicazioni che attualmente usano queste funzionalità il prima possibile.

È possibile monitorare l'uso delle funzionalità deprecate usando il contatore delle prestazioni dell'oggetto Deprecated Features di SQL Server e gli eventi di traccia. Per altre informazioni, vedere Usare oggetti di SQL Server.

I valori di questi contatori sono disponibili anche tramite l'istruzione seguente:

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

Nota

Questo elenco è identico all'elenco di SQL Server 2016 (13.x). Non sono presenti funzionalità nuove o deprecate del motore di database annunciate per SQL Server 2017 (14.x).

Funzionalità deprecate nella prossima versione di SQL Server

Le funzionalità seguenti del motore di database di SQL Server non saranno supportate in una versione successiva di SQL Server. Non implementare queste funzionalità in nuovi progetti di sviluppo e, appena possibile, modificare le applicazioni in cui sono attualmente usate. Il valore Nome funzionalità viene visualizzato negli eventi di traccia come ObjectName e nei contatori delle prestazioni e in sys.dm_os_performance_counters come nome dell'istanza. Il valore ID funzionalità viene visualizzato negli eventi di traccia come ID dell'oggetto.

Backup e ripristino

Funzionalità obsoleta Sostituzione Nome funzionalità ID funzionalità
RESTORE { DATABASE | LOG } WITH [MEDIA]PASSWORD continua a essere deprecata.

BACKUP { DATABASE | LOG } WITH PASSWORD e BACKUP { DATABASE | LOG } WITH MEDIAPASSWORD non sono più disponibili.
Nessuno. BACKUP DATABASE o LOG WITH PASSWORD

BACKUP DATABASE o LOG WITH MEDIAPASSWORD
104

103

Livelli di compatibilità

Funzionalità obsoleta Sostituzione Nome funzionalità ID funzionalità
Eseguire l'aggiornamento dalla versione 100 (SQL Server 2008 (10.0.x) e SQL Server 2008 R2 (10.50.x)). Quando una versione di SQL Server non viene più supportata, i livelli di compatibilità del database associati vengono contrassegnati come deprecati. Microsoft continua tuttavia a supportare per quanto possibile le applicazioni certificate in qualsiasi livello di compatibilità del database supportato al fine di facilitare gli aggiornamenti. Per altre informazioni sui livelli di compatibilità, vedere Livello di compatibilità ALTER DATABASE (Transact-SQL). Livello di compatibilità del database: 100 108

Oggetti di database

Funzionalità obsoleta Sostituzione Nome funzionalità ID funzionalità
Possibilità di restituire set di risultati dai trigger None Restituzione di risultati da un trigger 12

Crittografia

Funzionalità obsoleta Sostituzione Nome funzionalità ID funzionalità
Crittografia tramite RC4 o RC4_128 deprecata. Rimozione pianificata nella prossima versione. Decrittografia RC4 e RC4_128 non deprecate. Utilizzare un'altra crittografia, ad esempio AES. Algoritmo di crittografia deprecata 253
L'uso di MD2, MD4, MD5, SHA e SHA1 è deprecato. Usare invece SHA2_256 o SHA2_512. Gli algoritmi precedenti continuano a funzionare, ma generano un evento Deprecation. Algoritmo hash deprecato None

Server remoti

Funzionalità obsoleta Sostituzione Nome funzionalità ID funzionalità
sp_addremotelogin

sp_addserver

sp_dropremotelogin

sp_helpremotelogin

sp_remoteoption
Sostituire i server remoti utilizzando server collegati. sp_addserver può essere usata solo con l'opzione locale. sp_addremotelogin

sp_addserver

sp_dropremotelogin

sp_helpremotelogin

sp_remoteoption
70

69

71

72

73
@@remserver Sostituire i server remoti utilizzando server collegati. None None
SET REMOTE_PROC_TRANSACTIONS Sostituire i server remoti utilizzando server collegati. SET REMOTE_PROC_TRANSACTIONS 110

Transact-SQL

Funzionalità obsoleta Sostituzione Nome funzionalità ID funzionalità
SET ROWCOUNT per istruzioni INSERT, UPDATEe DELETE Parola chiave TOP SET ROWCOUNT 109
Hint di tabella HOLDLOCK senza parentesi Utilizzare HOLDLOCK con parentesi. Hint di tabella HOLDLOCK senza parentesi 167

Funzionalità deprecate in una versione futura di SQL Server

Le funzionalità seguenti del motore di database di SQL Server sono supportate nella versione successiva di SQL Server. La versione specifica di SQL Server non è stata determinata.

Backup e ripristino

Funzionalità obsoleta Sostituzione Nome funzionalità
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 o LOG TO TAPE
sp_addumpdevice 'tape' sp_addumpdevice 'disk' ADDING TAPE DEVICE
sp_helpdevice sys.backup_devices sp_helpdevice

Livelli di compatibilità

Funzionalità obsoleta Sostituzione Nome funzionalità
sp_dbcmptlevel ALTER DATABASE ... SET COMPATIBILITY_LEVEL. Per altre informazioni, vedere Livello di compatibilità ALTER DATABASE (Transact-SQL). sp_dbcmptlevel
Livello di compatibilità 110 e 120 del database. Pianificare l'aggiornamento del database e dell'applicazione per una versione successiva. Microsoft continua tuttavia a supportare per quanto possibile le applicazioni certificate in qualsiasi livello di compatibilità del database supportato al fine di facilitare gli aggiornamenti. Per altre informazioni sui livelli di compatibilità, vedere Livello di compatibilità ALTER DATABASE (Transact-SQL). Livello di compatibilità 110 del database

Livello di compatibilità 120 del database

Regole di confronto

Funzionalità obsoleta Sostituzione Nome funzionalità
Korean_Wansung_Unicode

Lithuanian_Classic

SQL_AltDiction_CP1253_CS_AS
Nessuno. Queste regole di confronto sono presenti in SQL Server 2005 (9.x), ma non è possibile visualizzarle tramite fn_helpcollations. Korean_Wansung_Unicode

Lithuanian_Classic

SQL_AltDiction_CP1253_CS_AS
Hindi

Macedone
Queste regole di confronto sono presenti in SQL Server 2005 (9.x) e versioni successive, ma non è possibile visualizzarle tramite fn_helpcollations. Utilizzare Macedonian_FYROM_90 e Indic_General_90. Hindi

Macedone
Azeri_Latin_90

Azeri_Cyrilllic_90
Azeri_Latin_100

Azeri_Cyrilllic_100
Azeri_Latin_90

Azeri_Cyrilllic_90

Tipo di dati

Funzionalità obsoleta Sostituzione Nome funzionalità
sp_addtype

sp_droptype
CREATE TYPE

DROP TYPE
sp_addtype

sp_droptype
Sintassitimestamp per il tipo di dati rowversion Sintassi del tipo di datirowversion TIMESTAMP
Possibilità di inserire valori Null in colonne di tipo timestamp . Utilizzare DEFAULT. INSERT NULL in colonne TIMESTAMP
Opzione di tabella 'text in row' Usare i tipi di dati varchar(max), nvarchar(max)e varbinary(max) . Per altre informazioni, vedere sp_tableoption (Transact-SQL). Opzione di tabella text in row
Tipi di dati:

Testo

ntext

Immagine
Usare i tipi di dati varchar(max), nvarchar(max)e varbinary(max) . Tipi di dati: text, ntext o image

Gestione di database

Funzionalità obsoleta Sostituzione Nome funzionalità
sp_attach_db

sp_attach_single_file_db
Istruzione CREATE DATABASE con l'opzione FOR ATTACH. Per ricompilare più file di log in caso di nuovo percorso di uno o più di questi file, utilizzare l'opzione 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 in ALTER DATABASE sp_renamedb

Oggetti di database

Funzionalità obsoleta Sostituzione Nome funzionalità
CREATE DEFAULT

DROP DEFAULT

sp_bindefault

sp_unbindefault
Parola chiave DEFAULT in CREATE TABLE e ALTER TABLE CREATE_DROP_DEFAULT

sp_bindefault

sp_unbindefault
CREATE RULE

DROP RULE

sp_bindrule

sp_unbindrule
Parola chiave CHECK in CREATE TABLE e ALTER TABLE CREATE_DROP_RULE

sp_bindrule

sp_unbindrule
sp_change_users_login Utilizzare ALTER USER. sp_change_users_login
sp_depends sys.dm_sql_referencing_entities e sys.dm_sql_referenced_entities sp_depends
sp_getbindtoken Utilizzare MARS o transazioni distribuite. sp_getbindtoken

Opzioni di database

Funzionalità obsoleta Sostituzione Nome funzionalità
sp_bindsession Utilizzare MARS o transazioni distribuite. sp_bindsession
sp_resetstatus ALTER DATABASE SET { ONLINE | EMERGENCY } sp_resetstatus
Opzione TORN_PAGE_DETECTION di ALTER DATABASE Opzione PAGE_VERIFY TORN_PAGE_DETECTION di ALTER DATABASE ALTER DATABASE WITH TORN_PAGE_DETECTION

DBCC

Funzionalità obsoleta Sostituzione Nome funzionalità
DBCC DBREINDEX Opzione REBUILD di ALTER INDEX DBCC DBREINDEX
DBCC INDEXDEFRAG Opzione REORGANIZE di ALTER INDEX DBCC INDEXDEFRAG
DBCC SHOWCONTIG sys.dm_db_index_physical_stats DBCC SHOWCONTIG
DBCC PINTABLE

DBCC UNPINTABLE
Non ha alcun effetto. DBCC [UN]PINTABLE

Proprietà estese

Funzionalità obsoleta Sostituzione Nome funzionalità
Level0type = 'type' e Level0type = 'USER' per l'aggiunta di proprietà estese a oggetti Type di livello 1 o 2. Utilizzare Level0type = 'USER' soltanto per aggiungere una proprietà estesa direttamente a un utente o un ruolo.

Utilizzare Level0type = 'SCHEMA' per aggiungere una proprietà estesa a tipi di livello 1, ad esempio TABLE o VIEW, oppure a tipi di livello 2, ad esempio COLUMN o TRIGGER. Per altre informazioni, vedere sp_addextendedproperty (Transact-SQL).
EXTPROP_LEVEL0TYPE

EXTPROP_LEVEL0USER

Stored procedure estese

Funzionalità obsoleta Sostituzione Nome funzionalità
xp_grantlogin

xp_revokelogin

xp_loginConfig
Utilizzare CREATE_LOGIN

Utilizzare l'argomento DROP LOGIN IsIntegratedSecurityOnly di SERVERPROPERTY.
xp_grantlogin

xp_revokelogin

xp_loginconfig

Programmazione di stored procedure estese

Funzionalità obsoleta Sostituzione Nome funzionalità
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
Usare invece la funzionalità Integrazione CLR. XP_API
sp_addextendedproc

sp_dropextendedproc

sp_helpextendedproc
Usare invece la funzionalità Integrazione CLR. sp_addextendedproc

sp_dropextendedproc

sp_helpextendedproc
xp_grantlogin

xp_revokelogin

xp_loginConfig
Utilizzare CREATE_LOGIN

Utilizzare l'argomento DROP LOGIN IsIntegratedSecurityOnly di SERVERPROPERTY.
xp_grantlogin

xp_revokelogin

xp_loginconfig

Disponibilità elevata

Funzionalità obsoleta Sostituzione Nome funzionalità
mirroring del database Gruppi di disponibilità Always On

Se l'edizione di SQL Server non supporta Gruppi di disponibilità Always On, usare il log shipping.
DATABASE_MIRRORING

Opzioni per indici

Funzionalità obsoleta Sostituzione Nome funzionalità
sp_indexoption ALTER INDEX sp_indexoption
Sintassi di CREATE TABLE, ALTER TABLE o CREATE INDEX senza parentesi per racchiudere le opzioni. Riscrivere le istruzioni in modo che utilizzino la sintassi corrente. INDEX_OPTION

Opzioni di istanza

Funzionalità obsoleta Sostituzione Nome funzionalità
Opzione di sp_configure 'allow updates' Le tabelle di sistema non sono più aggiornabili. L'impostazione non ha alcun effetto. sp_configure 'allow updates'
Opzioni di sp_configure:

'locks'

'open objects'

'set working set size'
Configurata automaticamente. L'impostazione non ha alcun effetto. sp_configure 'locks'

sp_configure 'open objects'

sp_configure 'set working set size'
Opzione di sp_configure 'priority boost' Le tabelle di sistema non sono più aggiornabili. L'impostazione non ha alcun effetto. In alternativa, usare l'opzione start /high ... program.exe di Windows. sp_configure 'priority boost'
Opzione di sp_configure 'remote proc trans' Le tabelle di sistema non sono più aggiornabili. L'impostazione non ha alcun effetto. sp_configure 'remote proc trans'

Server collegati

Funzionalità obsoleta Sostituzione Nome funzionalità
Specifica del provider SQLOLEDB per i server collegati. Driver Microsoft OLE DB (MSOLEDBSQL) per SQL Server SQLOLEDB per server collegati

Metadati UFX

Funzionalità obsoleta Sostituzione Nome funzionalità
FILE_ID

INDEXKEY_PROPERTY
FILE_IDEX

sys.index_columns
FILE_ID

INDEXKEY_PROPERTY

Servizi Web XML nativi

Funzionalità obsoleta Sostituzione Nome funzionalità
Istruzione CREATE o ALTER ENDPOINT con l'opzione FOR SOAP.

sys.endpoint_webmethods

sys.soap_endpoints
Usare Windows Communications Foundation (WCF) o ASP.NET. CREATE/ALTER ENDPOINT

sys.endpoint_webmethods

EXT_soap_endpoints

sys.soap_endpoints

Altro

Funzionalità obsoleta Sostituzione Nome funzionalità
DB-Library

Embedded SQL for C
Nonostante supporti connessioni da applicazioni esistenti che usano le API DB-Library ed Embedded SQL, il motore di database non include la documentazione o i file necessari per svolgere attività di programmazione per applicazioni che usano tali API. In una versione futura del motore di database di SQL Server verrà eliminato il supporto per le connessioni da applicazioni DB-Library o Embedded SQL. Non usare pertanto DB-Library o Embedded SQL per sviluppare nuove applicazioni. Quando si modificano applicazioni esistenti, rimuovere tutte le dipendenze da DB-Library o Embedded SQL. Invece di queste API, usare lo spazio dei nomi SQLClient o un'API, ad esempio ODBC. SQL Server 2019 (15.x) non include la DLL DB-Library necessaria per eseguire queste applicazioni. Per eseguire applicazioni DB-Library o Embedded SQL, deve essere disponibile la DLL DB-Library di SQL Server versione 6.5, SQL Server 7.0 o SQL Server 2000 (8.x). None

Sicurezza

Funzionalità obsoleta Sostituzione Nome funzionalità
Sintassi di ALTER LOGIN WITH SET CREDENTIAL Nuova sintassi di ALTER LOGIN ADD e 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 o ALTER AUTHORIZATION sp_changeobjectowner
sp_control_dbmasterkey_password La chiave master è obbligatoria e la password deve essere corretta. 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
Le informazioni restituite da queste stored procedure risultano corrette in SQL Server 2000 (8.x). L'output non riflette le modifiche apportate alla gerarchia di autorizzazioni implementata in SQL Server 2008. Per ulteriori informazioni, vedere Autorizzazioni dei ruoli predefiniti del server. sp_srvrolepermission

sp_dbfixedrolepermission
GRANT ALL

DENY ALL

REVOKE ALL
Autorizzazioni specifiche di GRANT, DENY e REVOKE. Autorizzazione ALL
Funzione intrinseca PERMISSIONS Eseguire una query su sys.fn_my_permissions. PERMISSIONS
SETUSER EXECUTE AS SETUSER
Algoritmi di crittografia RC4 e DESX Utilizzare un altro algoritmo, ad esempio AES. Algoritmo DESX

Opzioni di configurazione del server

Funzionalità obsoleta Sostituzione Nome funzionalità
Opzione c2 audit, opzione default trace enabled

default trace enabled - opzione
Opzione di configurazione del server common criteria compliance enabled

Eventi estesi
sp_configure 'c2 audit mode'

sp_configure 'default trace enabled'

Classi SMO

Funzionalità obsoleta Sostituzione Nome funzionalità
Classe Microsoft.SQLServer. Management.Smo.Information class

Classe Microsoft.SQLServer. Management.Smo.Settings class

Classe Microsoft.SQLServer.Management. Smo.DatabaseOptions class

Proprietà Microsoft.SqlServer.Management.Smo. DatabaseDdlTrigger.NotForReplication proprietà
Microsoft.SqlServer. Management.Smo.Server class

*Classe Microsoft.SqlServer. Management.Smo.Server

Microsoft.SqlServer. Management.Smo.Database class

None
None

SQL Server Agent

Funzionalità obsoleta Sostituzione Nome funzionalità
Notificanet send

Notifica tramite cercapersone
Notifica di posta elettronica

Notifica di posta elettronica
None

SQL Server Management Studio

Funzionalità obsoleta Sostituzione Nome funzionalità
Integrazione di Esplora soluzioni in SQL Server Management Studio None

Stored procedure e funzioni di sistema

Funzionalità obsoleta Sostituzione Nome funzionalità
sp_db_increased_partitions Nessuno. Il supporto per l'estensione del numero di partizioni è disponibile per impostazione predefinita in 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

Tabelle di sistema

Funzionalità obsoleta Sostituzione Nome funzionalità
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
Viste di compatibilità. Per altre informazioni, vedere Viste di compatibilità (Transact-SQL).

Importante: nelle viste di compatibilità non vengono esposti metadati per le funzionalità introdotte in SQL Server 2005 (9.x). È consigliabile aggiornare le applicazioni per l'utilizzo delle viste del catalogo. Per altre informazioni, vedere Viste del catalogo (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

Stored procedure, funzioni e viste del catalogo della traccia SQL

Funzionalità obsoleta Sostituzione Nome funzionalità
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
Eventi estesi 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

Visualizzazioni di sistema

Funzionalità obsoleta Sostituzione Nome funzionalità
sys.sql_dependencies sys.sql_expression_dependencies sys.sql_dependencies

Compressione di tabelle

Funzionalità obsoleta Sostituzione Nome funzionalità
Utilizzo del formato di archiviazione vardecimal. Il formato di archiviazione vardecimal è deprecato. Con la compressione dei dati di SQL Server 2019 (15.x) vengono compressi i valori decimali e altri tipi di dati. È consigliabile utilizzare la compressione dei dati anziché il formato di archiviazione vardecimal. Formato di archiviazione vardecimal
Utilizzo della procedura sp_db_vardecimal_storage_format. Il formato di archiviazione vardecimal è deprecato. Con la compressione dei dati di SQL Server 2019 (15.x) vengono compressi sia i valori decimali che altri tipi di dati. È consigliabile utilizzare la compressione dei dati anziché il formato di archiviazione vardecimal. sp_db_vardecimal_storage_format
Utilizzo della procedura sp_estimated_rowsize_reduction_for_vardecimal. Utilizzare la compressione dei dati e la procedura sp_estimate_data_compression_savings. sp_estimated_rowsize_reduction_for_vardecimal

Puntatori di testo

Funzionalità obsoleta Sostituzione Nome funzionalità
WRITETEXT

UPDATETEXT

READTEXT
None UPDATETEXT o WRITETEXT

READTEXT
TEXTPTR()

TEXTVALID()
None TEXTPTR

TEXTVALID

Transact-SQL

Funzionalità obsoleta Sostituzione Nome funzionalità
Sequenza di chiamata di funzioni :: Sostituita da SELECT column_list FROM sys.<function_name>().

Ad esempio, sostituisci SELECT * FROM ::fn_virtualfilestats(2,1) con SELECT * FROM sys.fn_virtualfilestats(2,1).
Sintassi per la chiamata di funzioni '::'
Riferimenti a colonne in 3 e 4 parti. Il funzionamento conforme allo standard prevede nomi in 2 parti. Nome di colonna in più di due parti
Stringa racchiusa tra virgolette utilizzata come alias di colonna per un'espressione in un elenco SELECT:

'string_alias' = expression
expression [AS] column_alias

expression [AS] [column_alias]

expression [AS] "column_alias"

expression [AS] 'column_alias'

column_alias = expression
Valori letterali stringa come alias di colonna
Procedure numerate Nessuno. Non usare. ProcNums
Sintassitable_name.index_name nell'istruzione DROP INDEX Sintassiindex_name ON table_name nell'istruzione DROP INDEX. DROP INDEX con nome in due parti
Istruzioni Transact-SQL che non terminano con un punto e virgola. Terminare le istruzioni Transact-SQL con un punto e virgola (;). None
GROUP BY ALL Utilizzare una soluzione personalizzata caso per caso con UNION o una tabella derivata. GROUP BY ALL
ROWGUIDCOL come nome di colonna nelle istruzioni DML. Utilizzare $rowguid. ROWGUIDCOL
IDENTITYCOL come nome di colonna nelle istruzioni DML. Utilizzare $identity. IDENTITYCOL
Utilizzo di # e ## come nomi di tabelle e di stored procedure temporanee. Usare almeno un carattere aggiuntivo. '#' e '##' come nomi di tabelle e stored procedure temporanee
Uso di @, @@ o @@ come identificatori Transact-SQL. Non usare come identificatori @ o @@ o nomi che iniziano con @@. "@" e nomi che iniziano con "@@" come identificatori Transact-SQL
Utilizzo della parola chiave DEFAULT come valore predefinito. Non usare la parola DEFAULT come valore predefinito. Parola chiave DEFAULT come valore predefinito
Utilizzo di uno spazio come separatore tra gli hint di tabella. Per separare gli hint di tabella, utilizzare la virgola. Più hint di tabella senza virgola
L'elenco di selezione di una vista indicizzata aggregata deve contenere COUNT_BIG(*) in modalità di compatibilità 90. Utilizzare COUNT_BIG(*). Elenco di selezioni di una vista indicizzata senza COUNT_BIG(*)
Applicazione indiretta di hint di tabella a una chiamata di una funzione con valori di tabella composta da più istruzioni tramite una vista. Nessuno. Hint di funzione con valori di tabella indiretti
Sintassi di 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 e opzione di database ANSI_NULLS OFF

SET ANSI_PADDING OFF e opzione di database ANSI_PADDING OFF

SET CONCAT_NULL_YIELDS_NULL OFF e opzione di database CONCAT_NULL_YIELDS_NULL OFF

SET OFFSETS
Nessuno.

ANSI_NULLS, ANSI_PADDING e CONCAT_NULLS_YIELDS_NULL sono sempre impostate su ON. SET OFFSETS non è disponibile.
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
Specifica di NOLOCK o READUNCOMMITTED nella clausola FROM di un'istruzione UPDATE o DELETE. Rimuovere l'hint di tabella NOLOCK o READUNCOMMITTED dalla clausola FROM. NOLOCK o READUNCOMMITTED in UPDATE o DELETE
Specifica di hint di tabella senza utilizzare la parola chiave WITH. Utilizzare WITH. Hint di tabella senza WITH
INSERT_HINTS INSERT_HINTS

Strumenti

Funzionalità obsoleta Sostituzione Nome funzionalità
SQL Server Profiler per l'acquisizione della traccia Utilizzare il profile degli eventi estesi incorporato in SQL Server Management Studio. SQL Server Profiler
SQL Server Profiler per la riproduzione della traccia SQL Server Distributed Replay

Trace Management Objects

Funzionalità obsoleta Sostituzione Nome funzionalità
Spazio dei nomi Microsoft.SqlServer.Management.Trace (contiene le API per gli oggetti Trace and Replay di SQL Server) Configurazione della traccia: Microsoft.SqlServer.Management.XEvent

Lettura della traccia: Microsoft.SqlServer.XEvent.Linq

Riproduzione della traccia: nessuna

XML

Funzionalità obsoleta Sostituzione Nome funzionalità
Generazione schema XDR inline La direttiva XMLDATA per l'opzione FOR XML è deprecata. Utilizzare la generazione XSD in caso di modalità RAW e AUTO. Non sono disponibili sostituzioni per la direttiva XMLDATA in modalità EXPLICIT. XMLDATA

Nota

Il parametro OUTPUT del cookie per sp_setapprole è attualmente documentato come varbinary(8000) che rappresenta la lunghezza massima corretta. Tuttavia, l'implementazione corrente restituisce varbinary(50). Se gli sviluppatori hanno allocato varbinary(50) , potrebbe essere necessario apportare modifiche all'applicazione qualora le dimensioni restituite dal cookie aumentino in una versione successiva. Sebbene non si tratti di un problema relativo a elementi deprecati, questo aspetto viene riportato in quanto le modifiche all'applicazione sono simili. Per altre informazioni, vedere sp_setapprole.