SQL Server 2017 (14.x) 中已被取代的資料庫引擎功能
適用於:SQL Server 2017 (14.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 或 LOG WITH PASSWORD BACKUP DATABASE 或 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 |
資料庫物件
已被取代的功能 | 取代 | 功能名稱 | 功能識別碼 |
---|---|---|---|
從觸發程序傳回結果集的能力 | None | 從觸發程序傳回結果 | 12 |
加密
已被取代的功能 | 取代 | 功能名稱 | 功能識別碼 |
---|---|---|---|
使用 RC4 或 RC4_128 的加密已被取代,並預計在下一版移除。 不會淘汰解密 RC4 和 RC4_128 的功能。 | 請使用其他加密演算法,例如 AES。 | 已被取代的加密演算法 | 253 |
使用 MD2、MD4、MD5、SHA 和 SHA1 已淘汰。 | 請改用 SHA2_256 或 SHA2_512。 較舊的演算法會繼續運作,但會引發淘汰事件。 | 已被取代的雜湊演算法 | None |
遠端伺服器
已被取代的功能 | 取代 | 功能名稱 | 功能識別碼 |
---|---|---|---|
sp_addremotelogin sp_addserver sp_dropremotelogin sp_helpremotelogin sp_remoteoption |
使用連結的伺服器取代遠端伺服器。 sp_addserver 只能搭配本機選項使用。 | sp_addremotelogin sp_addserver sp_dropremotelogin sp_helpremotelogin sp_remoteoption |
70 69 71 72 73 |
@@remserver | 使用連結的伺服器取代遠端伺服器。 | None | None |
SET REMOTE_PROC_TRANSACTIONS | 使用連結的伺服器取代遠端伺服器。 | SET REMOTE_PROC_TRANSACTIONS | 110 |
Transact-SQL
已被取代的功能 | 取代 | 功能名稱 | 功能識別碼 |
---|---|---|---|
用於SET ROWCOUNT 、 INSERT, UPDATE陳述式的 DELETE | TOP 關鍵字 | SET ROWCOUNT | 109 |
沒有括號的 HOLDLOCK 資料表提示。 | 請使用有括號的 HOLDLOCK。 | 沒有括號的 HOLDLOCK 資料表提示。 | 167 |
SQL Server 的未來版本中已淘汰的功能
下一版 SQL Server 中會支援下列 SQL Server 資料庫引擎功能。 SQL Server 的特定版本尚未決定。
備份及還原
已被取代的功能 | 取代 | 功能名稱 |
---|---|---|
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 或 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 Lithuanian_Classic SQL_AltDiction_CP1253_CS_AS |
無。 這些定序存在於 SQL Server 2005 (9.x),但無法透過 fn_helpcollations 顯示出來。 | Korean_Wansung_Unicode Lithuanian_Classic SQL_AltDiction_CP1253_CS_AS |
Hindi 馬其頓文 |
這些定序存在於 SQL Server 2005 (9.x) 和更高版本,但無法透過 fn_helpcollations 顯示出來。 請改用 Macedonian_FYROM_90 和 Indic_General_90。 | Hindi 馬其頓文 |
Azeri_Latin_90 Azeri_Cyrilllic_90 |
Azeri_Latin_100 Azeri_Cyrilllic_100 |
Azeri_Latin_90 Azeri_Cyrilllic_90 |
資料類型
已被取代的功能 | 取代 | 功能名稱 |
---|---|---|
sp_addtype sp_droptype |
CREATE TYPE DROP TYPE |
sp_addtype sp_droptype |
timestamp 資料類型的 rowversion 語法 | rowversion 資料類型語法 | timestamp |
能夠將 null 值插入 timestamp 資料行中。 | 請改用 DEFAULT。 | INSERT NULL 到 TIMESTAMP 資料行中 |
'text in row' 資料表選項 | 使用 varchar(max) 、 nvarchar(max) 和 varbinary(max) 資料類型。 如需詳細資訊,請參閱 sp_tableoption (Transact-SQL)。 | Text in row 資料表選項 |
資料類型: text ntext image |
使用 varchar(max) 、 nvarchar(max) 和 varbinary(max) 資料類型。 | 資料類型:text、ntext 或 image |
資料庫管理
已被取代的功能 | 取代 | 功能名稱 |
---|---|---|
sp_attach_db sp_attach_single_file_db |
具有 FOR ATTACH 選項的 CREATE DATABASE 陳述式。 當一個或多個記錄檔有新位置時,若要重建多個記錄檔,請使用 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 | ALTER DATABASE 中的 MODIFY NAME | sp_renamedb |
資料庫物件
已被取代的功能 | 取代 | 功能名稱 |
---|---|---|
CREATE DEFAULT DROP DEFAULT sp_bindefault sp_unbindefault |
CREATE TABLE 和 ALTER TABLE 中的 DEFAULT 關鍵字 | CREATE_DROP_DEFAULT sp_bindefault sp_unbindefault |
CREATE RULE DROP RULE sp_bindrule sp_unbindrule |
CREATE TABLE 和 ALTER TABLE 中的 CHECK 關鍵字 | CREATE_DROP_RULE sp_bindrule sp_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 |
ALTER DATABASE 的 TORN_PAGE_DETECTION 選項 | ALTER DATABASE 的 PAGE_VERIFY TORN_PAGE_DETECTION 選項 | ALTER DATABASE WITH TORN_PAGE_DETECTION |
DBCC
已被取代的功能 | 取代 | 功能名稱 |
---|---|---|
DBCC DBREINDEX | ALTER INDEX 的 REBUILD 選項。 | DBCC DBREINDEX |
DBCC INDEXDEFRAG | ALTER INDEX 的 REORGANIZE 選項。 | DBCC INDEXDEFRAG |
DBCC SHOWCONTIG | sys.dm_db_index_physical_stats | DBCC SHOWCONTIG |
DBCC PINTABLE DBCC UNPINTABLE |
這個選項無效。 | DBCC [UN]PINTABLE |
擴充屬性
已被取代的功能 | 取代 | 功能名稱 |
---|---|---|
Level0type = 'type' 和 Level0type='USER',將擴充屬性加入至層級 1 或層級 2 類型物件中。 | 使用 Level0type = 'USER' 只會將擴充屬性直接加入至使用者或角色中。 使用 Level0type = 'SCHEMA' 可將擴充屬性加入至層級 1 類型 (例如 TABLE 或 VIEW),或是層級 2 類型 (例如 COLUMN 或 TRIGGER)。 如需詳細資訊,請參閱 sp_addextendedproperty (TRANSACT-SQL)。 |
EXTPROP_LEVEL0TYPE EXTPROP_LEVEL0USER |
擴充預存程序
已被取代的功能 | 取代 | 功能名稱 |
---|---|---|
xp_grantlogin xp_revokelogin xp_loginConfig |
使用 CREATE LOGIN 使用 SERVERPROPERTY 的 DROP LOGIN IsIntegratedSecurityOnly 引數 |
xp_grantlogin xp_revokelogin xp_loginConfig |
擴充預存程序程式設計
已被取代的功能 | 取代 | 功能名稱 |
---|---|---|
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 |
請改用 CLR 整合。 | XP_API |
sp_addextendedproc sp_dropextendedproc sp_helpextendedproc |
請改用 CLR 整合。 | sp_addextendedproc sp_dropextendedproc sp_helpextendedproc |
xp_grantlogin xp_revokelogin xp_loginConfig |
使用 CREATE LOGIN 使用 SERVERPROPERTY 的 DROP LOGIN IsIntegratedSecurityOnly 引數 |
xp_grantlogin xp_revokelogin xp_loginConfig |
高可用性
已被取代的功能 | 取代 | 功能名稱 |
---|---|---|
資料庫鏡像 | Always On 可用性群組 如果 SQL Server 版本不支援 Always On 可用性群組,請使用記錄傳送。 |
DATABASE_MIRRORING |
索引選項
已被取代的功能 | 取代 | 功能名稱 |
---|---|---|
sp_indexoption | ALTER INDEX | sp_indexoption |
CREATE TABLE、ALTER TABLE 或 CREATE INDEX 語法,但是選項周圍沒有括號。 | 請重寫陳述式來使用目前的語法。 | INDEX_OPTION |
執行個體選項
已被取代的功能 | 取代 | 功能名稱 |
---|---|---|
sp_configure 選項 'allow updates' | 系統資料表不再可更新, 此設定無效。 | sp_configure 'allow updates' |
sp_configure 選項: 'locks' 'open objects' 'set working set size' |
現在會自動設定。 此設定無效。 | sp_configure 'locks' sp_configure 'open objects' sp_configure 'set working set size' |
sp_configure 選項 'priority boost' | 系統資料表不再可更新, 此設定無效。 請改用 Windows start /high ... program.exe 選項。 | sp_configure 'priority boost' |
sp_configure 選項 'remote proc trans' | 系統資料表不再可更新, 此設定無效。 | sp_configure 'remote proc trans' |
連結的伺服器
已被取代的功能 | 取代 | 功能名稱 |
---|---|---|
為連結的伺服器指定 SQLOLEDB 提供者。 | Microsoft OLE DB Driver (MSOLEDBSQL) for SQL Server | 連結的伺服器適用的 SQLOLEDB |
中繼資料
已被取代的功能 | 取代 | 功能名稱 |
---|---|---|
FILE_ID INDEXKEY_PROPERTY |
FILE_IDEX sys.index_columns |
FILE_ID INDEXKEY_PROPERTY |
原生 XML Web Service
已被取代的功能 | 取代 | 功能名稱 |
---|---|---|
具有 FOR SOAP 選項的 CREATE ENDPOINT 或 ALTER ENDPOINT 陳述式。 sys.endpoint_webmethods sys.soap_endpoints |
請改用 Windows Communications Foundation (WCF) 或 ASP.NET。 | CREATE/ALTER ENDPOINT sys.endpoint_webmethods EXT_soap_endpoints sys.soap_endpoints |
其他
已被取代的功能 | 取代 | 功能名稱 |
---|---|---|
DB-Library Embedded SQL for C |
雖然資料庫引擎仍支援使用 DB-Library 和內嵌式 SQL API 的現有應用程式連線,但不包含要在使用這些 API 的應用程式上執行程式設計工作所需檔案或文件。 SQL Server 資料庫引擎未來版本將卸除對 DB-Library 或內嵌式 SQL 應用程式連線的支援。 請勿使用 DB-Library 或內嵌式 SQL 來開發新的應用程式。 在修改現有的應用程式時,請移除對 DB-Library 或內嵌式 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。 | None |
安全性
已被取代的功能 | 取代 | 功能名稱 |
---|---|---|
ALTER LOGIN WITH SET CREDENTIAL 語法 | 以新的 ALTER LOGIN ADD 和 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 或 ALTER AUTHORIZATION | sp_changeobjectowner |
sp_control_dbmasterkey_password | 主要金鑰必須存在且密碼必須正確。 | 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 |
這些預存程序會傳回 SQL Server 2000 (8.x) 中的正確資訊。 這項輸出未反映 SQL Server 2008 中所實作權限階層的變更。 如需詳細資訊,請參閱 固定伺服器角色的權限。 | sp_srvrolepermission sp_dbfixedrolepermission |
GRANT ALL DENY ALL REVOKE ALL |
GRANT、DENY 和 REVOKE 等特定權限。 | ALL 權限 |
PERMISSIONS 內建函數 | 請改為查詢 sys.fn_my_permissions。 | PERMISSIONS |
SETUSER | EXECUTE AS | SETUSER |
RC4 和 DESX 加密演算法 | 請使用其他演算法,例如 AES。 | DESX 演算法 |
伺服器組態選項
已被取代的功能 | 取代 | 功能名稱 |
---|---|---|
c2 audit 選項、default trace enabled 選項 default trace enabled 選項 |
通用條件符合已啟用伺服器組態選項 擴充事件 |
sp_configure 'c2 audit mode' sp_configure 'default trace enabled' |
SMO 類別
已被取代的功能 | 取代 | 功能名稱 |
---|---|---|
Microsoft.SQLServer. Management.Smo.Information class Microsoft.SQLServer. Management.Smo.Settings class Microsoft.SQLServer.Management. Smo.DatabaseOptions class Microsoft.SqlServer.Management.Smo. DatabaseDdlTrigger.NotForReplication 屬性 |
Microsoft.SqlServer. Management.Smo.Server class *Microsoft.SqlServer. Management.Smo.Server 類別 Microsoft.SqlServer. Management.Smo.Database class 無 |
None |
SQL Server Agent
已被取代的功能 | 取代 | 功能名稱 |
---|---|---|
net send 通知 呼叫器通知 |
電子郵件通知 電子郵件通知 |
None |
SQL Server Management Studio
已被取代的功能 | 取代 | 功能名稱 |
---|---|---|
SQL Server Management Studio 中的 [方案總管] 整合 | None |
系統預存程序和函式
已被取代的功能 | 取代 | 功能名稱 |
---|---|---|
sp_db_increased_partitions | 無。 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 |
系統資料表
已被取代的功能 | 取代 | 功能名稱 |
---|---|---|
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 |
相容性檢視。 如需詳細資訊,請參閱相容性檢視 (Transact-SQL)。 重要:相容性檢視不會公開 SQL Server 2005 (9.x) 中所引進功能的中繼資料。 我們建議您升級應用程式來使用目錄檢視。 如需詳細資訊,請參閱目錄檢視 (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 |
SQL 追蹤預存程序、函數和目錄檢視
已被取代的功能 | 取代 | 功能名稱 |
---|---|---|
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 |
擴充事件 | 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 |
系統檢視表
已被取代的功能 | 取代 | 功能名稱 |
---|---|---|
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 |
文字指標
已被取代的功能 | 取代 | 功能名稱 |
---|---|---|
WRITETEXT UPDATETEXT READTEXT |
None | UPDATETEXT 或 WRITETEXT READTEXT |
TEXTPTR() TEXTVALID() |
None | 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' = expression |
expression [AS] column_alias expression [AS] [column_alias] expression [AS] "column_alias" expression [AS] 'column_alias' column_alias = expression |
當做資料行別名的字串常值 |
編號程序。 | 無。 請勿使用。 | ProcNums |
DROP INDEX 中的table_name.index_name 語法 | DROP INDEX 中的index_name ON table_name 語法。 | 具有兩部分名稱的 DROP INDEX |
Transact-SQL 陳述式結尾不是分號。 | 使用分號 (; ) 結束 Transact-SQL 陳述式。 |
無 |
GROUP BY ALL | 搭配 UNION 或衍生資料表使用自訂的依案例方案。 | GROUP BY ALL |
當做 DML 陳述式中之資料行名稱的 ROWGUIDCOL。 | 使用 $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 READONLY MODIFY FILEGROUP READWRITE |
MODIFY FILEGROUP READ_ONLY MODIFY FILEGROUP READ_WRITE |
MODIFY FILEGROUP READONLY MODIFY 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 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) 和 sp_describe_undeclared_parameters (Transact-SQL)。 | SET FMTONLY |
在 UPDATE 或 DELETE 陳述式的 FROM 子句中指定 NOLOCK 或 READUNCOMMITTED。 | 請從 FROM 子句中移除 NOLOCK 或 READUNCOMMITTED 資料表提示。 | UPDATE 或 DELETE 中的 NOLOCK 或 READUNCOMMITTED |
指定資料表提示,而不使用 WITH 關鍵字。 | 使用 WITH。 | 沒有 WITH 的資料表提示 |
INSERT_HINTS | INSERT_HINTS |
工具
已被取代的功能 | 取代 | 功能名稱 |
---|---|---|
SQL Server Profiler for Trace Capture | 請使用 SQL Server Management Studio 內嵌的擴充事件分析工具。 | SQL Server Profiler |
SQL Server Profiler for Trace Replay | SQL Server Distributed Replay |
追蹤管理物件
已被取代的功能 | 取代 | 功能名稱 |
---|---|---|
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 |
注意
sp_setapprole 的 Cookie OUTPUT 參數目前記載成 varbinary(8000) ,這是正確的長度上限。 但目前的實作會傳回 varbinary(50) 。 如果開發人員已配置 varbinary(50) ,則未來版本的 Cookie 傳回大小如有增加,應用程式可能需要變更。 雖然這不是取代問題,但是由於應用程式調整很類似,因此在本主題中提及。 如需詳細資訊,請參閱 sp_setapprole。