适用于:SQL Server 2016 (13.x) 及更高版本
SQL Server 2016(13.x)中已弃用的功能包括:
- Data Quality Services (DQS)
- Master Data Services (MDS)
有关 SQL Server 其他版本中已弃用的功能的信息,请参阅:
- SQL Server 2025 (17.x) 预览版中弃用的数据库引擎功能
- SQL Server 2022 中弃用的数据库引擎功能(16.x)
- SQL Server 2019 (15.x) 中弃用的数据库引擎功能
- SQL Server 2017 (14.x) 中弃用的数据库引擎功能
弃用指南
本主题介绍 SQL Server 2016 (13.x) 中仍然可用但不推荐使用的 SQL Server 数据库引擎 功能。 在新的应用程序中不应使用已弃用的功能。
如果功能标记为已弃用,表示:
- 该功能仅处于维护模式。 未进行任何新更改,包括与新功能的互操作性有关的更改。
- 我们努力不从将来的版本中删除已弃用的功能,使升级更简单。 但是,在极少数情况下,如果该功能限制了将来的创新,我们可能选择从 SQL Server 中将其永久停用(删除)。
- 请勿在新的开发工作中使用已弃用的功能。 对于现有应用,计划尽快修改当前使用这些功能的应用程序。
对于 SQL Server 2017 (14.x),请参阅 SQL Server 2017 (14.x) 中弃用的数据库引擎功能。
可以使用 SQL Server Deprecated Features Object 性能计数器监视不推荐使用的功能的使用情况并跟踪事件。 有关详细信息,请参阅 使用 SQL Server 对象。
这些计数器的值也可通过执行以下语句而得:
SELECT * FROM sys.dm_os_performance_counters
WHERE object_name LIKE '%SQL%Deprecated Features%';
SQL Server 的下一版本中弃用的功能
未来版本的 SQL Server 将不再支持以下 SQL Server 数据库引擎功能。 请不要在新的开发工作中使用这些功能,并尽快修改当前还在使用这些功能的应用程序。 功能名称值在跟踪事件中显示为 ObjectName,而在性能计数器和 中显示为实例名称 。 功能 ID 值在跟踪事件中作为 ObjectId。
| 类别 | 弃用的功能 | 替代功能 | 功能名称 | 功能 ID |
|---|---|---|---|---|
| 备份和还原 |
RESTORE { DATABASE | LOG } WITH [MEDIA]PASSWORD 继续弃用。
BACKUP{ DATABASELOG | } WITH PASSWORD 和 BACKUP { DATABASE | LOG } WITH MEDIAPASSWORD 已停止使用。 |
无 |
BACKUP DATABASE 或 LOG WITH PASSWORDBACKUP 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 |
| 数据库对象 | 从触发器返回结果集的功能 | 无 | 从触发器返回结果 | 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 |
| 表提示 | 不带括号的 HOLDLOCK 表提示。 | 使用 HOLDLOCK 以及括号。 | 不带括号的 HOLDLOCK 表提示 | 167 |
SQL Server 未来版本中弃用的功能
SQL Server 的下一版本仍支持以下 SQL Server 数据库引擎 功能,但以后的版本将弃用这些功能。 具体是哪个 SQL Server 版本现在还未确定。
| 类别 | 弃用的功能 | 替代功能 | 功能名称 | 功能 ID |
|---|---|---|---|---|
| 兼容级别 | sp_dbcmptlevel |
ALTER DATABASE ... SET COMPATIBILITY_LEVEL。 有关详细信息,请参阅 ALTER DATABASE (Transact-SQL) 兼容性级别。 |
sp_dbcmptlevel | 80 |
| 兼容级别 | 数据库兼容性级别 110 和 120。 | 计划为未来版本升级数据库和应用程序。 但是,我们继续支持在任何支持的数据库兼容性级别上认证的应用程序尽可能长的时间,使升级更简单。 有关兼容性级别的详细信息,请参阅 ALTER DATABASE (Transact-SQL) 兼容性级别。 | 数据库兼容性级别 110 数据库兼容性级别 120 |
|
| XML | 内联 XDR 架构生成 | 选项的 XMLDATA 指令 FOR XML 已弃用。 对于 RAW 和 AUTO 模式,请使用 XSD 生成。 EXPLICT 模式下没有 XMLDATA 指令的替代项。 |
XMLDATA | 181 |
| XML | sys.sp_db_selective_xml_index |
ALTER INDEX ... DISABLE有关详细信息,请参阅 ALTER INDEX。 |
sys.sp_db_selective_xml_index | |
| 备份和还原 | 备份 {数据库 | 日志} 到磁带驱动器 BACKUP { DATABASE | LOG } TO device_that_is_a_tape |
备份 {数据库 | 日志} 到磁盘上 BACKUP { DATABASE | LOG } TO device_that_is_a_disk |
BACKUP DATABASE 或 LOG TO TAPE | 235 |
| 备份和还原 | sp_addumpdevice 'tape' |
sp_addumpdevice 'disk' |
ADDING TAPE DEVICE |
236 |
| 备份和还原 | sp_helpdevice |
sys.backup_devices |
sp_helpdevice |
100 |
| 排序规则 | Korean_Wansung_Unicode 立陶宛经典 SQL_AltDiction_CP1253_CS_AS |
无。 SQL Server 2005 (9.x) 中存在这些排序规则,但 fn_helpcollations 并不将它们显示出来。 | Korean_Wansung_Unicode 立陶宛经典 SQL_AltDiction_CP1253_CS_AS |
191 192 194 |
| 排序规则 | 印地语 马其顿语 |
SQL Server 2005 (9.x) 及更高版本中存在这些排序规则,但 fn_helpcollations 并不将它们显示出来。 请改用 Macedonian_FYROM_90 和 Indic_General_90。 | 印地语 马其顿语 |
190 193 |
| 排序规则 | Azeri_Latin_90 阿塞拜疆语_西里尔字母_90 |
Azeri_Latin_100 Azeri_Cyrillic_100 |
Azeri_Latin_90 阿塞拜疆语_西里尔字母_90 |
232 233 |
| 配置 |
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 |
111 113 112 36 111 113 112 |
| 数据类型 | sp_addtypesp_droptype |
CREATE TYPEDROP TYPE |
sp_addtypesp_droptype |
62 63 |
| 数据类型 | timestamp 数据类型的 rowversion 语法 | rowversion 数据类型语法 | TIMESTAMP |
158 |
| 数据类型 | 在 timestamp 列中插入 null 值的功能。 | 请改用 DEFAULT 。 |
INSERT NULL插入列TIMESTAMP |
179 |
| 数据类型 | “text in row”表选项 | 使用 varchar(max) 、nvarchar(max) 和 varbinary(max) 数据类型。 有关详细信息,请参阅 sp_tableoption。 | text in row 表选项 | 9 |
| 数据类型 | 数据类型: 文本 ntext 图像 |
使用 varchar(max) 、nvarchar(max) 和 varbinary(max) 数据类型。 | 数据类型:text、ntext 或 image | 4 |
| 数据库管理 | sp_attach_dbsp_attach_single_file_db |
CREATE DATABASE 带有选项的 FOR ATTACH 语句。 若要重新生成多个日志文件,如果一个或多个具有新位置,请使用 FOR ATTACH_REBUILD_LOG 此选项。 |
sp_attach_dbsp_attach_single_file_db |
81 82 |
| 数据库对象 | CREATE DEFAULTDROP DEFAULTsp_bindefault sp_unbindefault |
DEFAULT 关键字 in CREATE TABLE 和 ALTER TABLE |
创建_删除_默认值sp_bindefaultsp_unbindefault |
162 64 65 |
| 数据库对象 | CREATE RULEDROP RULEsp_bindrulesp_unbindrule |
CHECK 关键字 in CREATE TABLE 和 ALTER TABLE |
CREATE_DROP_RULE(创建删除规则)sp_bindrulesp_unbindrule |
161 66 67 |
| 数据库对象 | sp_change_users_login |
使用 ALTER USER。 |
sp_change_users_login |
231 |
| 数据库对象 | sp_depends |
sys.dm_sql_referencing_entities 和 sys.dm_sql_referenced_entities |
sp_depends |
19 |
| 数据库对象 | sp_renamedb |
MODIFY NAME 中的 ALTER DATABASE |
sp_renamedb |
79 |
| 数据库对象 | sp_getbindtoken |
使用 MARS 或分布式事务。 | sp_getbindtoken |
98 |
| 数据库选项 | sp_bindsession |
使用 MARS 或分布式事务。 | sp_bindsession |
97 |
| 数据库选项 | sp_resetstatus |
ALTER DATABASE SET { ONLINE | EMERGENCY } |
sp_resetstatus |
83 |
| 数据库选项 |
TORN_PAGE_DETECTION 选项 ALTER DATABASE |
PAGE_VERIFY TORN_PAGE_DETECTION 选项 ALTER DATABASE |
ALTER DATABASE WITH TORN_PAGE_DETECTION |
102 |
| DBCC | DBCC DBREINDEX |
REBUILD选项的 .ALTER INDEX |
DBCC DBREINDEX | 11 |
| DBCC | DBCC INDEXDEFRAG |
REORGANIZE 选项 ALTER INDEX |
DBCC INDEXDEFRAG | 18 |
| DBCC | DBCC SHOWCONTIG | sys.dm_db_index_physical_stats |
DBCC SHOWCONTIG | 10 |
| DBCC | DBCC PINTABLE DBCC UNPINTABLE |
无效。 | DBCC [UN]PINTABLE | 189 |
| 扩展属性 | 用 Level0type = 'type' 和 Level0type = 'USER' 向 1 级或 2 级类型对象添加扩展属性。 | 用 Level0type = 'USER' 只可直接向用户或角色添加扩展属性。 使用 Level0type = ' SCHEMA' 将扩展属性添加到级别 1 类型(如 TABLE 或 VIEW)或 COLUMN 或 TRIGGER 等级别 2 类型。 有关详细信息,请参阅 sp_addextendedproperty。 |
EXTPROP_LEVEL0TYPEEXTPROP_LEVEL0USER |
13 14 |
| 扩展存储过程编程 | srv_alloc srv_convert srv_describe srv_getbindtoken srv_引起注意 srv_message_handler srv_paramdata srv_paraminfo srv_paramlen srv_parammaxlen (参数最大长度) srv_参数名称 srv_paramnumber srv_paramset srv_paramsetoutput 服务器参数状态 服务器参数类型 srv_pfield srv_pfieldex srv_rpcdb srv_rpcname srv_rpcnumber srv_rpcoptions srv_rpcowner srv_rpcparams 服务器发送完成 srv_sendmsg srv_sendrow srv_setcoldata srv_setcollen srv_setutype srv_willconvert srv_wsendmsg |
请改用 CLR 集成。 | XP_API |
20 |
| 扩展存储过程编程 | sp_addextendedprocsp_dropextendedprocsp_helpextendedproc |
请改用 CLR 集成。 | sp_addextendedprocsp_dropextendedprocsp_helpextendedproc |
94 95 96 |
| 扩展的存储过程 | xp_grantloginxp_revokeloginxp_loginConfig |
使用 CREATE LOGINUse DROP LOGIN IsIntegratedSecurityOnly 参数 SERVERPROPERTY |
xp_grantloginxp_revokeloginxp_loginconfig |
44 45 59 |
| Functions | fn_get_sql | sys.dm_exec_sql_text |
fn_get_sql | 151 |
| 高可用性 | 数据库镜像 | AlwaysOn 可用性组 如果 SQL Server 的版本不支持 Always On 可用性组,请使用日志传送。 |
数据库镜像 | 267 |
| 索引选项 | sp_indexoption |
ALTER INDEX |
sp_indexoption |
78 |
| 索引选项 |
CREATE TABLE、 ALTER TABLE或 CREATE INDEX 语法,而不用括号括住选项。 |
请重写语句以使用当前语法。 | 索引选项 | 33 |
| 实例选项 |
sp_configure 选项“允许更新” |
系统表不再可更新。 其设置不起作用。 |
sp_configure “允许更新” |
173 |
| 实例选项 |
sp_configure 选项:锁具 “打开对象” “设置工作集大小” |
这些选项目前为自动配置。 其设置不起作用。 |
sp_configure “locks”sp_configure “打开对象”sp_configure “设置工作集大小” |
174 175 176 |
| 实例选项 |
sp_configure 选项“priority boost” |
系统表不再可更新。 其设置不起作用。 请改用 Windows start /high ... program.exe 选项。 |
sp_configure “priority boost” |
199 |
| 实例选项 |
sp_configure 选项“remote proc trans” |
系统表不再可更新。 其设置不起作用。 |
sp_configure “remote proc trans” |
37 |
| 链接服务器 | 对于链接服务器,指定 SQLOLEDB 访问接口。 | 适用于 SQL Server 的 Microsoft OLE DB 驱动程序 | 对于链接服务器使用 SQLOLEDB | 19 |
| 锁定 | sp_lock |
sys.dm_tran_locks |
sp_lock |
99 |
| 元数据 | FILE_ID INDEXKEY_PROPERTY |
FILE_IDEXsys.index_columns |
FILE_ID INDEXKEY_PROPERTY |
15 十七 |
| 本机 XML Web 服务 | 带有CREATE ENDPOINTFOR SOAP选项的或ALTER ENDPOINT语句。sys.endpoint_webmethods (系统终端_web方法) 系统 SOAP 端点 |
请改用 Windows Communications Foundation (WCF) 或 ASP.NET。 | CREATE/ALTER ENDPOINTsys.endpoint_webmethods (系统终端_web方法) EXT_soap_端点 sys.soap_endpoints |
21 22 23 |
| 可删除的数据库 | sp_certify_removablesp_create_removable |
sp_detach_db |
sp_certify_removablesp_create_removable |
74 75 |
| 可删除的数据库 | sp_dbremove |
DROP DATABASE |
sp_dbremove |
76 |
| 安全性 | 语法ALTER LOGIN WITH SET CREDENTIAL |
替换为新 ALTER LOGIN ADD 语法和 DROP CREDENTIAL 语法 |
ALTER LOGIN WITH SET CREDENTIAL |
230 |
| 安全性 | sp_addapprolesp_dropapprole |
CREATE APPLICATION ROLEDROP APPLICATION ROLE |
sp_addapprolesp_dropapprole |
53 54 |
| 安全性 | sp_addloginsp_droplogin |
CREATE LOGINDROP LOGIN |
sp_addloginsp_droplogin |
39 40 |
| 安全性 | sp_addusersp_dropuser |
CREATE USERDROP USER |
sp_addusersp_dropuser |
49 50 |
| 安全性 | sp_grantdbaccesssp_revokedbaccess |
CREATE USERDROP USER |
sp_grantdbaccesssp_revokedbaccess |
51 52 |
| 安全性 | sp_addrolesp_droprole |
CREATE ROLEDROP ROLE |
sp_addrolesp_droprole |
56 57 |
| 安全性 | sp_approlepasswordsp_password |
ALTER APPLICATION ROLEALTER LOGIN |
sp_approlepasswordsp_password |
55 46 |
| 安全性 | sp_changeobjectowner |
ALTER SCHEMA 或 ALTER AUTHORIZATION |
sp_changeobjectowner |
58 |
| 安全性 | sp_control_dbmasterkey_password |
主密钥必须存在,并且密码必须是正确的。 | sp_control_dbmasterkey_password |
274 |
| 安全性 | sp_defaultdbsp_defaultlanguage |
ALTER LOGIN |
sp_defaultdbsp_defaultlanguage |
47 48 |
| 安全性 | sp_denyloginsp_grantloginsp_revokelogin |
ALTER LOGIN DISABLECREATE LOGINDROP LOGIN |
sp_denyloginsp_grantloginsp_revokelogin |
42 41 43 |
| 安全性 | 用户ID | 数据库主体标识符 | 用户ID | 16 |
| 安全性 | sp_srvrolepermissionsp_dbfixedrolepermission |
这些存储过程返回在 SQL Server 2000 (8.x)中是正确的信息。 该输出不反映在 SQL Server 2008 (10.0.x) 中实现的权限层次结构的更改。 有关详细信息,请参阅 固定服务器角色的权限。 | sp_srvrolepermissionsp_dbfixedrolepermission |
61 六十 |
| 安全性 | GRANT ALLDENY ALLREVOKE ALL |
GRANT、 DENY特定权限和 REVOKE 特定权限。 |
ALL 权限 | 35 |
| 安全性 | PERMISSIONS 内部函数 | 请改为查询 sys.fn_my_permissions 。 |
权限 | 170 |
| 安全性 | SETUSER | EXECUTE AS |
SETUSER | 165 |
| 安全性 | RC4 和 DESX 加密算法 |
请使用其他算法,如 AES。 |
DESX 算法 |
238 |
SET 选项 |
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 |
250 |
| 服务器配置选项 | c2 审核选项 default trace enabled 选项 |
启用了通用准则合规性的服务器配置选项 扩展事件概述 |
sp_configure “c2 审核模式”sp_configure “已启用默认跟踪” |
252 253 |
| SMO 类 |
Microsoft.SQLServer.Management.Smo.Information 类Microsoft.SQLServer. Management.Smo.Settings 类Microsoft.SQLServer.Management.Smo.DatabaseOptions 类Microsoft.SqlServer.Management.Smo.DatabaseDdlTrigger.NotForReplication 属性 |
Microsoft.SqlServer.Management.Smo.Server 类Microsoft.SqlServer.Management.Smo.Server 类Microsoft.SqlServer.Management.Smo.Database 类无 |
无 | 无 |
| SQL Server 代理 |
net send 通知 寻呼通知 |
电子邮件通知 电子邮件通知 |
无 | 无 |
| SQL Server Management Studio | SQL Server Management Studio 中的解决方案资源管理器集成 | 无 | 无 | |
| 系统存储过程 | sp_db_increased_partitions |
无。 现在默认支持增加分区。 | sp_db_increased_partitions |
253 |
| 系统表 | sysaltfiles syscacheobjects syscolumns syscomments (系统注释) 系统配置 系统约束 (sysconstraints) syscurconfigs sysdatabases sysdepends 系统设备 sysfilegroups 系统文件 系统外键 sysfulltextcatalogs 系统索引 sysindexkeys 系统锁定信息 syslogins sysmembers 系统消息 sysobjects sysoledbusers(OLE DB 用户表) sysopentapes sysperfinfo syspermissions sysprocesses 系统保护 sysreferences sysremotelogins(系统远程登录) sysservers systypes 系统用户 |
兼容性视图。 有关详细信息,请参阅 系统兼容性视图。 重要: 兼容性视图不会公开 SQL Server 2005(9.x)中引入的功能的元数据。 建议将应用程序升级为使用目录视图。 有关详细信息,请参阅 系统目录视图。 |
sysaltfiles syscacheobjects syscolumns syscomments (系统注释) 系统配置 系统约束 (sysconstraints) syscurconfigs sysdatabases sysdepends 系统设备 sysfilegroups 系统文件 系统外键 sysfulltextcatalogs 系统索引 sysindexkeys 系统锁定信息 syslogins sysmembers 系统消息 sysobjects sysoledbusers(OLE DB 用户表) sysopentapes sysperfinfo syspermissions sysprocesses 系统保护 sysreferences sysremotelogins(系统远程登录) sysservers systypes 系统用户 |
141 无 133 126 146 131 147 142 123 144 128 127 130 122 132 134 143 140 119 137 125 139 145 157 121 153 120 129 138 136 135 124 |
| 系统表 | sys.numbered_proceduressys.numbered_procedure_parameters |
无 | 编号程序 编号的过程参数 |
148 149 |
| 系统函数 | fn_virtualservernodes 服务器共享驱动器 |
sys.dm_os_cluster_nodessys.dm_io_cluster_shared_drives |
fn_virtualservernodes 服务器共享驱动器 |
155 156 |
| 系统视图 | sys.sql_dependencies |
sys.sql_expression_dependencies |
sys.sql_dependencies |
198 |
| 表压缩 | vardecimal 存储格式的使用。 | 不推荐使用 Vardecimal 存储格式。 此版本中的数据压缩功能可以压缩十进制值和其他数据类型。 建议您使用数据压缩,而不使用 vardecimal 存储格式。 | vardecimal 存储格式 | 200 |
| 表压缩 | 使用 sp_db_vardecimal_storage_format 过程。 |
不推荐使用 Vardecimal 存储格式。 SQL Server 提供的数据压缩功能可以压缩十进制值和其他数据类型的值。 建议您使用数据压缩,而不使用 vardecimal 存储格式。 | sp_db_vardecimal_storage_format |
201 |
| 表压缩 | 使用 sp_estimated_rowsize_reduction_for_vardecimal 过程。 |
请改用数据压缩和 sp_estimate_data_compression_savings 过程。 |
sp_estimated_rowsize_reduction_for_vardecimal |
202 |
| 表提示 | 指定NOLOCK或指定FROM或READUNCOMMITTEDDELETE语句的UPDATE子句。 |
NOLOCK从FROM子句中删除或READUNCOMMITTED表提示。 |
NOLOCK或 in UPDATE 或READUNCOMMITTEDDELETE |
1 |
| 表提示 | 指定表提示而不使用 WITH 关键字。 |
使用 WITH。 |
不带表提示 WITH |
8 |
| 表提示 | INSERT_HINTS | INSERT_HINTS | 34 | |
| 文本指针 | 输入文本 更新文本 READTEXT |
无 | UPDATETEXT 或 WRITETEXT READTEXT |
115 114 |
| 文本指针 | TEXTPTR() TEXTVALID() |
无 | TEXTPTR 文本有效 |
5 6 |
| Transact-SQL |
:: 函数调用序 |
替换为 SELECT <column_list> FROM sys.<function_name>()。例如,将 SELECT * FROM ::fn_virtualfilestats(2,1)替换为 SELECT * FROM sys.fn_virtualfilestats(2,1)。 |
“::”函数调用语法 | 166 |
| Transact-SQL | 由三部分和四部分组成的列引用。 | 由两部分组成的名称是符合标准的行为。 | 两个以上的部分构成的列名称 | 3 |
| Transact-SQL | 用引号括起来的字符串,用作列表中的表达式的 SELECT 列别名:“string_alias” = 表达式 |
表达式 [AS] column_alias 表达式 [AS] [column_alias] 表达式 [AS] “column_alias” 表达式 [AS] 'column_alias' column_alias表达式 |
字符串文字作为列别名 | 184 |
| Transact-SQL | 编号过程 | 无。 请不要使用。 | ProcNums | 160 |
| Transact-SQL |
table_name.index_name 语法 DROP INDEX |
ON index_nametable_name语法。DROP INDEX |
DROP INDEX 具有两部分名称 |
163 |
| Transact-SQL | 不使用分号结束 Transact-SQL 语句。 | 使用分号 (;) 结束 Transact-SQL 语句。 |
无 | 无 |
| Transact-SQL | GROUP BY ALL |
对表或派生表使用自定义大小写解决方案 UNION 。 |
GROUP BY ALL |
169 |
| Transact-SQL |
ROWGUIDCOL 作为 DML 语句中的列名。 |
请使用 $rowguid。 | ROWGUIDCOL |
182 |
| Transact-SQL | IDENTITYCOL 在 DML 语句中用作列名。 | 请使用 $identity。 | IDENTITYCOL | 183 |
| Transact-SQL | 将 #、## 用作临时表和临时存储过程名称。 | 请至少使用一个其他字符。 | “#”和“##”作为临时表和存储过程的名称 | 185 |
| Transact-SQL | 使用 @ 或 @@ 作为 Transact-SQL 标识符。 | 请勿使用 @ 或 @@,或者以 @@ 开头的名称作为标识符。 | “@”和以“@@”开头的名称作为 Transact-SQL 标识符 | 186. |
| Transact-SQL | 将 DEFAULT 关键字用作默认值。 |
不要将单词 DEFAULT 用作默认值。 |
DEFAULT 关键字作为默认值 |
187 |
| Transact-SQL | 将空格用作表提示之间的分隔符。 | 使用逗号分隔各个表提示。 | 没有逗号的多个表提示 | 168 |
| Transact-SQL | 聚集索引视图的选择列表在 90 兼容模式下必须包含 COUNT_BIG (*) | 请使用 COUNT_BIG (*)。 | 不包含 COUNT_BIG(*) 的索引视图选择列表 | 2 |
| Transact-SQL | 表提示通过视图间接应用于多语句表值函数 (TVF) 的调用。 | 无。 | 间接 TVF 提示 | 7 |
| Transact-SQL |
ALTER DATABASE 语法:MODIFY FILEGROUP READONLYMODIFY FILEGROUP READWRITE |
MODIFY FILEGROUP READ_ONLYMODIFY FILEGROUP READ_WRITE |
MODIFY FILEGROUP READONLYMODIFY FILEGROUP READWRITE |
195 196 |
| 其他 | DB-Library 用于 C 语言的嵌入式 SQL |
尽管数据库引擎仍然支持来自使用 DB-Library 和嵌入式 SQL API 的现有应用程序的连接,但它不包括在使用这些 API 的应用程序上进行编程工作所需的文件或文档。 SQL Server 数据库引擎 的未来版本将不再支持来自 DB-Library 或嵌入式 SQL 应用程序的连接。 请不要使用 DB-Library 或嵌入式 SQL 来开发新的应用程序。 修改现有应用程序时,请删除 DB-Library 或嵌入式 SQL 的任何依赖项。 请使用 SQLClient 命名空间或诸如 ODBC 的 API,而不使用这些 API。 当前版本不包括运行这些应用程序所需的 DB-Library DLL。 若要运行 DB-Library 或嵌入式 SQL 应用程序,必须有 SQL Server 6.5 版、SQL Server 7.0 版或 SQL Server 2000 (8.x) 提供的 DB-Library DLL。 | 无 | 无 |
| 工具 | 用于跟踪捕获的 SQL Server Profiler | 使用 SQL Server Management Studio 中嵌入的扩展事件探查器。 | SQL Server Profiler | 无 |
| 工具 | 用于跟踪重播的 SQL Server Profiler | SQL Server Distributed Replay 概述 | SQL Server Profiler | 无 |
| 跟踪管理对象 | Microsoft.SqlServer.Management.Trace 命名空间(包含用于 SQL Server 跟踪和重播对象的 API) | 跟踪配置: Microsoft.SqlServer.Management.XEvent 跟踪读取: Microsoft.SqlServer.XEvent.Linq 跟踪重播:无 |
||
| 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_bindingssys.trace_categories(系统追踪类别) 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 |
258 260 261 259 256 257 |
| SET 选项 |
SET ROWCOUNT for INSERT、 UPDATE和 DELETE 语句 |
TOP 关键词 |
SET ROWCOUNT |
109 |
注意
OUTPUT cookie 参数sp_setapprole当前记录为 varbinary(8000),这是正确的最大长度。 但是,目前执行返回 varbinary(50) 。 如果开发人员已分配 varbinary(50) ,当 cookie 在将来的版本中返回大小增量时,应用程序可能需要更改。 尽管这不是不推荐使用的问题,但本主题中提到了,因为应用程序调整都是类似的。 有关详细信息,请参阅 sp_setapprole。