適用於:SQL Server 2017 (14.x) 和更新版本
SQL Server 2017 (14.x) 已不建議使用:
- Data Quality Services (DQS)
- Master Data Services (MDS)
先前版本中已被取代的功能也會在 SQL Server 2017 (14.x) 中淘汰。 如需其他 SQL Server 版本中已淘汰功能的相關信息,請參閱:
- SQL Server 2025(17.x)中已棄用的資料庫引擎功能
- SQL Server 2022 中已被取代的資料庫引擎功能 (16.x)
- SQL Server 2019 (15.x) 中已被取代的資料庫引擎功能
- SQL Server 2016 中已被取代的資料庫引擎功能 (13.x)
淘汰指導方針
本文描述 SQL Server 2017 (14.x) 中仍然可用但已淘汰的 SQL Server 資料庫引擎功能。 已被取代的功能不應在新應用程式中使用。
當功能標示為已淘汰時,即表示:
- 功能僅限維護模式。 我們不會再新增任何新的變更,包括與處理新功能互通性相關的變更。
- 為了讓升級更容易,我們盡量不從未來版本中移除已淘汰的功能。 不過,在極少數的情況下,如果該功能限制未來創新,則我們可能會選擇從 SQL Server 永久中止 (移除) 該功能。
- 針對新的開發工作,請勿使用已被取代的功能。 針對現有的應用程式,請計畫儘快修改目前使用這些功能的應用程式。
您可使用 SQL Server Deprecated Features Object 效能計數器和追蹤事件來監視已淘汰功能的使用。 如需詳細資訊,請參閱 使用 SQL Server 物件。
您也可以透過執行下列陳述式來使用這些計數器的值:
SELECT * FROM sys.dm_os_performance_counters
WHERE object_name LIKE '%SQL%Deprecated Features%';
注意
這份清單與 SQL Server 2016 (13.x) 清單完全相同。 SQL Server 2017 (14.x) 未宣告任何新中已取代或已停止的資料庫引擎功能。
下一版的 SQL Server 中已淘汰的功能
未來版本的 SQL Server 中將不會支援下列 SQL Server 資料庫引擎功能。 請勿在新的開發工作中使用這些功能,並且儘速修改使用這些功能的應用程式。
功能名稱值會作為 ObjectName 出現在追蹤事件中,並在效能計數器與 sys.dm_os_performance_counters 中作為執行個體名稱。 [功能識別碼] 值會出現在追蹤事件中當做 ObjectId。
備份及還原
| 已被取代的功能 | 取代 | 功能名稱 | 功能識別碼 |
|---|---|---|---|
RESTORE { DATABASE | LOG } WITH [MEDIA]PASSWORD 繼續被取代。BACKUP{ DATABASE | LOG} WITH PASSWORD 和 BACKUP {DATABASE | LOG } WITH MEDIAPASSWORD 已停產。 |
無。 |
BACKUP DATABASE 或 BACKUP LOG WITH PASSWORDBACKUP DATABASE 或 BACKUP LOG WITH MEDIAPASSWORD |
104 103 |
相容性層級
| 已被取代的功能 | 取代 | 功能名稱 | 功能識別碼 |
|---|---|---|---|
| 從版本 100 (SQL Server 2008 (10.0.x) 和 SQL Server 2008 R2 (10.50.x)) 升級。 | 當 SQL Server 版本不再 支援時,相關聯的資料庫相容性層級會標示為已淘汰。 不過,為了讓升級更容易,我們會盡可能繼續支援任何支援資料庫相容性層級上已認證的應用程式。 如需相容性層級的詳細資訊,請參閱 ALTER DATABASE (Transact-SQL) 相容性層級。 | 資料庫相容性層級 100 | 108 |
資料庫物件
| 已被取代的功能 | 取代 | 功能名稱 | 功能識別碼 |
|---|---|---|---|
| 從觸發程序傳回結果集的能力 | 沒有 | 從觸發程序傳回結果 | 12 |
加密
| 已被取代的功能 | 取代 | 功能名稱 | 功能識別碼 |
|---|---|---|---|
| 使用 RC4 或 RC4_128 的加密已被取代,並預計在下一版移除。 不會淘汰解密 RC4 和 RC4_128 的功能。 | 請使用其他加密演算法,例如 AES。 | 已被取代的加密演算法 | 253 |
| 使用 MD2、MD4、MD5、SHA 和 SHA1 已淘汰。 | 請改用 SHA2_256 或 SHA2_512。 較舊的演算法會繼續運作,但會引發淘汰事件。 | 已被取代的雜湊演算法 | 沒有 |
遠端伺服器
| 已被取代的功能 | 取代 | 功能名稱 | 功能識別碼 |
|---|---|---|---|
sp_addremoteloginsp_addserversp_dropremoteloginsp_helpremoteloginsp_remoteoption |
使用連結的伺服器取代遠端伺服器。
sp_addserver 只能與本地選項一起使用。 |
sp_addremoteloginsp_addserversp_dropremoteloginsp_helpremoteloginsp_remoteoption |
70 69 71 72 73 |
| @@remserver | 使用連結的伺服器取代遠端伺服器。 | 沒有 | 沒有 |
SET REMOTE_PROC_TRANSACTIONS |
使用連結的伺服器取代遠端伺服器。 | SET REMOTE_PROC_TRANSACTIONS |
110 |
Transact-SQL
| 已被取代的功能 | 取代 | 功能名稱 | 功能識別碼 |
|---|---|---|---|
SET ROWCOUNT for INSERT、 UPDATE和 DELETE 陳述式 |
TOP 關鍵詞 |
SET ROWCOUNT |
109 |
| 沒有括號的 HOLDLOCK 資料表提示。 | 請使用有括號的 HOLDLOCK。 | 沒有括號的 HOLDLOCK 資料表提示。 | 167 |
SQL Server 的未來版本中已淘汰的功能
下一版 SQL Server 中會支援下列 SQL Server 資料庫引擎功能。 SQL Server 的特定版本尚未決定。
備份及還原
| 已被取代的功能 | 取代 | 功能名稱 |
|---|---|---|
| BACKUP { DATABASE | LOG } 至磁帶 BACKUP { DATABASE | LOG } 到 device_that_is_a_tape |
BACKUP { DATABASE | LOG } 至磁碟 BACKUP { DATABASE |LOG } 至 device_that_is_a_disk |
BACKUP DATABASE 或 LOG TO TAPE |
sp_addumpdevice 'tape' |
sp_addumpdevice 'disk' |
ADDING TAPE DEVICE |
sp_helpdevice |
sys.backup_devices |
sp_helpdevice |
相容性層級
| 已被取代的功能 | 取代 | 功能名稱 |
|---|---|---|
sp_dbcmptlevel |
ALTER DATABASE
SET COMPATIBILITY_LEVEL...... 如需詳細資訊,請參閱 ALTER DATABASE (Transact-SQL) 相容性層級。 |
sp_dbcmptlevel |
| 資料庫相容性層級 110 和 120。 | 請針對將來的版本規劃升級資料庫和應用程式。 不過,為了讓升級更容易,我們會盡可能繼續支援任何支援資料庫相容性層級上已認證的應用程式。 如需相容性層級的詳細資訊,請參閱 ALTER DATABASE (Transact-SQL) 相容性層級。 | 資料庫相容性層級 110 資料庫相容性層級 120 |
定序
| 已被取代的功能 | 取代 | 功能名稱 |
|---|---|---|
| Korean_Wansung_Unicode 立陶宛經典 SQL_AltDiction_CP1253_CS_AS |
無。 這些定序存在於 SQL Server 2005 (9.x),但無法透過 fn_helpcollations 顯示出來。 | Korean_Wansung_Unicode 立陶宛經典 SQL_AltDiction_CP1253_CS_AS |
| 印地語 馬其頓文 |
這些定序存在於 SQL Server 2005 (9.x) 和更高版本,但無法透過 fn_helpcollations 顯示出來。 請改用 Macedonian_FYROM_90 和 Indic_General_90。 | 印地語 馬其頓文 |
| Azeri_Latin_90 Azeri_Cyrilllic_90 |
Azeri_Latin_100 Azeri_Cyrilllic_100 |
Azeri_Latin_90 Azeri_Cyrilllic_90 |
資料類型
| 已被取代的功能 | 取代 | 功能名稱 |
|---|---|---|
sp_addtypesp_droptype |
CREATE TYPEDROP TYPE |
sp_addtypesp_刪除類型 |
| timestamp 資料類型的 rowversion 語法 | rowversion 資料類型語法 | TIMESTAMP |
| 能夠將 null 值插入 timestamp 資料行中。 | 請改用。DEFAULT |
INSERT NULL 進入 TIMESTAMP 欄 |
| 'text in row' 資料表選項 | 使用 varchar(max) 、 nvarchar(max) 和 varbinary(max) 資料類型。 如需詳細資訊,請參閱 sp_tableoption。 | Text in row 資料表選項 |
| 資料類型: 文字 內容 圖像 |
使用 varchar(max) 、 nvarchar(max) 和 varbinary(max) 資料類型。 | 資料類型:text、ntext 或 image |
資料庫管理
| 已被取代的功能 | 取代 | 功能名稱 |
|---|---|---|
sp_attach_dbsp_attach_single_file_db |
CREATE DATABASE 陳述式,並帶有選項 FOR ATTACH 。 若要重建多個記錄檔,當一或多個有新位置時,請使用 選項 FOR ATTACH_REBUILD_LOG 。 |
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 中的 ALTER DATABASE |
sp_renamedb |
資料庫物件
| 已被取代的功能 | 取代 | 功能名稱 |
|---|---|---|
CREATE DEFAULTDROP DEFAULTsp_bindefaultsp_unbindefault |
DEFAULT關鍵字 和CREATE TABLEALTER TABLE |
建立_移除_預設sp_bindefaultsp_unbindefault |
CREATE RULEDROP RULEsp_bindrule sp_unbindrule |
CHECK關鍵字 和CREATE TABLEALTER TABLE |
創建_刪除_規則sp_bindrulesp_unbindrule |
sp_change_users_login |
請使用 ALTER USER。 |
sp_change_users_login |
sp_depends |
sys.dm_sql_referencing_entities 和 sys.dm_sql_referenced_entities |
sp_depends |
sp_getbindtoken |
使用 MARS 或分散式交易。 | sp_getbindtoken |
資料庫選項
| 已被取代的功能 | 取代 | 功能名稱 |
|---|---|---|
sp_bindsession |
使用 MARS 或分散式交易。 | sp_bindsession |
sp_resetstatus |
ALTER DATABASE SET { ONLINE | EMERGENCY } |
sp_resetstatus |
TORN_PAGE_DETECTION 選項 ALTER DATABASE |
PAGE_VERIFY TORN_PAGE_DETECTION 選項 ALTER DATABASE |
ALTER DATABASE WITH TORN_PAGE_DETECTION |
DBCC
| 已被取代的功能 | 取代 | 功能名稱 |
|---|---|---|
| DBCC DBREINDEX |
REBUILD 的 ALTER INDEX選項。 |
DBCC DBREINDEX |
| DBCC 索引重組 |
REORGANIZE 選項 ALTER INDEX |
DBCC 索引重組 |
| DBCC SHOWCONTIG | sys.dm_db_index_physical_stats |
DBCC SHOWCONTIG |
| DBCC 可釘選 DBCC 無法固定 |
這個選項無效。 | DBCC [UN]可釘選 |
擴充屬性
| 已被取代的功能 | 取代 | 功能名稱 |
|---|---|---|
| Level0type = 'type' 和 Level0type='USER',將擴充屬性加入至層級 1 或層級 2 類型物件中。 | 使用 Level0type = 'USER' 只會將擴充屬性直接加入至使用者或角色中。 使用 Level0type = ' SCHEMA' 將延伸內容新增至層次 1 類型 (例如 TABLE VIEW ) 或層次 2 類型 (例如 COLUMN 或 TRIGGER)。 如需詳細資訊,請參閱 sp_addextendedproperty。 |
EXTPROP_LEVEL0TYPE擴展屬性_層級零使用者 |
擴充預存程序
| 已被取代的功能 | 取代 | 功能名稱 |
|---|---|---|
xp_grantloginxp_revokeloginxp_loginConfig |
使用 CREATE LOGIN使用 DROP LOGIN IsIntegratedSecurityOnly 參數 SERVERPROPERTY |
xp_grantloginxp_revokeloginxp_loginConfig |
擴充預存程序程式設計
| 已被取代的功能 | 取代 | 功能名稱 |
|---|---|---|
| 伺服器分配 (srv_alloc) srv_convert (伺服器轉換) srv_describe(服務描述) srv_getbindtoken 伺服器_获得注意 srv_message_handler 伺服器_參數數據 srv_paraminfo srv_paramlen srv_parammaxlen srv_paramname 伺服器_參數號碼 伺服器參數集 參數集輸出 srv_paramstatus (參數狀態) 伺服器_參數類型 srv_pfield srv_pfieldex srv_rpcdb srv_rpcname srv_rpcnumber srv_rpc選項 srv_rpcowner srv_rpcparams 伺服器_傳送完成 srv_sendmsg srv_sendrow 資料欄位設置函數 srv_setcoldata srv_setcollen srv_setutype srv_willconvert srv_wsendmsg |
請改用 CLR 整合。 | XP_API |
sp_addextendedprocsp_dropextendedprocsp_helpextendedproc |
請改用 CLR 整合。 | sp_addextendedprocsp_dropextendedprocsp_helpextendedproc |
xp_grantloginxp_revokeloginxp_loginConfig |
使用 CREATE LOGIN使用 DROP LOGIN IsIntegratedSecurityOnly 參數 SERVERPROPERTY |
xp_grantloginxp_revokeloginxp_loginConfig |
高可用性
| 已被取代的功能 | 取代 | 功能名稱 |
|---|---|---|
| 資料庫鏡像 | Always On 可用性群組 如果 SQL Server 版本不支援 Always On 可用性群組,請使用記錄傳送。 |
資料庫鏡像 |
索引選項
| 已被取代的功能 | 取代 | 功能名稱 |
|---|---|---|
sp_indexoption |
ALTER INDEX |
sp_indexoption |
CREATE TABLE、 ALTER TABLE或 CREATE INDEX 選項周圍不帶括號的語法。 |
請重寫陳述式來使用目前的語法。 | 索引選項 |
執行個體選項
| 已被取代的功能 | 取代 | 功能名稱 |
|---|---|---|
sp_configure 選項「允許更新」 |
系統資料表不再可更新, 此設定無效。 |
sp_configure “允許更新” |
sp_configure 選項:鎖 開啟物件 設定工作集大小 |
現在會自動設定。 此設定無效。 |
sp_configure “鎖”sp_configure “開放對象”sp_configure “設置工作集大小” |
sp_configure 選項「優先提升」 |
系統資料表不再可更新, 此設定無效。 請改用 Windows start /high ... program.exe 選項。 |
sp_configure “優先提升” |
sp_configure 選項 '遠端觸發傳輸' |
系統資料表不再可更新, 此設定無效。 |
sp_configure “遠程觸發傳輸” |
連結的伺服器
| 已被取代的功能 | 取代 | 功能名稱 |
|---|---|---|
| 為連結的伺服器指定 SQLOLEDB 提供者。 | 適用於 SQL Server 的 Microsoft OLE 資料庫驅動程式 | 連結的伺服器適用的 SQLOLEDB |
中繼資料
| 已被取代的功能 | 取代 | 功能名稱 |
|---|---|---|
| 檔案識別碼 INDEXKEY_PROPERTY(索引鍵屬性) |
FILE_IDEXsys.index_columns |
檔案識別碼 INDEXKEY_PROPERTY(索引鍵屬性) |
原生 XML Web Service
| 已被取代的功能 | 取代 | 功能名稱 |
|---|---|---|
或CREATE ENDPOINTALTER ENDPOINT陳述式FOR SOAP與選項。sys.端點網路方法 sys.soap_endpoints |
請改用 Windows Communications Foundation (WCF) 或 ASP.NET。 | CREATE/ALTER ENDPOINTsys.endpoint_webmethodsEXT_soap_endpoints sys.soap_endpoints |
其他
| 已被取代的功能 | 取代 | 功能名稱 |
|---|---|---|
| DB-Library 適用於 C 的內嵌 SQL |
雖然資料庫引擎仍支援使用 DB-Library 和內嵌式 SQL API 的現有應用程式連線,但不包含要在使用這些 API 的應用程式上執行程式設計工作所需檔案或文件。 SQL Server 資料庫引擎未來版本將卸除對 DB-Library 或內嵌式 SQL 應用程式連線的支援。 請勿使用 DB-Library 或內嵌式 SQL 來開發新的應用程式。 當您修改現有應用程式時,請移除 DB-Library 或 Embedded SQL 上的任何相依性。 如果不想要使用這些 API,請使用 SQLClient 命名空間或 API (例如 ODBC)。 SQL Server 2019 (15.x) 不包含執行這些應用程式所需的 DB-Library DLL。 若要執行 DB-Library 或內嵌式 SQL 應用程式,則必須可從 SQL Server 6.5 版、SQL Server 7.0 或 SQL Server 2000 (8.x) 使用 DB-Library DLL。 | 沒有 |
安全性
| 已被取代的功能 | 取代 | 功能名稱 |
|---|---|---|
ALTER LOGIN WITH SET CREDENTIAL語法 |
替換為 new ALTER LOGIN ADD 和 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 刪除登入 |
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 或 ALTER AUTHORIZATION |
sp_changeobjectowner |
sp_control_dbmasterkey_password |
主要金鑰必須存在且密碼必須正確。 | sp_control_dbmasterkey_password |
sp_defaultdbsp_defaultlanguage |
ALTER LOGIN |
sp_defaultdbsp_defaultlanguage |
sp_denyloginsp_grantloginsp_revokelogin |
ALTER LOGIN DISABLECREATE LOGINDROP LOGIN |
sp_denyloginsp_grantloginsp_撤銷登入 |
| 用戶識別碼 | 資料庫主體識別碼 | 用戶識別碼 |
sp_srvrolepermissionsp_dbfixedrolepermission |
這些預存程序會傳回 SQL Server 2000 (8.x) 中的正確資訊。 這項輸出未反映 SQL Server 2008 中所實作權限階層的變更。 如需詳細資訊,請參閱 固定伺服器角色的權限。 | sp_srvrolepermissionsp_dbfixedrolepermission |
GRANT ALLDENY ALLREVOKE ALL |
GRANT、 DENY和 REVOKE-特定權限。 |
ALL 權限 |
| PERMISSIONS 內建函數 | 請改為查詢 sys.fn_my_permissions 。 |
權限 |
| SETUSER | EXECUTE AS |
SETUSER |
RC4 和 DESX 加密演算法 |
請使用其他演算法,例如 AES。 |
DESX 演算法 |
伺服器組態選項
| 已被取代的功能 | 取代 | 功能名稱 |
|---|---|---|
| c2 audit 選項、default trace enabled 選項 default trace enabled 選項 |
通用條件符合已啟用伺服器組態選項 擴充事件概觀 |
sp_configure “C2 審計模式”sp_configure “已啟用默認跟踪” |
SMO 類別
| 已被取代的功能 | 取代 | 功能名稱 |
|---|---|---|
| Microsoft.SQLServer。 Management.Smo.Information 類別 Microsoft.SQLServer。 Management.Smo.Settings 類別 Microsoft.SQLServer.Management。 Smo.資料庫選項 類別 Microsoft.SqlServer.Management.Smo。 DatabaseDdlTrigger.不包括複寫 屬性 |
Microsoft.SqlServer。 Management.Smo.Server 類別 * Microsoft.SqlServer. Management.Smo.Server 類別 Microsoft.SqlServer。 Management.Smo.Database 類別 沒有 |
沒有 |
SQL Server Agent(SQL伺服器代理)
| 已被取代的功能 | 取代 | 功能名稱 |
|---|---|---|
|
net send 通知 呼叫器通知 |
電子郵件通知 電子郵件通知 |
沒有 |
SQL Server 管理工作室
| 已被取代的功能 | 取代 | 功能名稱 |
|---|---|---|
| SQL Server Management Studio 中的 [方案總管] 整合 | 沒有 |
系統預存程序和函式
| 已被取代的功能 | 取代 | 功能名稱 |
|---|---|---|
sp_db_increased_partitions |
無。 SQL Server 2019 (15.x) 預設可支援增加的分割區。 | sp_db_increased_partitions |
| 虛擬伺服器節點函数 (fn_virtualservernodes) fn_伺服器共享驅動器 |
sys.dm_os_cluster_nodessys.dm_io_cluster_shared_drives |
虛擬伺服器節點函数 (fn_virtualservernodes) fn_伺服器共享驅動器 |
| fn_get_sql | sys.dm_exec_sql_text |
fn_get_sql |
sp_lock |
sys.dm_tran_locks |
sp_lock |
系統資料表
| 已被取代的功能 | 取代 | 功能名稱 |
|---|---|---|
| sysaltfiles syscacheobjects syscolumns syscomments 系統設定 sysconstraints syscurconfigs sysdatabases sysdepends 系統設備 (sysdevices) sysfilegroups 系統檔案 sysforeignkeys sysfulltextcatalogs sysindexes 系統索引鍵 syslockinfo syslogins sysmembers 系統訊息 sysobjects sysoledbusers sysopentapes sysperfinfo syspermissions sysprocesses sysprotects sysreferences sysremotelogins sysservers systypes sysusers |
相容性檢視。 如需詳細資訊,請參閱 系統相容性檢視。 重要:相容性檢視不會公開 SQL Server 2005 (9.x) 中所引進功能的中繼資料。 我們建議您升級應用程式來使用目錄檢視。 如需詳細資訊,請參閱 系統型錄檢視。 |
sysaltfiles syscacheobjects syscolumns syscomments 系統設定 sysconstraints syscurconfigs sysdatabases sysdepends 系統設備 (sysdevices) sysfilegroups 系統檔案 sysforeignkeys sysfulltextcatalogs sysindexes 系統索引鍵 syslockinfo syslogins sysmembers 系統訊息 sysobjects sysoledbusers sysopentapes sysperfinfo syspermissions sysprocesses sysprotects sysreferences sysremotelogins sysservers systypes sysusers |
sys.numbered_proceduressys.numbered_procedure_parameters |
沒有 | 編號程序 編號程序參數 |
SQL 追蹤預存程序、函數和目錄檢視
| 已被取代的功能 | 取代 | 功能名稱 |
|---|---|---|
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_bindings系統追蹤類別 sys.trace_columns sys.trace_subclass_values |
擴充事件概觀 | 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 |
系統檢視表
| 已被取代的功能 | 取代 | 功能名稱 |
|---|---|---|
sys.sql_dependencies |
sys.sql_expression_dependencies |
sys.sql_dependencies |
資料表壓縮
| 已被取代的功能 | 取代 | 功能名稱 |
|---|---|---|
| 使用 Vardecimal 儲存格式。 | Vardecimal 儲存格式已被取代。 SQL Server 2019 (15.x) 資料壓縮會壓縮十進位值及其他資料類型。 我們建議您使用資料壓縮,而不要使用 Vardecimal 儲存格式。 | Vardecimal 儲存格式 |
程序的 sp_db_vardecimal_storage_format 使用。 |
Vardecimal 儲存格式已被取代。 SQL Server 2019 (15.x) 資料壓縮會壓縮十進位值及其他資料類型。 我們建議您使用資料壓縮,而不要使用 Vardecimal 儲存格式。 | sp_db_vardecimal_storage_format |
程序的 sp_estimated_rowsize_reduction_for_vardecimal 使用。 |
請改用資料壓縮和 sp_estimate_data_compression_savings 程序。 |
sp_estimated_rowsize_reduction_for_vardecimal |
文字指標
| 已被取代的功能 | 取代 | 功能名稱 |
|---|---|---|
| 撰寫文字 更新文本 讀取文本 |
沒有 | UPDATETEXT 或 WRITETEXT 讀取文本 |
| TEXTPTR() TEXTVALID() |
沒有 | TEXTPTR TEXTVALID |
Transact-SQL
| 已被取代的功能 | 取代 | 功能名稱 |
|---|---|---|
:: 函式呼叫順序 |
替換為 SELECT <column_list> FROM sys.<function_name>()。例如,以 SELECT * FROM ::fn_virtualfilestats(2,1)取代 SELECT * FROM sys.fn_virtualfilestats(2,1)。 |
'::' 函數呼叫語法 |
| 三部分和四部分資料行參考。 | 兩部分名稱是符合標準的行為。 | 兩部分以上的資料行名稱 |
用引號括住的字串,用作清單中 SELECT 運算式的欄別名:'string_alias' = 表達式 |
表達式 [AS] column_alias 表達式 [AS] [column_alias] 表達式 [AS] “column_alias” 運算式 [AS] 'column_alias' column_alias = 運算式 |
當做資料行別名的字串常值 |
| 編號程序。 | 無。 請勿使用。 | ProcNums |
table_name.index_name 語法 DROP INDEX |
<index_name> ON <table_name>語法。DROP INDEX |
DROP INDEX 名稱由兩部分組成 |
| Transact-SQL 陳述式結尾不是分號。 | 使用分號 (;) 結束 Transact-SQL 陳述式。 |
沒有 |
GROUP BY ALL |
使用自訂案例解決方案搭配 UNION 或衍生資料表。 |
GROUP BY ALL |
ROWGUIDCOL 作為 DML 陳述式中的直欄名稱。 |
使用 $rowguid。 | ROWGUIDCOL |
| 當做 DML 陳述式中之資料行名稱的 IDENTITYCOL。 | 使用 $identity。 | IDENTITYCOL |
| 使用 # 和 ## 當做暫存資料表和暫存預存程序名稱。 | 請至少使用一個其他字元。 | 做為暫存資料表和預存程序名稱的 '#' 和 '##'。 |
| 使用 @ 或 @@ 作為 Transact-SQL 識別碼。 | 請勿使用 @ 或 @@,或是以 @@ 開頭的名稱,作為識別碼。 | 開頭為 '@' 和 '@@' 的名稱作為 Transact-SQL 識別碼 |
使用 DEFAULT 關鍵字作為預設值。 |
請勿使用單字 DEFAULT 作為預設值。 |
DEFAULT 關鍵字作為預設值 |
| 使用空格當做資料表提示之間的分隔符號。 | 使用逗號來分隔資料表提示。 | 沒有逗號的多個資料表提示 |
| 在 90 相容性模式中,彙總索引檢視表的 SELECT 清單必須包含 COUNT_BIG (*)。 | 請使用 COUNT_BIG (*)。 | 沒有 COUNT_BIG(*) 的索引檢視表 SELECT 清單 |
| 透過檢視表將資料表提示間接套用到多重陳述式資料表值函式 (TVF) 的引動過程。 | 無。 | 間接 TVF 提示 |
ALTER DATABASE 語法:MODIFY FILEGROUP READONLYMODIFY FILEGROUP READWRITE |
MODIFY FILEGROUP READ_ONLYMODIFY FILEGROUP READ_WRITE |
MODIFY FILEGROUP READONLYMODIFY FILEGROUP READWRITE |
SET ANSI_NULLS OFF 和 ANSI_NULLS OFF 資料庫選項SET ANSI_PADDING OFF 和 ANSI_PADDING OFF 資料庫選項SET CONCAT_NULL_YIELDS_NULL OFF 和 CONCAT_NULL_YIELDS_NULL OFF 資料庫選項SET OFFSETS |
無。ANSI_NULLS, ANSI_PADDING CONCAT_NULLS_YIELDS_NULL一律設為 ON。
SET OFFSETS 無法使用。 |
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和 sp_describe_undeclared_parameters。 | SET FMTONLY |
在 or NOLOCKREADUNCOMMITTED 語句的子句中FROM指定 UPDATE orDELETE。 |
從子句中NOLOCK移除 READUNCOMMITTED or FROM 表格提示。 |
NOLOCK或READUNCOMMITTEDUPDATEDELETE |
指定表格提示而不使用 WITH 關鍵字。 |
請使用 WITH。 |
沒有表格提示 WITH |
| INSERT_HINTS | INSERT_HINTS |
工具
| 已被取代的功能 | 取代 | 功能名稱 |
|---|---|---|
| SQL Server 專案分析器,用於擷取追蹤 | 請使用 SQL Server Management Studio 內嵌的擴充事件分析工具。 | SQL Server 分析工具 |
| SQL Server Profiler 用於重播追蹤 | SQL Server 分散式重新執行概觀 |
追蹤管理物件
| 已被取代的功能 | 取代 | 功能名稱 |
|---|---|---|
| Microsoft.SqlServer.Management.Trace 命名空間 (包含 SQL Server 追蹤和重新執行物件的 API) | 追蹤組態︰ Microsoft.SqlServer.Management.XEvent 追蹤讀取︰ Microsoft.SqlServer.XEvent.Linq 追蹤重新執行:None |
XML
| 已被取代的功能 | 取代 | 功能名稱 |
|---|---|---|
| 內嵌 XDR 結構描述的產生 | 選項的 FOR XML XMLDATA 指引已被取代。 在 和 RAW 模式AUTO的情況下使用 XSD 產生。 EXPLICT 模式中的 XMLDATA 指示詞沒有替代品。 |
XMLDATA |
注意
的 cookie 參數目前記載為 OUTPUT這是正確的長度上限。sp_setapprole 但目前的實作會傳回 varbinary(50) 。 如果開發人員已配置 varbinary(50) ,則未來版本的 Cookie 傳回大小如有增加,應用程式可能需要變更。 雖然這不是取代問題,但是由於應用程式調整很類似,因此在本主題中提及。 如需詳細資訊,請參閱 sp_setapprole。