SQL Server 2016 (13.x) 中弃用的数据库引擎功能
适用于:SQL Server 2016 (13.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,而在性能计数器和 sys.dm_os_performance_counters
中显示为实例名称 。 功能 ID 值在跟踪事件中作为 ObjectId。
类别 | 弃用的功能 | 替代功能 | 功能名称 | 功能 ID |
---|---|---|---|---|
备份和还原 | 仍弃用 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 |
数据库对象 | 从触发器返回结果集的功能 | 无 | 从触发器返回结果 | 12 |
加密 | 不推荐使用通过 RC4 或 RC4_128 进行加密,并将在下一个版本中删除这种加密方法。 解密 RC4 和 RC4_128 未弃用。 | 请使用其他加密算法,例如 AES。 | 不推荐使用的加密算法 | 253 |
哈希算法 | 使用 MD2、MD4、MD5、SHA 和 SHA1 已弃用。 | 请改用 SHA2_256 或 SHA2_512。 旧算法继续起作用,但会抛出弃用事件。 | 弃用的哈希算法 | 无 |
远程服务器 | 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 | 用链接服务器替代远程服务器。 | 无 | 无 |
远程服务器 | 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 架构生成 | 不推荐使用 FOR XML 选项的 XMLDATA 指令。 如果是 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 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 | 235 |
备份和还原 | sp_addumpdevice'tape' | sp_addumpdevice'disk' | ADDING TAPE DEVICE | 236 |
备份和还原 | sp_helpdevice | sys.backup_devices | sp_helpdevice | 100 |
排序规则 | 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 |
191 192 194 |
排序规则 | Hindi 马其顿语 |
SQL Server 2005 (9.x) 及更高版本中存在这些排序规则,但 fn_helpcollations 并不将它们显示出来。 请改用 Macedonian_FYROM_90 和 Indic_General_90。 | Hindi 马其顿语 |
190 193 |
排序规则 | Azeri_Latin_90 Azeri_Cyrilllic_90 |
Azeri_Latin_100 Azeri_Cyrilllic_100 |
Azeri_Latin_90 Azeri_Cyrilllic_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 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 |
111 113 112 36 111 113 112 |
数据类型 | sp_addtype sp_droptype |
CREATE TYPE DROP TYPE |
sp_addtype sp_droptype |
62 63 |
数据类型 | timestamp 数据类型的 rowversion 语法 | rowversion 数据类型语法 | TIMESTAMP | 158 |
数据类型 | 在 timestamp 列中插入 null 值的功能。 | 请改用 DEFAULT。 | 将 NULL 插入 TIMESTAMP 列 | 179 |
数据类型 | “text in row”表选项 | 使用 varchar(max) 、nvarchar(max) 和 varbinary(max) 数据类型。 有关详细信息,请参阅 sp_tableoption (Transact-SQL)。 | text in row 表选项 | 9 |
数据类型 | 数据类型: text ntext 图像 |
使用 varchar(max) 、nvarchar(max) 和 varbinary(max) 数据类型。 | 数据类型:text、ntext 或 image | 4 |
数据库管理 | sp_attach_db sp_attach_single_file_db |
使用 FOR ATTACH 选项的 CREATE DATABASE 语句。 若要在一个或多个日志文件有新位置的情况下重新生成这些日志文件,请使用 FOR ATTACH_REBUILD_LOG 选项。 | sp_attach_db sp_attach_single_file_db |
81 82 |
数据库对象 | CREATE DEFAULT DROP DEFAULT sp_bindefault sp_unbindefault |
CREATE TABLE 和 ALTER TABLE 中的 DEFAULT 关键字 | CREATE_DROP_DEFAULT sp_bindefault sp_unbindefault |
162 64 65 |
数据库对象 | CREATE RULE DROP RULE sp_bindrule sp_unbindrule |
CREATE TABLE 和 ALTER TABLE 中的 CHECK 关键字 | CREATE_DROP_RULE sp_bindrule sp_unbindrule |
161 66 67 |
数据库对象 | sp_change_users_login | 使用 ALTER USER。 | sp_change_users_login | 231 |
数据库对象 | sp_depends | sys.dm_sql_referenced_entities 和 sys.dm_sql_referenced_entities | sp_depends | 19 |
数据库对象 | sp_renamedb | ALTER DATABASE 中的 MODIFY NAME | 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 |
数据库选项 | ALTER DATABASE 的 TORN_PAGE_DETECTION 选项 | ALTER DATABASE 的 PAGE_VERIFY TORN_PAGE_DETECTION 选项 | ALTER DATABASE WITH TORN_PAGE_DETECTION | 102 |
DBCC | DBCC DBREINDEX | ALTER INDEX 的 REBUILD 选项。 | DBCC DBREINDEX | 11 |
DBCC | DBCC INDEXDEFRAG | ALTER INDEX 的 REORGANIZE 选项 | 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)或 2 级类型(如 COLUMN 或 TRIGGER)添加扩展属性。 有关详细信息,请参阅 sp_addextendedproperty (Transact-SQL)。 |
EXTPROP_LEVEL0TYPE EXTPROP_LEVEL0USER |
13 14 |
扩展存储过程编程 | 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 | 20 |
扩展存储过程编程 | sp_addextendedproc sp_dropextendedproc sp_helpextendedproc |
请改用 CLR 集成。 | sp_addextendedproc sp_dropextendedproc sp_helpextendedproc |
94 95 96 |
扩展的存储过程 | xp_grantlogin xp_revokelogin xp_loginConfig |
使用 CREATE LOGIN 使用 SERVERPROPERTY 的 DROP LOGIN IsIntegratedSecurityOnly 参数 |
xp_grantlogin xp_revokelogin xp_loginConfig |
44 45 59 |
函数 | fn_get_sql | sys.dm_exec_sql_text | fn_get_sql | 151 |
高可用性 | 数据库镜像 | AlwaysOn 可用性组 如果 SQL Server 的版本不支持 Always On 可用性组,请使用日志传送。 |
DATABASE_MIRRORING | 267 |
索引选项 | sp_indexoption | ALTER INDEX | sp_indexoption | 78 |
索引选项 | 选项两侧没有括号的 CREATE TABLE、ALTER TABLE 或 CREATE INDEX 语法。 | 请重写语句以使用当前语法。 | INDEX_OPTION | 33 |
实例选项 | sp_configure option 'allow updates' | 系统表不再可更新。 其设置不起作用。 | sp_configure 'allow updates' | 173 |
实例选项 | sp_configure 选项: 'locks' 'open objects' 'set working set size' |
这些选项目前为自动配置。 其设置不起作用。 | sp_configure 'locks' sp_configure 'open objects' sp_configure 'set working set size' |
174 175 176 |
实例选项 | sp_configure option 'priority boost' | 系统表不再可更新。 其设置不起作用。 请改用 Windows start /high … program.exe 选项。 | sp_configure 'priority boost' | 199 |
实例选项 | sp_configure option 'remote proc trans' | 系统表不再可更新。 其设置不起作用。 | sp_configure 'remote proc trans' | 37 |
链接服务器 | 对于链接服务器,指定 SQLOLEDB 访问接口。 | 适用于 SQL Server 的 Microsoft OLE DB 驱动程序 (MSOLEDBSQL) | 对于链接服务器使用 SQLOLEDB | 19 |
锁定 | sp_lock | sys.dm_tran_locks | sp_lock | 99 |
元数据 | FILE_ID INDEXKEY_PROPERTY |
FILE_IDEX sys.index_columns |
FILE_ID INDEXKEY_PROPERTY |
15 17 |
本机 XML Web 服务 | 带有 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 |
21 22 23 |
可删除的数据库 | sp_certify_removable sp_create_removable |
sp_detach_db | sp_certify_removable sp_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_addapprole sp_dropapprole |
CREATE APPLICATION ROLE DROP APPLICATION ROLE |
sp_addapprole sp_dropapprole |
53 54 |
安全性 | sp_addlogin sp_droplogin |
CREATE LOGIN DROP LOGIN |
sp_addlogin sp_droplogin |
39 40 |
安全性 | sp_adduser sp_dropuser |
CREATE USER DROP USER |
sp_adduser sp_dropuser |
49 50 |
安全性 | sp_grantdbaccess sp_revokedbaccess |
CREATE USER DROP USER |
sp_grantdbaccess sp_revokedbaccess |
51 52 |
安全性 | sp_addrole sp_droprole |
CREATE ROLE DROP ROLE |
sp_addrole sp_droprole |
56 57 |
安全性 | sp_approlepassword sp_password |
ALTER APPLICATION ROLE ALTER LOGIN |
sp_approlepassword sp_password |
55 46 |
安全性 | sp_changeobjectowner | ALTER SCHEMA 或 ALTER AUTHORIZATION | sp_changeobjectowner | 58 |
安全性 | sp_control_dbmasterkey_password | 主密钥必须存在,并且密码必须是正确的。 | sp_control_dbmasterkey_password | 274 |
安全性 | sp_defaultdb sp_defaultlanguage |
ALTER LOGIN | sp_defaultdb sp_defaultlanguage |
47 48 |
安全性 | sp_denylogin sp_grantlogin sp_revokelogin |
ALTER LOGIN DISABLE CREATE LOGIN DROP LOGIN |
sp_denylogin sp_grantlogin sp_revokelogin |
42 41 43 |
安全性 | USER_ID | DATABASE_PRINCIPAL_ID | USER_ID | 16 |
安全性 | sp_srvrolepermission sp_dbfixedrolepermission |
这些存储过程返回在 SQL Server 2000 (8.x)中是正确的信息。 该输出不反映在 SQL Server 2008 (10.0.x) 中实现的权限层次结构的更改。 有关详细信息,请参阅 固定服务器角色的权限。 | sp_srvrolepermission sp_dbfixedrolepermission |
61 60 |
安全性 | GRANT ALL DENY ALL REVOKE ALL |
GRANT、DENY 和 REVOKE 特定权限。 | ALL 权限 | 35 |
安全性 | PERMISSIONS 内部函数 | 请改为查询 sys.fn_my_permissions。 | PERMISSIONS | 170 |
安全性 | SETUSER | EXECUTE AS | SETUSER | 165 |
安全性 | RC4 和 DESX 加密算法 | 请使用其他算法,如 AES。 | DESX 算法 | 238 |
SET 选项 | 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 | 250 |
服务器配置选项 | c2 审核选项 default trace enabled 选项 |
启用了通用准则合规性的服务器配置选项 扩展事件 |
sp_configure 'c2 audit mode' sp_configure 'default trace enabled' |
252 253 |
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 property |
Microsoft.SqlServer. Management.Smo.Server class Microsoft.SqlServer. Management.Smo.Server class Microsoft.SqlServer. Management.Smo.Database class 无 |
None | 无 |
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 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 |
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_procedures sys.numbered_procedure_parameters |
无 | numbered_procedures numbered_procedure_parameters |
148 149 |
系统函数 | fn_virtualservernodes fn_servershareddrives |
sys.dm_os_cluster_nodes sys.dm_io_cluster_shared_drives |
fn_virtualservernodes fn_servershareddrives |
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 |
表提示 | 在 UPDATE 或 DELETE 语句的 FROM 子句中指定 NOLOCK 或 READUNCOMMITTED。 | 请从 FROM 子句中删除 NOLOCK 或 READUNCOMMITTED 表提示。 | UPDATE 或 DELETE 中的 NOLOCK 或 READUNCOMMITTED | 1 |
表提示 | 不借助 WITH 关键字指定表提示。 | 使用 WITH。 | 不带 WITH 的表提示 | 8 |
表提示 | INSERT_HINTS | INSERT_HINTS | 34 | |
文本指针 | WRITETEXT UPDATETEXT READTEXT |
无 | UPDATETEXT 或 WRITETEXT READTEXT |
115 114 |
文本指针 | TEXTPTR() TEXTVALID() |
无 | TEXTPTR TEXTVALID |
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' = expression |
expression [AS] column_alias expression [AS] [column_alias] expression [AS] "column_alias" expression [AS] 'column_alias' column_alias = expression |
字符串文字作为列别名 | 184 |
Transact-SQL | 编号过程 | 无。 请不要使用。 | ProcNums | 160 |
Transact-SQL | 在 DROP INDEX 中使用table_name.index_name 语法 | 在 DROP INDEX 中使用index_name ON table_name 语法。 | 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 READONLY MODIFY FILEGROUP READWRITE |
MODIFY FILEGROUP READ_ONLY MODIFY FILEGROUP READ_WRITE |
MODIFY FILEGROUP READONLY MODIFY 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 for Trace Capture | 使用 SQL Server Management Studio 中嵌入的扩展事件探查器。 | SQL Server Profiler | 无 |
工具 | SQL Server Profiler for Trace Replay | SQL Server 分布式重播 | SQL Server Profiler | 无 |
跟踪管理对象 | Microsoft.SqlServer.Management.Trace 命名空间(包含用于 SQL Server 跟踪和重播对象的 API) | 跟踪配置: Microsoft.SqlServer.Management.XEvent 跟踪读取: Microsoft.SqlServer.XEvent.Linq 跟踪重播:无 |
||
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 |
258 260 261 259 256 257 |
SET 选项 | 适用于SET ROWCOUNT 、 INSERT, UPDATE语句的 DELETE | TOP 关键字 | SET ROWCOUNT | 109 |
注意
sp_setapprole 的 cookie OUTPUT 参数现记载为 varbinary(8000) ,这是正确的最大长度。 但是,目前执行返回 varbinary(50) 。 如果开发人员已分配 varbinary(50) ,当 cookie 在将来的版本中返回大小增量时,应用程序可能需要更改。 尽管这不是不推荐使用的问题,但本主题中提到了,因为应用程序调整都是类似的。 有关详细信息,请参阅 sp_setapprole。