Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy: SQL Server 2017 (14.x) i nowszych
Program SQL Server 2017 (14.x) jest przestarzały:
- Usługi Zarządzania Jakością Danych (DQS)
- Usługi Master Data Services (MDS)
Funkcje wycofane w poprzednich wersjach są również wycofane w programie SQL Server 2017 (14.x). Aby uzyskać informacje o przestarzałych funkcjach w innych wersjach programu SQL Server, zobacz:
- Przestarzałe funkcje silnika bazy danych w programie SQL Server 2025 (17.x)
- Wycofane funkcje silnika bazy danych w programie SQL Server 2022 (16.x)
- Przestarzałe funkcje silnika bazy danych w programie SQL Server 2019 (15.x)
- Przestarzałe funkcje silnika bazy danych w programie SQL Server 2016 (13.x)
Wytyczne dotyczące deprecjacji
W tym artykule opisano przestarzałe funkcje aparatu bazy danych programu SQL Server, które są nadal dostępne w programie SQL Server 2017 (14.x). Przestarzałe funkcje nie powinny być używane w nowych aplikacjach.
Gdy funkcja jest oznaczona jako przestarzała, oznacza to:
- Ta funkcja jest tylko w trybie konserwacji. Nie są dodawane żadne nowe zmiany, w tym zmiany związane z współdziałaniem z nowymi funkcjami.
- Staramy się nie usuwać przestarzałej funkcji z przyszłych wersji, aby ułatwić uaktualnianie. Jednak w rzadkich sytuacjach możemy zdecydować się na trwałe zaprzestanie (usunięcie) funkcji z programu SQL Server, jeśli ogranicza przyszłe innowacje.
- W przypadku nowych prac programistycznych nie używaj przestarzałych funkcji. W przypadku istniejących aplikacji zaplanuj modyfikowanie aplikacji, które obecnie używają tych funkcji tak szybko, jak to możliwe.
Korzystanie z przestarzałych funkcji można monitorować przy użyciu licznika wydajności obiektów funkcji programu SQL Server przestarzałych i śledzenia zdarzeń. Aby uzyskać więcej informacji, zobacz Use SQL Server Objects.
Wartości tych liczników są również dostępne, wykonując następującą instrukcję:
SELECT * FROM sys.dm_os_performance_counters
WHERE object_name LIKE '%SQL%Deprecated Features%';
Uwaga / Notatka
Ta lista jest identyczna z listą programu SQL Server 2016 (13.x). Dla programu SQL Server 2017 (14.x) nie ogłoszono żadnych nowych funkcji przestarzałych lub wycofanych aparatu bazy danych.
Funkcje przestarzałe w następnej wersji programu SQL Server
Następujące funkcje aparatu bazy danych programu SQL Server nie będą obsługiwane w przyszłej wersji programu SQL Server. Nie używaj tych funkcji w nowych pracach programistycznych i modyfikuj aplikacje, które obecnie używają tych funkcji tak szybko, jak to możliwe. Wartość nazwa funkcji jest wyświetlana w zdarzeniach śledzenia jako ObjectName i w licznikach wydajności oraz sys.dm_os_performance_counters jako nazwę wystąpienia. Wartość identyfikatora funkcji pojawia się w zdarzeniach śledzenia jako ObjectId.
Tworzenie kopii zapasowej i przywracanie
| Przestarzała funkcja | Zastąpienie | Nazwa funkcji | Identyfikator funkcji |
|---|---|---|---|
RESTORE { DATABASE | LOG } WITH [MEDIA]PASSWORD nadal jest przestarzały.BACKUP{ DATABASE | LOG} WITH PASSWORD i BACKUP { DATABASE | LOG } WITH MEDIAPASSWORD nie są przerywane. |
Żaden. |
BACKUP DATABASE lub BACKUP LOG WITH PASSWORDBACKUP DATABASE lub BACKUP LOG WITH MEDIAPASSWORD |
104 103 |
Poziomy zgodności
| Przestarzała funkcja | Zastąpienie | Nazwa funkcji | Identyfikator funkcji |
|---|---|---|---|
| Uaktualnij z wersji 100 (SQL Server 2008 (10.0.x) i SQL Server 2008 R2 (10.50.x)). | Gdy wersja programu SQL Server nie jest obsługiwana, skojarzone poziomy zgodności bazy danych są oznaczone jako przestarzałe. Jednak nadal obsługujemy aplikacje certyfikowane na dowolnym obsługiwanym poziomie zgodności bazy danych tak długo, jak to możliwe, aby ułatwić uaktualnianie. Aby uzyskać więcej informacji na temat poziomów zgodności, zobacz ALTER DATABASE (Transact-SQL) poziom zgodności. | Poziom zgodności bazy danych 100 | 108 |
Obiekty bazy danych
| Przestarzała funkcja | Zastąpienie | Nazwa funkcji | Identyfikator funkcji |
|---|---|---|---|
| Możliwość zwracania zestawów wyników z wyzwalaczy | Żaden | Zwracanie wyników z wyzwalacza | 12 |
Szyfrowanie
| Przestarzała funkcja | Zastąpienie | Nazwa funkcji | Identyfikator funkcji |
|---|---|---|---|
| Szyfrowanie przy użyciu wersji RC4 lub RC4_128 jest przestarzałe i ma zostać usunięte w następnej wersji. Odszyfrowywanie RC4 i RC4_128 nie jest przestarzałe. | Użyj innego algorytmu szyfrowania, takiego jak AES. | Przestarzały algorytm szyfrowania | 253 |
| Używanie md2, MD4, MD5, SHA i SHA1 jest przestarzałe. | Zamiast tego użyj SHA2_256 lub SHA2_512. Starsze algorytmy nadal działają, ale zgłaszają zdarzenie wycofania. | Przestarzały algorytm skrótu | Żaden |
Serwery zdalne
| Przestarzała funkcja | Zastąpienie | Nazwa funkcji | Identyfikator funkcji |
|---|---|---|---|
sp_addremoteloginsp_addserversp_dropremoteloginsp_helpremoteloginsp_remoteoption |
Zastąp serwery zdalne przy użyciu serwerów połączonych.
sp_addserver można używać tylko z opcją lokalną. |
sp_addremoteloginsp_addserversp_dropremoteloginsp_helpremoteloginsp_remoteoption |
70 69 71 72 73 |
| @@remserver | Zastąp serwery zdalne przy użyciu serwerów połączonych. | Żaden | Żaden |
SET REMOTE_PROC_TRANSACTIONS |
Zastąp serwery zdalne przy użyciu serwerów połączonych. | SET REMOTE_PROC_TRANSACTIONS |
110 |
Transact-SQL
| Przestarzała funkcja | Zastąpienie | Nazwa funkcji | Identyfikator funkcji |
|---|---|---|---|
SET ROWCOUNTdla instrukcji INSERT, UPDATEi DELETE |
TOP słowo kluczowe |
SET ROWCOUNT |
109 |
| Wskazówka tabeli HOLDLOCK bez nawiasu. | Użyj funkcji HOLDLOCK z nawiasem. | Sugestia dotycząca tabeli HOLDLOCK bez nawiasów | 167 |
Funkcje przestarzałe w przyszłej wersji programu SQL Server
Następujące funkcje aparatu bazy danych programu SQL Server są obsługiwane w następnej wersji programu SQL Server. Określona wersja programu SQL Server nie została określona.
Tworzenie kopii zapasowej i przywracanie
| Przestarzała funkcja | Zastąpienie | Nazwa funkcji |
|---|---|---|
| KOPIA ZAPASOWA { BAZA DANYCH | DZIENNIK } NA TAŚMIE TWORZENIE KOPII ZAPASOWEJ { BAZY DANYCH | LOGU } NA device_that_is_a_tape |
KOPIA ZAPASOWA { BAZA DANYCH | LOG } NA DYSKU UTWORZENIE KOPII ZAPASOWEJ {BAZA DANYCH | LOG} NA device_that_is_a_disk |
KOPIA ZAPASOWA BAZY DANYCH LUB DZIENNIK NA TAŚMIE |
sp_addumpdevice 'tape' |
sp_addumpdevice 'disk' |
ADDING TAPE DEVICE |
sp_helpdevice |
sys.backup_devices |
sp_helpdevice |
Poziomy zgodności
| Przestarzała funkcja | Zastąpienie | Nazwa funkcji |
|---|---|---|
sp_dbcmptlevel |
ALTER DATABASE ... SET COMPATIBILITY_LEVEL. Aby uzyskać więcej informacji, zobacz ALTER DATABASE (Transact-SQL) poziom zgodności. |
sp_dbcmptlevel |
| Poziom zgodności bazy danych 110 i 120. | Zaplanuj uaktualnienie bazy danych i aplikacji do przyszłej wersji. Jednak nadal obsługujemy aplikacje certyfikowane na dowolnym obsługiwanym poziomie zgodności bazy danych tak długo, jak to możliwe, aby ułatwić uaktualnianie. Aby uzyskać więcej informacji na temat poziomów zgodności, zobacz ALTER DATABASE (Transact-SQL) poziom zgodności. | Poziom zgodności bazy danych 110 Poziom zgodności bazy danych 120 |
Sortowania
| Przestarzała funkcja | Zastąpienie | Nazwa funkcji |
|---|---|---|
| Korean_Wansung_Unicode Litewski_Klasyczny SQL_AltDiction_CP1253_CS_AS |
Żaden. Te sortowania istnieją w programie SQL Server 2005 (9.x), ale nie są widoczne za pośrednictwem fn_helpcollations. | Korean_Wansung_Unicode Litewski_Klasyczny SQL_AltDiction_CP1253_CS_AS |
| Język hindi Macedoński |
Te sortowania istnieją w programie SQL Server 2005 (9.x) i nowszym, ale nie są widoczne za pośrednictwem fn_helpcollations. Zamiast tego użyj Macedonian_FYROM_90 i Indic_General_90. | Język hindi Macedoński |
| Azeri_Latin_90 Azeri_Cyrilllic_90 |
Azeri_Latin_100 Azeri_Cyrilllic_100 |
Azeri_Latin_90 Azeri_Cyrilllic_90 |
Typy danych
| Przestarzała funkcja | Zastąpienie | Nazwa funkcji |
|---|---|---|
sp_addtypesp_droptype |
CREATE TYPEDROP TYPE |
sp_addtypesp_droptype |
| składnia timestamp dla typu danych rowversion | składnia typu danych rowversion | TIMESTAMP |
| Możliwość wstawiania wartości null do kolumn znacznika czasu . | Zamiast tego użyj elementu DEFAULT . |
INSERT NULL do TIMESTAMP kolumn |
| Opcja tabeli "text in row" (tekst w wierszu) | Użyj typów danych varchar(max), nvarchar(max)i varbinary(max). Aby uzyskać więcej informacji, zobacz sp_tableoption. | Opcja Tekst w tabeli wierszy |
| Typy danych: tekst tekst obraz |
Użyj typów danych varchar(max), nvarchar(max)i varbinary(max). | Typy danych: tekst, ntekst lub obraz |
Zarządzanie bazami danych
| Przestarzała funkcja | Zastąpienie | Nazwa funkcji |
|---|---|---|
sp_attach_dbsp_attach_single_file_db |
CREATE DATABASE instrukcja z opcją FOR ATTACH . Aby ponownie skompilować wiele plików dziennika, jeśli co najmniej jedna lokalizacja ma nową lokalizację, użyj FOR ATTACH_REBUILD_LOG opcji . |
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 w ALTER DATABASE |
sp_renamedb |
Obiekty bazy danych
| Przestarzała funkcja | Zastąpienie | Nazwa funkcji |
|---|---|---|
CREATE DEFAULTDROP DEFAULTsp_bindefaultsp_unbindefault |
DEFAULTsłowo kluczowe w i CREATE TABLEALTER TABLE |
CREATE_DROP_DEFAULTsp_bindefaultsp_unbindefault |
CREATE RULEDROP RULEsp_bindrule sp_unbindrule |
CHECKsłowo kluczowe w i CREATE TABLEALTER TABLE |
UTWÓRZ_USUŃ_ZASADĘsp_bindrulesp_unbindrule |
sp_change_users_login |
Użyj ALTER USER. |
sp_change_users_login |
sp_depends |
sys.dm_sql_referencing_entities i sys.dm_sql_referenced_entities |
sp_depends |
sp_getbindtoken |
Użyj usługi MARS lub transakcji rozproszonych. | sp_getbindtoken |
Opcje bazy danych
| Przestarzała funkcja | Zastąpienie | Nazwa funkcji |
|---|---|---|
sp_bindsession |
Użyj usługi MARS lub transakcji rozproszonych. | sp_bindsession |
sp_resetstatus |
ALTER DATABASE SET { ONLINE | EMERGENCY } |
sp_resetstatus |
TORN_PAGE_DETECTION opcja ALTER DATABASE |
PAGE_VERIFY TORN_PAGE_DETECTION opcja ALTER DATABASE |
ALTER DATABASE WITH TORN_PAGE_DETECTION |
DBCC
| Przestarzała funkcja | Zastąpienie | Nazwa funkcji |
|---|---|---|
| DBCC DBREINDEX |
REBUILDopcja .ALTER INDEX |
DBCC DBREINDEX |
| DBCC INDEXDEFRAG |
REORGANIZE opcja ALTER INDEX |
DBCC INDEXDEFRAG |
| DBCC SHOWCONTIG | sys.dm_db_index_physical_stats |
DBCC SHOWCONTIG |
| DBCC PINTABLE DBCC UNPINTABLE |
Nie ma żadnego efektu. | DBCC [UN]PINTABLE |
Właściwości rozszerzone
| Przestarzała funkcja | Zastąpienie | Nazwa funkcji |
|---|---|---|
| Level0type = "type" i Level0type = "USER" w celu dodania właściwości rozszerzonych do obiektów typu level-1 lub level-2. | Użyj parametru Level0type = "USER", aby dodać właściwość rozszerzoną bezpośrednio do użytkownika lub roli. Użyj parametru Level0type = " SCHEMA", aby dodać właściwość rozszerzoną do typów poziom-1, takich jak lub VIEW, lub level-2, takich jak TABLE COLUMN lub TRIGGER. Aby uzyskać więcej informacji, zobacz sp_addextendedproperty. |
EXTPROP_LEVEL0TYPEEXTPROP_UżytkownikPoziom0 |
Rozszerzone procedury składowane
| Przestarzała funkcja | Zastąpienie | Nazwa funkcji |
|---|---|---|
xp_grantloginxp_revokeloginxp_loginConfig |
Użyj CREATE LOGINUżyj DROP LOGIN IsIntegratedSecurityOnly argumentu SERVERPROPERTY |
xp_grantloginxp_revokeloginxp_loginconfig |
Rozszerzone programowanie procedur składowanych
| Przestarzała funkcja | Zastąpienie | Nazwa funkcji |
|---|---|---|
| srv_alloc srv_convert srv_opis srv_getbindtoken srv_zwrócił_uwagę srv_message_handler srv_paramdata Informacje o parametrach serwera 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 serwer_wysylka_zakonczona Funkcja "srv_sendmsg" srv_sendrow srv_setcoldata srv_setcollen srv_setutype usł_wykonwersja srv_wsendmsg |
Zamiast tego użyj integracji środowiska CLR. | XP_API |
sp_addextendedprocsp_dropextendedprocsp_helpextendedproc |
Zamiast tego użyj integracji środowiska CLR. | sp_addextendedprocsp_dropextendedprocsp_helpextendedproc |
xp_grantloginxp_revokeloginxp_loginConfig |
Użyj CREATE LOGINUżyj DROP LOGIN IsIntegratedSecurityOnly argumentu SERVERPROPERTY |
xp_grantloginxp_revokeloginxp_loginconfig |
Wysoka dostępność
| Przestarzała funkcja | Zastąpienie | Nazwa funkcji |
|---|---|---|
| dublowanie bazy danych | Grupy dostępności Always On Jeśli twoja wersja programu SQL Server nie obsługuje grup dostępności Always On, użyj log shipping. |
Lustrzane Odbicie Bazy Danych |
Opcje indeksu
| Przestarzała funkcja | Zastąpienie | Nazwa funkcji |
|---|---|---|
sp_indexoption |
ALTER INDEX |
sp_indexoption |
CREATE TABLE, ALTER TABLElub CREATE INDEX składnia bez nawiasów wokół opcji. |
Zastąp ponownie instrukcję , aby użyć bieżącej składni. | OPCJA_INDEKSOWANIA |
Opcje wystąpienia
| Przestarzała funkcja | Zastąpienie | Nazwa funkcji |
|---|---|---|
sp_configure opcja "Zezwalaj na aktualizacje" |
Tabele systemowe nie są już możliwe do zaktualizowania. Ustawienie nie ma wpływu. |
sp_configure "Zezwalaj na aktualizacje" |
sp_configure Opcje:zamki "otwarte obiekty" "ustaw rozmiar zestawu roboczego" |
Teraz automatycznie skonfigurowano. Ustawienie nie ma wpływu. |
sp_configure "blokady"sp_configure "otwarte obiekty"sp_configure "ustaw rozmiar zestawu roboczego" |
sp_configure opcja "zwiększenie priorytetu" |
Tabele systemowe nie są już możliwe do zaktualizowania. Ustawienie nie ma wpływu. Zamiast tego użyj opcji "start /high ... program.exe" systemu Windows. |
sp_configure "zwiększenie priorytetu" |
sp_configure opcja "remote proc trans" |
Tabele systemowe nie są już możliwe do zaktualizowania. Ustawienie nie ma wpływu. |
sp_configure "remote proc trans" |
Połączone serwery
| Przestarzała funkcja | Zastąpienie | Nazwa funkcji |
|---|---|---|
| Określanie dostawcy bazy danych SQLOLEDB dla serwerów połączonych. | sterownik Microsoft OLE DB dla programu SQL Server | SQLOLEDB dla serwerów połączonych |
Metadane
| Przestarzała funkcja | Zastąpienie | Nazwa funkcji |
|---|---|---|
| FILE_ID WŁAŚCIWOŚĆ_KLUCZA_INDEKSU |
FILE_IDEXsys.index_columns |
FILE_ID WŁAŚCIWOŚĆ_KLUCZA_INDEKSU |
Natywne usługi sieci Web XML
| Przestarzała funkcja | Zastąpienie | Nazwa funkcji |
|---|---|---|
Instrukcja CREATE ENDPOINT or ALTER ENDPOINT z opcją FOR SOAP .sys.endpoint_webmethods sys.soap_endpoints |
Zamiast tego użyj programu Windows Communications Foundation (WCF) lub ASP.NET. | CREATE/ALTER ENDPOINTsys.endpoint_webmethodsEXT_punkty_końcowe_SOAP sys.soap_endpoints |
Pozostałe
| Przestarzała funkcja | Zastąpienie | Nazwa funkcji |
|---|---|---|
| DB-Library Osadzony język SQL dla języka C |
Mimo że aparat bazy danych nadal obsługuje połączenia z istniejących aplikacji używających interfejsów API DB-Library i Embedded SQL APIs, nie zawiera plików ani dokumentacji wymaganych do realizacji zadań programistycznych w aplikacjach korzystających z tych interfejsów API. W przyszłej wersji aparatu bazy danych programu SQL Server zostanie wycofane wsparcie dla połączeń z DB-Library lub aplikacji korzystających z osadzonego SQL. Nie używaj DB-Library ani osadzonego języka SQL do tworzenia nowych aplikacji. Usuń wszelkie zależności od DB-Library lub osadzonej bazy danych SQL podczas modyfikowania istniejących aplikacji. Zamiast tych API użyj przestrzeni nazw SQLClient lub interfejsu API, takiego jak ODBC. Program SQL Server 2019 (15.x) nie zawiera biblioteki DLL DB-Library wymaganej do uruchamiania tych aplikacji. Aby uruchomić DB-Library lub osadzone aplikacje SQL, musisz mieć dostęp do biblioteki DLL DB-Library z programu SQL Server w wersji 6.5, programu SQL Server 7.0 lub programu SQL Server 2000 (8.x). | Żaden |
Zabezpieczenia
| Przestarzała funkcja | Zastąpienie | Nazwa funkcji |
|---|---|---|
Składnia ALTER LOGIN WITH SET CREDENTIAL |
Zastąpione przez nową ALTER LOGIN ADD i DROP CREDENTIAL składnię |
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 lub ALTER AUTHORIZATION |
sp_changeobjectowner |
sp_control_dbmasterkey_password |
Klucz główny musi istnieć, a hasło musi być poprawne. | 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 |
| ID_UŻYTKOWNIKA | IDENTYFIKATOR_UŻYTKOWNIKA_BAZY_DANYCH | ID_UŻYTKOWNIKA |
sp_srvrolepermissionsp_dbfixedrolepermission |
Te procedury składowane zwracają informacje poprawne w programie SQL Server 2000 (8.x). Dane wyjściowe nie odzwierciedlają zmian w hierarchii uprawnień zaimplementowanych w programie SQL Server 2008. Aby uzyskać więcej informacji, zobacz Uprawnienia stałych ról serwera. | sp_srvrolepermissionsp_dbfixedrolepermission |
GRANT ALLDENY ALLREVOKE ALL |
GRANT, DENYi REVOKE- specyficzne uprawnienia. |
WSZYSTKIE uprawnienia |
| Funkcja wewnętrzna "PERMISSIONS" | Zamiast tego wykonaj zapytanie sys.fn_my_permissions . |
Uprawnienia |
| SETUSER | EXECUTE AS |
SETUSER |
Rc4 i DESX algorytmy szyfrowania |
Użyj innego algorytmu, takiego jak AES. |
DESX algorytm |
Opcje konfiguracji serwera
| Przestarzała funkcja | Zastąpienie | Nazwa funkcji |
|---|---|---|
| Opcja inspekcji c2, opcja domyślnego śledzenia włączona. domyślna opcja śledzenia włączona |
opcja konfiguracji serwera z włączoną obsługą typowych kryteriów Omówienie zdarzeń rozszerzonych |
sp_configure "Tryb inspekcji c2"sp_configure "Domyślne śledzenie włączone" |
Klasy SMO
| Przestarzała funkcja | Zastąpienie | Nazwa funkcji |
|---|---|---|
| Microsoft.SQLServer. Management.Smo.Information klasa Microsoft.SQLServer. Management.Smo.Settings klasa Microsoft.SQLServer.Management. Smo.DatabaseOptions klasa Microsoft.SqlServer.Management.Smo. DatabaseDdlTrigger.NotForReplication właściwość |
Microsoft.SqlServer. Management.Smo.Server klasa * Microsoft.SqlServer. Management.Smo.Server, klasa Microsoft.SqlServer. Management.Smo.Database klasa Żaden |
Żaden |
Agent serwera SQL
| Przestarzała funkcja | Zastąpienie | Nazwa funkcji |
|---|---|---|
|
net send powiadomienie Powiadomienie pagera |
Powiadomienie e-mail Powiadomienie e-mail |
Żaden |
SQL Server Management Studio
| Przestarzała funkcja | Zastąpienie | Nazwa funkcji |
|---|---|---|
| Integracja Eksploratora rozwiązań w programie SQL Server Management Studio | Żaden |
Systemowe procedury składowane i funkcje
| Przestarzała funkcja | Zastąpienie | Nazwa funkcji |
|---|---|---|
sp_db_increased_partitions |
Żaden. Obsługa zwiększonych partycji jest domyślnie dostępna w programie SQL Server 2019 (15.x). | sp_db_increased_partitions |
| fn_virtualservernodes (węzły serwera wirtualnego) fn_servershareddrives |
sys.dm_os_cluster_nodessys.dm_io_cluster_shared_drives |
fn_virtualservernodes (węzły serwera wirtualnego) fn_servershareddrives |
| fn_get_sql | sys.dm_exec_sql_text |
fn_get_sql |
sp_lock |
sys.dm_tran_locks |
sp_lock |
Tabele systemowe
| Przestarzała funkcja | Zastąpienie | Nazwa funkcji |
|---|---|---|
| sysaltfiles syscacheobjects syskolumny syscomments sysconfigures ograniczenia systemu syscurconfigs sysdatabases sysdepends sysdevices sysfilegroups pliki sysfile sysforeignkeys sysfulltextcatalogs sysindexes sysindexkeys syslockinfo syslogins sysmembers wiadomości systemowe sysobjects sysoledbusers sysopentapes sysperfinfo syspermissions sysprocesses sysprotects sysreferences sysremotelogins serwery systemowe systypes użytkownicy systemu |
Widoki zgodności. Aby uzyskać więcej informacji, zobacz Widoki zgodności systemu. Ważny: Widoki zgodności nie uwidaczniają metadanych funkcji wprowadzonych w programie SQL Server 2005 (9.x). Zalecamy uaktualnienie aplikacji do korzystania z widoków wykazu. Aby uzyskać więcej informacji, zobacz Widoki wykazu systemu. |
sysaltfiles syscacheobjects syskolumny syscomments sysconfigures ograniczenia systemu syscurconfigs sysdatabases sysdepends sysdevices sysfilegroups pliki sysfile sysforeignkeys sysfulltextcatalogs sysindexes sysindexkeys syslockinfo syslogins sysmembers wiadomości systemowe sysobjects sysoledbusers sysopentapes sysperfinfo syspermissions sysprocesses sysprotects sysreferences sysremotelogins serwery systemowe systypes użytkownicy systemu |
sys.numbered_proceduressys.numbered_procedure_parameters |
Żaden | numerowane_procedury numerowane_parametry_procedury |
Procedury składowane, funkcje i widoki wykazu śledzenia SQL
Widoki systemowe
| Przestarzała funkcja | Zastąpienie | Nazwa funkcji |
|---|---|---|
sys.sql_dependencies |
sys.sql_expression_dependencies |
sys.sql_dependencies |
Kompresja tabeli
| Przestarzała funkcja | Zastąpienie | Nazwa funkcji |
|---|---|---|
| Użycie formatu przechowywania vardecimal. | Format przechowywania vardecimal jest przestarzały. Kompresja danych programu SQL Server 2019 (15.x), kompresuje wartości dziesiętne i inne typy danych. Zalecamy użycie kompresji danych zamiast formatu przechowywania vardecimal. | Format magazynu vardecimal |
Korzystanie z sp_db_vardecimal_storage_format procedury. |
Format przechowywania vardecimal jest przestarzały. Kompresja danych programu SQL Server 2019 (15.x), kompresuje wartości dziesiętne, a także inne typy danych. Zalecamy użycie kompresji danych zamiast formatu przechowywania vardecimal. | sp_db_vardecimal_storage_format |
Korzystanie z sp_estimated_rowsize_reduction_for_vardecimal procedury. |
Zamiast tego należy użyć kompresji danych i sp_estimate_data_compression_savings procedury. |
sp_estimated_rowsize_reduction_for_vardecimal |
Wskaźniki tekstowe
| Przestarzała funkcja | Zastąpienie | Nazwa funkcji |
|---|---|---|
| TEKST ZAPISU AKTUALIZACJATEKSTU TEKST DO ODCZYTU |
Żaden | UPDATETEXT lub WRITETEXT TEKST DO ODCZYTU |
| TEXTPTR() TEXTVALID() |
Żaden | TEXTPTR TEKSTWAŻNY |
Transact-SQL
| Przestarzała funkcja | Zastąpienie | Nazwa funkcji |
|---|---|---|
:: sekwencja wywoływania funkcji |
Zastąpione przez SELECT <column_list> FROM sys.<function_name>().Na przykład zastąp SELECT * FROM ::fn_virtualfilestats(2,1) na SELECT * FROM sys.fn_virtualfilestats(2,1). |
':', funkcja wywołująca składnię |
| Odwołania dotyczące kolumn trójczęściowych i czteroczęściowych. | Nazwy dwuczęściowe są zachowaniem zgodnym ze standardami. | Więcej niż dwuczęściowa nazwa kolumny |
Ciąg znajdujący się w cudzysłowie używany jako alias kolumny dla wyrażenia na SELECT liście:'string_alias' = wyrażenie |
wyrażenie [AS] column_alias wyrażenie [AS] [column_alias] wyrażenie [AS] "column_alias" wyrażenie [AS] "column_alias" column_alias = wyrażenie |
Literały ciągu jako aliasy kolumn |
| Procedury numerowane | Żaden. Nie używaj. | ProcNums |
table_name.index_name składni w pliku DROP INDEX |
<index_name> ON <table_name> składnia w pliku DROP INDEX. |
DROP INDEX z dwuczęściową nazwą |
| Niedodawanie średnika na końcu instrukcji Transact-SQL. | Zakończ instrukcje Transact-SQL średnikiem (;). |
Żaden |
GROUP BY ALL |
Użyj niestandardowego rozwiązania case-by-case z tabelą pochodną lub z tabelą pochodną UNION . |
GROUP BY ALL |
ROWGUIDCOL jako nazwa kolumny w instrukcjach DML. |
Użyj $rowguid. | ROWGUIDCOL |
| IDENTITYCOL jako nazwa kolumny w instrukcjach DML. | Użyj $identity. | IDENTITYCOL |
| Użycie # i ## jako nazw tymczasowych tabel oraz tymczasowych procedur składowanych. | Użyj co najmniej jednego dodatkowego znaku. | "#" i "##" jako nazwa tabel tymczasowych i procedur składowanych |
| Użyj @lub @@ jako identyfikatorów Transact-SQL. | Nie używaj @ ani @@ ani nazw, które zaczynają się od @@ jako identyfikatorów. | "@" i nazwy rozpoczynające się od "@@" jako identyfikatory Transact-SQL |
Użyj słowa kluczowego jako wartości domyślnej DEFAULT . |
Nie używaj wyrazu DEFAULT jako wartości domyślnej. |
DEFAULT słowo kluczowe jako wartość domyślna |
| Użycie spacji jako separatora między wskazówkami tabeli. | Użyj przecinka, aby oddzielić wskazówki dotyczące tabeli. | Wiele wskazówek tabeli bez przecinków |
| Lista wyboru zagregowanego widoku indeksowanego musi zawierać COUNT_BIG (*) w trybie zgodności 90 | Użyj COUNT_BIG (*). | Widok indeksu wybiera listę bez COUNT_BIG(*) |
| Pośrednie zastosowanie hintów tabeli do wywołania wieloinstrukcyjnej funkcji zwracającej tabelę (TVF) za pośrednictwem widoku. | Żaden. | Wskazówki dotyczące pośredniego programu TVF |
ALTER DATABASE składnia:MODIFY FILEGROUP READONLYMODIFY FILEGROUP READWRITE |
MODIFY FILEGROUP READ_ONLYMODIFY FILEGROUP READ_WRITE |
MODIFY FILEGROUP READONLYMODIFY FILEGROUP READWRITE |
SET ANSI_NULLS OFF i ANSI_NULLS OFF opcja bazy danychSET ANSI_PADDING OFF i ANSI_PADDING OFF opcja bazy danychSET CONCAT_NULL_YIELDS_NULL OFF i CONCAT_NULL_YIELDS_NULL OFF opcja bazy danychSET OFFSETS |
Żaden.ANSI_NULLS
ANSI_PADDING i CONCAT_NULLS_YIELDS_NULL są zawsze ustawione na ONwartość .
SET OFFSETS są niedostępne. |
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 i sp_describe_undeclared_parameters. | SET FMTONLY |
Określanie NOLOCK lub READUNCOMMITTED w FROM klauzuli lub instrukcji UPDATE .DELETE |
NOLOCK Usuń wskazówki tabeli lub READUNCOMMITTED z klauzuli FROM . |
NOLOCKlub READUNCOMMITTED w UPDATEDELETE |
Określanie wskazówek tabeli bez używania słowa kluczowego WITH . |
Użyj WITH. |
Wskazówka tabeli bez WITH |
| INSERT_HINTS | INSERT_HINTS |
Narzędzia
| Przestarzała funkcja | Zastąpienie | Nazwa funkcji |
|---|---|---|
| SQL Server Profiler na potrzeby przechwytywania śledzenia | Użyj profilera zdarzeń rozszerzonych osadzonych w programie SQL Server Management Studio. | SQL Server Profiler |
| SQL Server Profiler dla odtwarzania śladu | Omówienie rozproszonego odtwarzania programu SQL Server |
Obiekty zarządzania śladami
| Przestarzała funkcja | Zastąpienie | Nazwa funkcji |
|---|---|---|
| Microsoft.SqlServer.Management.Trace namespace (zawiera interfejsy API dla obiektów śledzenia i odtwarzania śladów w programie SQL Server) | Konfiguracja śledzenia: Microsoft.SqlServer.Management.XEvent Odczyt śledzenia: Microsoft.SqlServer.XEvent.Linq Powtarzanie śledzenia: brak |
XML
| Przestarzała funkcja | Zastąpienie | Nazwa funkcji |
|---|---|---|
| Wbudowane generowanie schematu XDR | Dyrektywa XMLDATA dla FOR XML opcji jest przestarzała. Użyj generowania XSD w przypadku trybów RAW i .AUTO Brak zamiany dyrektywy XMLDATA w trybie EXPLICT. |
XMLDATA |
Uwaga / Notatka
Parametr pliku cookie OUTPUT dla sp_setapprole parametru jest obecnie udokumentowany jako varbinary(8000), który jest prawidłową maksymalną długością. Jednak bieżąca implementacja zwraca varbinary(50). Jeśli deweloperzy przydzielili wartość varbinary(50), aplikacja może wymagać zmian, jeśli rozmiar zwracany przez plik cookie wzrośnie w przyszłej wersji. Choć nie jest to kwestia wycofania, wspomniano o tym w tym temacie, ponieważ korekty aplikacji są podobne. Aby uzyskać więcej informacji, zobacz sp_setapprole.