Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
gäller för: SQL Server 2017 (14.x) och senare
SQL Server 2017 (14.x) avskrivs:
- Datakvalitetstjänster (DQS)
- Master Data Services (MDS)
Funktioner som har varit föråldrade i tidigare versioner är också föråldrade i SQL Server 2017 (14.x). Information om inaktuella funktioner i andra versioner av SQL Server finns i:
- Inaktuella databasmotorfunktioner i SQL Server 2025 (17.x) förhandsversion
- Inaktuella databasmotorfunktioner i SQL Server 2022 (16.x)
- Inaktuella databasmotorfunktioner i SQL Server 2019 (15.x)
- Inaktuella databasmotorfunktioner i SQL Server 2016 (13.x)
Riktlinjer för utfasning
I den här artikeln beskrivs inaktuella SQL Server Database Engine-funktioner som fortfarande är tillgängliga i SQL Server 2017 (14.x). Inaktuella funktioner bör inte användas i nya program.
När en funktion har markerats som inaktuell innebär det:
- Funktionen är endast i underhållsläge. Inga nya ändringar läggs till, inklusive ändringar som rör hantering av samverkan med nya funktioner.
- Vi strävar efter att inte ta bort en inaktuell funktion från framtida versioner för att göra uppgraderingarna enklare. Men i sällsynta situationer kan vi välja att permanent avbryta (ta bort) funktionen från SQL Server om den begränsar framtida innovationer.
- Använd inte inaktuella funktioner för nytt utvecklingsarbete. För befintliga program planerar du att ändra program som för närvarande använder dessa funktioner så snart som möjligt.
Du kan övervaka användningen av inaktuella funktioner med hjälp av prestandaräknaren och spårningshändelserna för SQL Server Deprecated Features Object. Mer information finns i Använda SQL Server-objekt.
Värdena för dessa räknare är också tillgängliga genom att köra följande instruktion:
SELECT * FROM sys.dm_os_performance_counters
WHERE object_name LIKE '%SQL%Deprecated Features%';
Anmärkning
Den här listan är identisk med SQL Server 2016-listan (13.x). Det finns inga nya inaktuella eller utgångna databasmotorfunktioner som har meddelats för SQL Server 2017 (14.x).
Funktioner som är inaktuella i nästa version av SQL Server
Följande SQL Server Database Engine-funktioner stöds inte i en framtida version av SQL Server. Använd inte de här funktionerna i det nya utvecklingsarbetet och ändra program som för närvarande använder dessa funktioner så snart som möjligt.
Värdet Funktionsnamn visas i spårningshändelser som ObjectName och i prestandaräknare och sys.dm_os_performance_counters som instansnamn.
Funktions-ID-värdet visas i spårningshändelser som ObjectId.
Säkerhetskopiera och återställ
| Inaktuell funktion | Ersättning | Funktionsnamn | Funktions-ID |
|---|---|---|---|
RESTORE { DATABASE | LOG } WITH [MEDIA]PASSWORD fortsätter att vara inaktuell.BACKUP{ DATABASELOG | } WITH PASSWORD och BACKUP { DATABASE | LOG } WITH MEDIAPASSWORD upphör. |
Ingen. |
BACKUP DATABASE eller BACKUP LOG WITH PASSWORDBACKUP DATABASE eller BACKUP LOG WITH MEDIAPASSWORD |
104 103 |
Efterlevnadsnivåer
| Inaktuell funktion | Ersättning | Funktionsnamn | Funktions-ID |
|---|---|---|---|
| Uppgradera från version 100 (SQL Server 2008 (10.0.x) och SQL Server 2008 R2 (10.50.x)). | När en SQL Server-version inte stöds markeras de associerade databaskompatibilitetsnivåerna som inaktuella. Vi fortsätter dock att stödja program som är certifierade på alla databaskompatibilitetsnivåer som stöds så länge som möjligt för att göra uppgraderingarna enklare. Mer information om kompatibilitetsnivåer finns i ALTER DATABASE (Transact-SQL) kompatibilitetsnivå. | Databaskompatibilitetsnivå 100 | 108 |
Databasobjekt
| Inaktuell funktion | Ersättning | Funktionsnamn | Funktions-ID |
|---|---|---|---|
| Möjlighet att returnera resultatuppsättningar från utlösare | Ingen | Returnera resultat från utlösare | 12 |
Kryptering
| Inaktuell funktion | Ersättning | Funktionsnamn | Funktions-ID |
|---|---|---|---|
| Kryptering med rc4 eller RC4_128 är inaktuell och är schemalagd att tas bort i nästa version. Dekryptering av RC4 och RC4_128 är inte inaktuell. | Använd en annan krypteringsalgoritm, till exempel AES. | Inaktuell krypteringsalgoritm | 253 |
| Användning av MD2, MD4, MD5, SHA och SHA1 är inaktuell. | Använd SHA2_256 eller SHA2_512 i stället. Äldre algoritmer fortsätter att fungera, men de skapar en utfasningshändelse. | Inaktuell hash-algoritm | Ingen |
Fjärrservrar
| Inaktuell funktion | Ersättning | Funktionsnamn | Funktions-ID |
|---|---|---|---|
sp_addremoteloginsp_addserversp_dropremoteloginsp_helpremoteloginsp_remoteoption |
Ersätt fjärrservrar med hjälp av länkade servrar.
sp_addserver kan endast användas med det lokala alternativet. |
sp_addremoteloginsp_addserversp_dropremoteloginsp_helpremoteloginsp_remoteoption |
70 69 71 72 73 |
| @@remserver | Ersätt fjärrservrar med hjälp av länkade servrar. | Ingen | Ingen |
SET REMOTE_PROC_TRANSACTIONS |
Ersätt fjärrservrar med hjälp av länkade servrar. | SET REMOTE_PROC_TRANSACTIONS |
110 |
Transact-SQL
| Inaktuell funktion | Ersättning | Funktionsnamn | Funktions-ID |
|---|---|---|---|
SET ROWCOUNT för INSERT, UPDATE, och DELETE -instruktioner |
TOP nyckelord |
SET ROWCOUNT |
109 |
| Tabelltips för HOLDLOCK utan parentes. | Använd HOLDLOCK med parenteser. | HOLDLOCK-ledtråd utan parentes | 167 |
Funktioner som är inaktuella i en framtida version av SQL Server
Följande SQL Server Database Engine-funktioner stöds i nästa version av SQL Server. Den specifika versionen av SQL Server har inte fastställts.
Säkerhetskopiera och återställ
| Inaktuell funktion | Ersättning | Funktionsnamn |
|---|---|---|
| SÄKERHETSKOPIERING { DATABAS | LOGG } PÅ BAND SÄKERHETSKOPIERING { DATABAS | LOG } TILL device_that_is_a_tape |
SÄKERHETSKOPIERING { DATABAS | LOG } TILL DISK Säkerhetskopiera { DATABASE | LOG } till device_that_is_a_disk |
SÄKERHETSKOPIERINGSDATABAS ELLER LOGG TILL BAND |
sp_addumpdevice 'tape' |
sp_addumpdevice 'disk' |
ADDING TAPE DEVICE |
sp_helpdevice |
sys.backup_devices |
sp_helpdevice |
Efterlevnadsnivåer
| Inaktuell funktion | Ersättning | Funktionsnamn |
|---|---|---|
sp_dbcmptlevel |
ALTER DATABASE... . SET COMPATIBILITY_LEVEL Mer information finns i ALTER DATABASE (Transact-SQL) kompatibilitetsnivå. |
sp_dbcmptlevel |
| Databaskompatibilitetsnivå 110 och 120. | Planera att uppgradera databasen och programmet för en framtida version. Vi fortsätter dock att stödja program som är certifierade på alla databaskompatibilitetsnivåer som stöds så länge som möjligt för att göra uppgraderingarna enklare. Mer information om kompatibilitetsnivåer finns i ALTER DATABASE (Transact-SQL) kompatibilitetsnivå. | Databaskompatibilitetsnivå 110 Databaskompatibilitetsnivå 120 |
Kollationeringar
| Inaktuell funktion | Ersättning | Funktionsnamn |
|---|---|---|
| Korean_Wansung_Unicode Lithuanian_Classic SQL_AltDiction_CP1253_CS_AS |
Ingen. Dessa sorteringar finns i SQL Server 2005 (9.x), men visas inte via fn_helpcollations. | Korean_Wansung_Unicode Lithuanian_Classic SQL_AltDiction_CP1253_CS_AS |
| Hindi Makedonska |
Dessa sorteringar finns i SQL Server 2005 (9.x) och senare, men visas inte via fn_helpcollations. Använd Macedonian_FYROM_90 och Indic_General_90 i stället. | Hindi Makedonska |
| Azeri_Latin_90 Azeri_Cyrilllic_90 |
Azeri_Latin_100 Azeri_Cyrilllic_100 |
Azeri_Latin_90 Azeri_Cyrilllic_90 |
Datatyper
| Inaktuell funktion | Ersättning | Funktionsnamn |
|---|---|---|
sp_addtypesp_droptype |
CREATE TYPEDROP TYPE |
sp_addtypesp_droptype |
| tidsstämpelsyntax för datatypen rowversion | syntax för rowversion-datatyp | TIMESTAMP |
| Möjlighet att infoga null-värden i tidsstämpelkolumner . | Använd en DEFAULT i stället. |
INSERT NULL till TIMESTAMP kolumner |
| Tabellalternativet "text i rad" | Använd datatyperna varchar(max), nvarchar(max) och varbinary(max). Mer information finns i sp_tableoption. | Alternativ för text i radtabell |
| Datatyper: SMS ntext bild |
Använd datatyperna varchar(max), nvarchar(max) och varbinary(max). | Datatyper: text, ntext eller bild |
Databashantering
| Inaktuell funktion | Ersättning | Funktionsnamn |
|---|---|---|
sp_attach_dbsp_attach_single_file_db |
CREATE DATABASE -instruktion med alternativet FOR ATTACH . Om du vill återskapa flera loggfiler använder du FOR ATTACH_REBUILD_LOG alternativet när en eller flera har en ny plats. |
sp_attach_dbsp_attach_single_file_db |
sp_certify_removablesp_create_removable |
sp_detach_db |
sp_certify_removablesp_create_removable |
sp_dbremove |
DROP DATABASE |
sp_dbremove |
sp_renamedb |
MODIFY NAME i ALTER DATABASE |
sp_renamedb |
Databasobjekt
| Inaktuell funktion | Ersättning | Funktionsnamn |
|---|---|---|
CREATE DEFAULTDROP DEFAULTsp_bindefaultsp_unbindefault |
DEFAULT nyckelord i CREATE TABLE och ALTER TABLE |
CREATE_DROP_DEFAULTsp_bindefaultsp_unbindefault |
CREATE RULEDROP RULEsp_bindrule sp_unbindrule |
CHECK nyckelord i CREATE TABLE och ALTER TABLE |
SKAPA_TA_BORT_REGELsp_bindrulesp_unbindrule |
sp_change_users_login |
Använd ALTER USER. |
sp_change_users_login |
sp_depends |
sys.dm_sql_referencing_entities och sys.dm_sql_referenced_entities |
sp_depends |
sp_getbindtoken |
Använd MARS eller distribuerade transaktioner. | sp_getbindtoken |
Databasalternativ
| Inaktuell funktion | Ersättning | Funktionsnamn |
|---|---|---|
sp_bindsession |
Använd MARS eller distribuerade transaktioner. | sp_bindsession |
sp_resetstatus |
ALTER DATABASE SET { ONLINE | EMERGENCY } |
sp_resetstatus |
TORN_PAGE_DETECTION alternativ för ALTER DATABASE |
PAGE_VERIFY TORN_PAGE_DETECTION alternativ för ALTER DATABASE |
ALTER DATABASE WITH TORN_PAGE_DETECTION |
DBCC
| Inaktuell funktion | Ersättning | Funktionsnamn |
|---|---|---|
| DBCC DBREINDEX |
REBUILD
ALTER INDEXalternativet . |
DBCC DBREINDEX |
| DBCC INDEXDEFRAG |
REORGANIZE alternativ för ALTER INDEX |
DBCC INDEXDEFRAG |
| DBCC SHOWCONTIG | sys.dm_db_index_physical_stats |
DBCC SHOWCONTIG |
| DBCC PINTABLE DBCC UNPINTABLE |
Har ingen effekt. | DBCC [UN]PINTABLE |
Utökade egenskaper
| Inaktuell funktion | Ersättning | Funktionsnamn |
|---|---|---|
| Level0type = "type" och Level0type = "USER" för att lägga till utökade egenskaper till objekt av typen level-1 eller level-2. | Använd Level0type = 'USER' bara för att lägga till en utökad egenskap direkt till en användare eller roll. Använd Level0type = ' SCHEMA' för att lägga till en utökad egenskap till nivå 1-typer som TABLE eller VIEW eller nivå-2-typer som COLUMN eller TRIGGER. Mer information finns i sp_addextendedproperty. |
EXTPROP_LEVEL0TYPEEXTPROP_LEVEL0USER |
Utökade lagrade procedurer
| Inaktuell funktion | Ersättning | Funktionsnamn |
|---|---|---|
xp_grantloginxp_revokeloginxp_loginConfig |
Använd CREATE LOGINAnvänd DROP LOGIN IsIntegratedSecurityOnly argumentet för SERVERPROPERTY |
xp_grantloginxp_revokeloginxp_loginconfig |
Programmering av utökade lagringsprocedurer
| Inaktuell funktion | Ersättning | Funktionsnamn |
|---|---|---|
| srv_alloc konvertera_srv srv_beskriv srv_getbindtoken srv_fick_uppmärksamhet srv_message_handler srv_paramdata srv_paraminfo srv_paramlen srv_parammaxlen srv_paramname srv_parameternummer srv_paramset srv_paramsetoutput srv_paramstatus srv_paramtype srv_pfield srv_pfieldex srv_rpcdb srv_rpcname srv_rpcnummer srv_rpcoptions srv_rpcowner srv_rpcparams srv_skickatklart srv_sendmsg srv_sendrow srv_setcoldata srv_setcollen srv_setutype srv_kommerattkonvertera srv_wsendmsg |
Använd CLR-integrering i stället. | XP_API |
sp_addextendedprocsp_dropextendedprocsp_helpextendedproc |
Använd CLR-integrering i stället. | sp_addextendedprocsp_dropextendedprocsp_helpextendedproc |
xp_grantloginxp_revokeloginxp_loginConfig |
Använd CREATE LOGINAnvänd DROP LOGIN IsIntegratedSecurityOnly argumentet för SERVERPROPERTY |
xp_grantloginxp_revokeloginxp_loginconfig |
Hög tillgänglighet
| Inaktuell funktion | Ersättning | Funktionsnamn |
|---|---|---|
| databasspegling | AlwaysOn-tillgänglighetsgrupper Om din utgåva av SQL Server inte stöder Always On tillgänglighetsgrupper ska du använda loggöverföring. |
DATABASE_MIRRORING |
Indexalternativ
| Inaktuell funktion | Ersättning | Funktionsnamn |
|---|---|---|
sp_indexoption |
ALTER INDEX |
sp_indexoption |
CREATE TABLE, ALTER TABLE, eller CREATE INDEX syntax utan parenteser runt alternativen. |
Skriv om -instruktionen för att använda den aktuella syntaxen. | Indexalternativ |
Instansalternativ
| Inaktuell funktion | Ersättning | Funktionsnamn |
|---|---|---|
sp_configure alternativet "tillåt uppdateringar" |
Systemtabeller är inte längre uppdateringsbara. Inställningen har ingen effekt. |
sp_configure "tillåt uppdateringar" |
sp_configure Alternativ:"lås" "öppna objekt" "ange storlek på arbetsuppsättning" |
Nu konfigureras automatiskt. Inställningen har ingen effekt. |
sp_configure "lås"sp_configure "öppna objekt"sp_configure "ange storlek på arbetsuppsättning" |
sp_configure alternativet "prioritetsökning" |
Systemtabeller är inte längre uppdateringsbara. Inställningen har ingen effekt. Använd alternativet Windows start /high ... program.exe i stället. |
sp_configure "prioriterad ökning" |
sp_configure alternativet "remote proc trans" |
Systemtabeller är inte längre uppdateringsbara. Inställningen har ingen effekt. |
sp_configure "fjärr proc trans" |
Länkade servrar
| Inaktuell funktion | Ersättning | Funktionsnamn |
|---|---|---|
| Ange SQLOLEDB-providern för länkade servrar. | Microsoft OLE DB-drivrutin för SQL Server | SQLOLEDB för länkade servrar |
Metainformation
| Inaktuell funktion | Ersättning | Funktionsnamn |
|---|---|---|
| FILE_ID INDEXNYCKEL_EGENSKAP |
FILE_IDEXsys.index_columns |
FILE_ID INDEXNYCKEL_EGENSKAP |
Interna XML-webbtjänster
| Inaktuell funktion | Ersättning | Funktionsnamn |
|---|---|---|
-instruktionen CREATE ENDPOINTFOR SOAP eller ALTER ENDPOINT med alternativet .sys.endpoint_webmethods sys.soap_endpoints |
Använd Windows Communications Foundation (WCF) eller ASP.NET i stället. | CREATE/ALTER ENDPOINTsys.endpoint_webmethodsEXT_soap_endpoints sys.soap_endpoints |
Annat
| Inaktuell funktion | Ersättning | Funktionsnamn |
|---|---|---|
| DB-Library Inbäddad SQL för C |
Även om databasmotorn fortfarande har stöd för anslutningar från befintliga program som använder api:erna DB-Library och Inbäddade SQL, innehåller den inte de filer eller den dokumentation som krävs för programmering av program som använder dessa API:er. En framtida version av SQL Server Database Engine minskar stödet för anslutningar från DB-Library eller inbäddade SQL-program. Använd inte DB-Library eller inbäddad SQL för att utveckla nya program. Ta bort eventuella beroenden på antingen DB-Library eller Inbäddad SQL när du ändrar befintliga program. I stället för dessa API:er använder du SQLClient-namnområdet eller ett API som ODBC. SQL Server 2019 (15.x) innehåller inte den DB-Library DLL som krävs för att köra dessa program. Om du vill köra DB-Library eller inbäddade SQL-program måste du ha DB-Library DLL från SQL Server version 6.5, SQL Server 7.0 eller SQL Server 2000 (8.x). | Ingen |
Säkerhet
| Inaktuell funktion | Ersättning | Funktionsnamn |
|---|---|---|
Syntaxen ALTER LOGIN WITH SET CREDENTIAL |
Ersatt av den nya ALTER LOGIN ADD syntaxen och DROP CREDENTIAL |
ALTER LOGIN WITH SET CREDENTIAL |
sp_addapprolesp_dropapprole |
CREATE APPLICATION ROLEDROP APPLICATION ROLE |
sp_addapprolesp_dropapprole |
sp_addloginsp_droplogin |
CREATE LOGINDROP LOGIN |
sp_addloginsp_droplogin |
sp_addusersp_dropuser |
CREATE USERDROP USER |
sp_addusersp_dropuser |
sp_grantdbaccesssp_revokedbaccess |
CREATE USERDROP USER |
sp_grantdbaccesssp_revokedbaccess |
sp_addrolesp_droprole |
CREATE ROLEDROP ROLE |
sp_addrolesp_droprole |
sp_approlepasswordsp_password |
ALTER APPLICATION ROLEALTER LOGIN |
sp_approlepasswordsp_password |
sp_changedbowner |
ALTER AUTHORIZATION |
sp_changedbowner |
sp_changeobjectowner |
ALTER SCHEMA eller ALTER AUTHORIZATION |
sp_changeobjectowner |
sp_control_dbmasterkey_password |
En huvudnyckel måste finnas och lösenordet måste vara korrekt. | sp_control_dbmasterkey_password |
sp_defaultdbsp_defaultlanguage |
ALTER LOGIN |
sp_defaultdbsp_defaultlanguage |
sp_denyloginsp_grantloginsp_revokelogin |
ALTER LOGIN DISABLECREATE LOGINDROP LOGIN |
sp_denyloginsp_grantloginsp_revokelogin |
| ANVÄNDARE_ID | DATABASE_HUVUD_ID | ANVÄNDARE_ID |
sp_srvrolepermissionsp_dbfixedrolepermission |
Dessa lagrade procedurer returnerar information som var korrekt i SQL Server 2000 (8.x). Utdata återspeglar inte ändringar i behörighetshierarkin som implementerades i SQL Server 2008. Mer information finns i Behörigheter för fasta serverroller. | sp_srvrolepermissionsp_dbfixedrolepermission |
GRANT ALLDENY ALLREVOKE ALL |
GRANT, DENY, och REVOKE-specifika behörigheter. |
ALLA behörigheter |
| PERMISSIONS inbyggd funktion | Fråga sys.fn_my_permissions i stället. |
TILLÅTELSER |
| SETUSER | EXECUTE AS |
SETUSER |
RC4- och DESX krypteringsalgoritmer |
Använd en annan algoritm, till exempel AES. |
DESX algoritm |
Serverkonfigurationsalternativ
| Inaktuell funktion | Ersättning | Funktionsnamn |
|---|---|---|
| c2-granskningsalternativet standardalternativet spårning aktiverat standardalternativet spårning aktiverat |
Common Criteria-kompatibilitet aktiverad serverkonfigurationsalternativ översikt över Extended Events |
sp_configure "c2-granskningsläge"sp_configure "standardspårning aktiverat" |
SMO-klasser
| Inaktuell funktion | Ersättning | Funktionsnamn |
|---|---|---|
| Microsoft.SQLServer. Management.Smo.Information klass Microsoft.SQLServer. Management.Smo.Settings klass Microsoft.SQLServer.Management. Smo.DatabaseOptions klass Microsoft.SqlServer.Management.Smo. DatabaseDdlTrigger.NotForReplication fastighet / egendom |
Microsoft.SqlServer. Management.Smo.Server klass * Microsoft.SqlServer. Management.Smo.Server-klass Microsoft.SqlServer. Management.Smo.Database klass Ingen |
Ingen |
SQL Server-agent
| Inaktuell funktion | Ersättning | Funktionsnamn |
|---|---|---|
|
net send-meddelande Pager-meddelande |
E-postmeddelande E-postmeddelande |
Ingen |
SQL Server Management Studio
| Inaktuell funktion | Ersättning | Funktionsnamn |
|---|---|---|
| Solution Explorer-integrering i SQL Server Management Studio | Ingen |
System lagrade procedurer och funktioner
| Inaktuell funktion | Ersättning | Funktionsnamn |
|---|---|---|
sp_db_increased_partitions |
Ingen. Stöd för ökade partitioner är tillgängligt som standard i SQL Server 2019 (15.x). | sp_db_increased_partitions |
| fn_virtualservernodes fn_servershareddrives |
sys.dm_os_cluster_nodessys.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 |
Systemtabeller
| Inaktuell funktion | Ersättning | Funktionsnamn |
|---|---|---|
| sysaltfiles syscacheobjects syscolumns syscomments sysconfigures sysconstraints syscurconfigs sysdatabases sysdepends systemenheter sysfilegroups sysfiles sysforeignkeys sysfulltextcatalogs sysindex sysindexkeys syslockinfo syslogins sysmembers systemmeddelanden sysobjects sysoledbusers sysopentapes sysperfinfo syspermissions sysprocesses sysprotects sysreferences systemfjärrinloggningar sysservers systemtyper sysusers |
Kompatibilitetsvyer. Mer information finns i Systemkompatibilitetsvyer. Viktig: Kompatibilitetsvyerna exponerar inte metadata för funktioner som introducerades i SQL Server 2005 (9.x). Vi rekommenderar att du uppgraderar dina program så att de använder katalogvyer. Mer information finns i Systemkatalogvyer. |
sysaltfiles syscacheobjects syscolumns syscomments sysconfigures sysconstraints syscurconfigs sysdatabases sysdepends systemenheter sysfilegroups sysfiles sysforeignkeys sysfulltextcatalogs sysindex sysindexkeys syslockinfo syslogins sysmembers systemmeddelanden sysobjects sysoledbusers sysopentapes sysperfinfo syspermissions sysprocesses sysprotects sysreferences systemfjärrinloggningar sysservers systemtyper sysusers |
sys.numbered_proceduressys.numbered_procedure_parameters |
Ingen | numrerade_procedurer numrerade_procedurparametrar |
SQL Trace lagrade procedurer, funktioner och katalogvyer
| Inaktuell funktion | Ersättning | Funktionsnamn |
|---|---|---|
sp_trace_createsp_trace_seteventsp_trace_setfiltersp_trace_setstatusfn_trace_geteventinfo fn_trace_getfilterinfo fn_trace_getinfo fn_trace_gettable sys.tracessys.trace_eventssys.trace_event_bindingssys.trace_categories sys.trace_columns sys.spåra_undreklass_värden |
översikt över Extended Events | sp_trace_createsp_trace_seteventsp_trace_setfiltersp_trace_setstatusfn_trace_geteventinfo fn_trace_getfilterinfo fn_trace_getinfo fn_trace_gettable sys.tracessys.trace_eventssys.trace_event_bindingssys.trace_categoriessys.trace_columnssys.trace_subclass_values |
Systemvyer
| Inaktuell funktion | Ersättning | Funktionsnamn |
|---|---|---|
sys.sql_dependencies |
sys.sql_expression_dependencies |
sys.sql_dependencies |
Tabellkomprimering
| Inaktuell funktion | Ersättning | Funktionsnamn |
|---|---|---|
| Användning av vardecimalt lagringsformat. | Vardecimalt lagringsformat är inaktuellt. SQL Server 2019 (15.x) datakomprimering, komprimerar decimalvärden och andra datatyper. Vi rekommenderar att du använder datakomprimering i stället för vardecimalt lagringsformat. | Vardecimalt lagringsformat |
Användning av proceduren sp_db_vardecimal_storage_format . |
Vardecimalt lagringsformat är inaktuellt. SQL Server 2019 -datakomprimering (15.x), komprimerar decimalvärden och andra datatyper. Vi rekommenderar att du använder datakomprimering i stället för vardecimalt lagringsformat. | sp_db_vardecimal_storage_format |
Användning av proceduren sp_estimated_rowsize_reduction_for_vardecimal . |
Använd datakomprimering och proceduren sp_estimate_data_compression_savings i stället. |
sp_estimated_rowsize_reduction_for_vardecimal |
Textpekare
| Inaktuell funktion | Ersättning | Funktionsnamn |
|---|---|---|
| SKRIVTEXT UPPDATERA TEXT LÄSTEXT |
Ingen | UPDATETEXT eller WRITETEXT LÄSTEXT |
| TEXTPTR() TEXTVALID() |
Ingen | TEXTPTR TEXTVALID |
Transact-SQL
| Inaktuell funktion | Ersättning | Funktionsnamn |
|---|---|---|
:: funktionsanropssekvens |
Ersatt av SELECT <column_list> FROM sys.<function_name>().Ersätt SELECT * FROM ::fn_virtualfilestats(2,1)till exempel med SELECT * FROM sys.fn_virtualfilestats(2,1). |
Funktionen '::' anropar syntax |
| Tre- och fyrdelade kolumnreferenser. | Tvådelade namn är det standardkompatibla beteendet. | Mer än kolumnnamn i två delar |
En sträng som omges av citattecken som används som ett kolumnalias för ett uttryck i en SELECT lista:"string_alias" = uttryck |
uttryck [AS] column_alias uttryck [AS] [kolumn_alias] uttryck [AS] "column_alias" uttryck [AS] "column_alias" column_alias = uttryck |
Strängliteraler som kolumnalias |
| Numrerade procedurer | Ingen. Använd inte. | ProcNums |
table_name.index_name syntax i DROP INDEX |
<index_name> ON <table_name> syntax i DROP INDEX. |
DROP INDEX med tvådelade namn |
| Slutar inte Transact-SQL-satser med semikolon. | Avsluta Transact-SQL-instruktioner med semikolon (;). |
Ingen |
GROUP BY ALL |
Använd en anpassad lösning från fall till fall med UNION eller härledd tabell. |
GROUP BY ALL |
ROWGUIDCOL som ett kolumnnamn i DML-instruktioner. |
Använd $rowguid. | ROWGUIDCOL |
| IDENTITYCOL som kolumnnamn i DML-instruktioner. | Använd $identity. | IDENTITYCOL |
| Användning av #, ## som tillfällig tabell och temporära lagrade procedurnamn. | Använd minst ett extra tecken. | '#' och '##' som namn på temporära tabeller och lagrade procedurer |
| Användning av @eller @@ som Transact-SQL identifierare. | Använd inte @ eller @@ eller namn som börjar med @@ som identifierare. | @och namn som börjar med @@som Transact-SQL identifierare |
Användning av DEFAULT nyckelord som standardvärde. |
Använd inte ordet DEFAULT som standardvärde. |
DEFAULT nyckelord som standardvärde |
| Användning av ett blanksteg som avgränsare mellan tabelltips. | Använd ett kommatecken för att separera tabelltips. | Flera tabelltips utan kommatecken |
| Den valda listan över en aggregerad indexerad vy måste innehålla COUNT_BIG (*) i 90-kompatibilitetsläge | Använd COUNT_BIG (*). | Indexvyn väljer lista utan COUNT_BIG(*) |
| Den indirekta tillämpningen av tabellen antyder ett anrop av en tabellvärdesfunktion med flera instruktioner (TVF) via en vy. | Ingen. | Indirekta TVF-tips |
ALTER DATABASE syntax:MODIFY FILEGROUP READONLYMODIFY FILEGROUP READWRITE |
MODIFY FILEGROUP READ_ONLYMODIFY FILEGROUP READ_WRITE |
MODIFY FILEGROUP READONLYMODIFY FILEGROUP READWRITE |
SET ANSI_NULLS OFF och ANSI_NULLS OFF databasalternativSET ANSI_PADDING OFF och ANSI_PADDING OFF databasalternativSET CONCAT_NULL_YIELDS_NULL OFF och CONCAT_NULL_YIELDS_NULL OFF databasalternativSET OFFSETS |
Ingen.ANSI_NULLS, ANSI_PADDING och CONCAT_NULLS_YIELDS_NULL är alltid inställda på ON.
SET OFFSETS är inte tillgängliga. |
SET ANSI_NULLS OFFSET ANSI_PADDING OFFSET CONCAT_NULL_YIELDS_NULL OFFSET OFFSETSALTER DATABASE SET ANSI_NULLS OFFALTER DATABASE SET ANSI_PADDING OFFALTER DATABASE SET CONCAT_NULL_YIELDS_NULL OFF |
SET FMTONLY |
sys.dm_exec_describe_first_result_set, sys.dm_exec_describe_first_result_set_for_object, sp_describe_first_result_set och sp_describe_undeclared_parameters. | SET FMTONLY |
Ange eller READUNCOMMITTED i -instruktionen FROM i en UPDATE -instruktionDELETE.NOLOCK |
Ta bort tabelltipsen NOLOCKFROM eller READUNCOMMITTED från -satsen. |
NOLOCK eller READUNCOMMITTED i UPDATE eller DELETE |
Ange tabelltips utan att använda nyckelordet WITH . |
Använd WITH. |
Tabelltips utan WITH |
| INSERT_HINTS | INSERT_HINTS |
Arbetsredskap
| Inaktuell funktion | Ersättning | Funktionsnamn |
|---|---|---|
| SQL Server Profiler för spårfångst | Använd Extended Events Profiler inbäddat i SQL Server Management Studio. | SQL Server Profiler |
| SQL Server Profiler för återuppspelning av spår | Översikt över distribuerad SQL Server-repris |
Spårningshanteringsobjekt
| Inaktuell funktion | Ersättning | Funktionsnamn |
|---|---|---|
| Microsoft.SqlServer.Management.Trace-namnområdet (innehåller API:erna för SQL Server Trace- och Replay-objekt) | Spårningskonfiguration: Microsoft.SqlServer.Management.XEvent Spårningsläsning: Microsoft.SqlServer.XEvent.Linq Spårningsuppspelning: Ingen |
XML
| Inaktuell funktion | Ersättning | Funktionsnamn |
|---|---|---|
| Integrerad generering av XDR-scheman | XMLDATA-direktivet till FOR XML alternativet är inaktuellt. Använd XSD-generering när det gäller RAW lägen och AUTO lägen. XMLDATA-direktivet ersätts inte i EXPLICT-läge. |
XMLDATA |
Anmärkning
Cookieparametern OUTPUT för dokumenteras för sp_setapprole närvarande som varbinary(8000) som är rätt maximal längd. Den aktuella implementeringen returnerar dock varbinary(50). Om utvecklare har allokerat varbinary(50) kan programmet kräva ändringar om cookiens returstorlek ökar i en framtida version. Även om det inte är ett utfasningsproblem nämns detta i det här avsnittet eftersom programjusteringarna är liknande. Mer information finns i sp_setapprole.