SQL Server 2005 中不推荐使用的数据库引擎功能
更新日期: 2006 年 12 月 12 日
不推荐使用的功能包括在 SQL Server 的下一个版本中不再支持的功能以及在 SQL Server 的未来版本中不再受支持的功能。
在 SQL Server 的下一个版本中不再受支持的功能
在 SQL Server 的下一个版本中,将不再支持下列数据库引擎功能。如果时间允许,建议在可能的情况下用替换项替换这些功能。
类别 | 不推荐使用的功能 | 替代功能 |
---|---|---|
备份和还原 |
DUMP 语句 |
BACKUP |
备份和还原 |
LOAD 语句 |
RESTORE |
备份和还原 |
BACKUP LOG WITH NO_LOG |
无。 如果数据库使用的是简单恢复模式,事务日志将被自动截断。如果需要从数据库删除日志备份链,请切换到简单恢复模式。 |
备份和还原 |
BACKUP LOG WITH TRUNCATE_ONLY |
无。 如果数据库使用的是简单恢复模式,事务日志将被自动截断。如果需要从数据库删除日志备份链,请切换到简单恢复模式。 |
备份和还原 |
BACKUP TRANSACTION |
BACKUP LOG |
备份和还原 |
BACKUP { DATABASE | LOG } WITH PASSWORD |
无。 |
备份和还原 |
BACKUP { DATABASE | LOG } WITH MEDIAPASSWORD |
无。 |
备份和还原 |
RESTORE { DATABASE | LOG } … WITH DBO_ONLY |
RESTORE { DATABASE | LOG } … … WITH RESTRICTED_USER |
备份和还原 |
RESTORE { DATABASE | LOG } WITH PASSWORD |
无。 |
备份和还原 |
RESTORE { DATABASE | LOG } WITH MEDIAPASSWORD |
无。 |
兼容级别 |
60 和 65 兼容级别 |
无。 |
兼容级别 |
70 兼容级别 |
无。 |
DBCC |
DBCC CONCURRENCYVIOLATION |
无。 |
扩展存储过程编程 |
srv_getuserdata srv_setuserdata |
改用 CLR 集成。 |
全文搜索 |
sp_fulltext_service 操作值 clean_up、connect_timeout 和 data_timeout 返回零。 |
无。 |
实例选项 |
SET REMOTE_PROC_TRANSACTIONS sp_configure'remote proc trans' |
使用链接服务器和分布式查询。 sp_addlinkedserver |
远程服务器 |
使用远程服务器 用 sp_addserver 来创建远程服务器 |
使用链接服务器。 用 sp_addlinkedserver 来创建链接服务器 |
安全性 |
sp_addalias sp_dropalias sp_addgroup sp_changegroup sp_dropgroup sp_helpgroup |
由角色取代 |
安全性 |
SETUSER |
EXECUTE AS |
系统表 |
syssegments |
无。 |
在 SQL Server 的未来版本中不再受支持的功能
在 SQL Server 的下一个版本中,这些数据库引擎功能仍受支持,但是在未来的版本中这些功能将被删除。具体的 SQL Server 版本尚未确定。
类别
不推荐使用的功能
替代功能
备份和还原
sp_helpdevice
sys.backup_devices
排序规则
印地语
Lithuanian_Classic
SQL_AltDiction_CP1253_CS_AS
无。
Microsoft SQL Server 2005 中存在这些排序规则,但是对 fn_helpcollations 是不可见的。
兼容级别
80 兼容级别
无。
有关兼容级别的详细信息,请参阅 sp_dbcmptlevel (Transact-SQL)。
数据类型
sp_addtype
CREATE TYPE
数据类型
rowversion 数据类型的 timestamp 语法
rowversion 数据类型语法。
数据库管理
sp_attach_db
sp_attach_single_file_db
带 FOR ATTACH 选项的 CREATE DATABASE 语句;若要重新生成多个日志文件,其中的一个或多个日志文件具有新位置时,请使用 FOR ATTACH_REBUILD_LOG 选项。
数据库对象
CREATE DEFAULT
DROP DEFAULT
sp_bindefault
sp_unbindefault
CREATE/ALTER TABLE 中的 DEFAULT 关键字。
数据库对象
CREATE RULE
DROP RULE
sp_bindrule
sp_unbindrule
CREATE/ALTER TABLE 中的 CHECK 关键字。
数据库对象
sp_renamedb
ALTER DATABASE 中的 MODIFY NAME。
数据库对象
从触发器返回结果集的功能
无。
数据库选项
sp_dboption 的 'concat null yields null'
无。
数据库选项
sp_dboption
sp_resetstatus
ALTER DATABASE SET { ONLINE | EMERGENCY }
数据库选项
ALTER DATABASE 的 TORN_PAGE_DETECTION 选项
ALTER DATABASE 的 PAGE_VERIFY TORN_PAGE DETECTION 选项
DBCC
DBCC DBREINDEX
ALTER INDEX 的 REBUILD 选项。
DBCC
DBCC INDEXDEFRAG
ALTER INDEX 的 REORGANIZE 选项
DBCC
DBCC SHOWCONTIG
sys.dm_db_index_physical_stats
扩展属性
用 evel0type = 'type' 和 Level0type = 'USER' 向 1 级或 2 级类型的对象添加扩展属性。
用 Level0type = 'USER' 只可直接向用户或角色添加扩展属性。
用 Level0type = 'SCHEMA' 可向 1 级类型(如 TABLE 或 VIEW)或 2 级类型(如 COLUMN 或 TRIGGER)添加扩展属性。有关详细信息,请参阅 sp_addextendedproperty (Transact-SQL)。
扩展存储过程编程
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_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 集成。
扩展存储过程编程
sp_addextendedproc
sp_dropextendedproc
sp_helpextendedproc
改用 CLR 集成。
扩展存储过程
xp_LoginConfig
SERVERPROPERTY 的 IsIntegratedSecurityOnly 参数
全文搜索
sp_fulltext_catalog
CREATE/ALTER/DROP FULLTEXT CATALOG
全文搜索
sp_fulltext_table
sp_fulltext_column
sp_fulltext_database
CREATE/ALTER/DROP FULLTEXT INDEX
ALTER FULLTEXT INDEX
全文搜索
sp_help_fulltext_tables[_cursor]
sp_help_fulltext_columns[_cursor]
sp_help_fulltext_catalogs[_cursor]
sys.fulltext_indexes
sys.fulltext_index_columns
sys.fulltext_catalogs
函数
fn_get_sql
sys.dm_exec_sql_text
索引选项
sp_indexoption
fillfactor = 0
ALTER INDEX
fillfactor = 100
索引选项
CREATE INDEX <index_option>::= syntax
CREATE INDEX <relational_index_option>::= syntax
实例选项
disallow results from triggers 选项的默认设置 = 0
disallow results from triggers 选项的默认设置 = 1
锁定
sp_lock
sys.syslock_information
锁定
syslockinfo
sys.syslock_information
元数据
DATABASEPROPERTY
FILE_ID
INDEXKEY_PROPERTY
DATABASEPROPERTYEX
FILE_IDEX
sys.index_columns
其他
DB-Library
用于 C 语言的嵌入式 SQL
尽管 SQL Server 2005 数据库引擎仍然支持来自使用 DB-Library 和嵌入式 SQL API 的现有应用程序的连接,但是它不包含对使用这些 API 的应用程序进行编程工作所需的文件或文档。SQL Server 数据库引擎的未来版本将不再支持来自 DB-Library 或嵌入式 SQL 应用程序的连接。请不要使用 DB-Library 或嵌入式 SQL 来开发新的应用程序。修改现有的应用程序时,请删除 DB-Library 或嵌入式 SQL 的任何依赖项。请使用 SQLClient 命名空间或诸如 OLE DB 或 ODBC 的 API 来代替这些 API。SQL Server 2005 不包含运行这些应用程序所需的 DB-Library DLL。若要运行 DB-Library 或嵌入式 SQL 应用程序,必须有适用于 SQL Server 6.5 版、SQL Server 7.0 版或 SQL Server 2000 版的 DB-Library DLL。
查询提示
FASTFIRSTROW 提示
OPTION (FAST n)。
可删除数据库
sp_certify_removable
sp_create_removable
sp_detach_db
可删除数据库
sp_dbremove
DROP DATABASE
安全性
sp_addapprole
sp_dropapprole
CREATE APPLICATION ROLE
DROP APPLICATION ROLE
安全性
sp_addlogin
sp_droplogin
CREATE LOGIN
DROP LOGIN
安全性
sp_adduser
sp_dropuser
CREATE USER
DROP USER
安全性
sp_grantdbaccess
sp_revokedbaccess
CREATE USER
DROP USER
安全性
sp_addrole
sp_droprole
CREATE ROLE
DROP ROLE
安全性
sp_approlepassword
sp_password
ALTER APPLICATION ROLE
ALTER LOGIN
安全性
sp_changeobjectowner
ALTER SCHEMA 或 ALTER AUTHORIZATION
安全性
sp_defaultdb
sp_defaultlanguage
ALTER LOGIN
安全性
sp_denylogin
sp_grantlogin
sp_revokelogin
ALTER LOGIN DISABLE
CREATE LOGIN
DROP LOGIN
安全性
USER_ID
FILE_ID
DATABASE_PRINCIPAL_ID
FILE_IDEX
安全性
sp_srvrolepermission
sp_dbfixedrolepermission
这些存储过程返回在 SQL Server 2000 中是正确的信息。该输出不反映在 SQL Server 2005 中实现的对权限层次结构所作的更改。有关详细信息,请参阅 SQL Server 2005 联机丛书中的“固定角色的权限”。
SET 选项
SET ANSI_NULLS
SET ANSI_PADDING
SET CONCAT_NULL_YIELDS_NULL
无。
SET 选项
SET OFFSETS
无。
SET 选项
INSERT、UPDATE 和 DELETE 语句的 SET ROWCOUNT
TOP 关键字。
系统表
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 中所引入功能的元数据。建议将应用程序升级为使用目录视图。有关详细信息,请参阅目录视图 (Transact-SQL)。
表提示
应用于 UPDATE 或 DELETE 语句的目标表时,在该语句的 FROM 子句中指定 NOLOCK 或 READUNCOMMITTED。
从 FROM 子句中删除 NOLOCK 或 READUNCOMMITTED 表提示。
Textpointers
READTEXT、WRITETEXT、UPDATETEXT
无。
Textpointers
'text in row' 表选项
使用 varchar(max)、nvarchar(max) 和 varbinary(max) 数据类型。有关详细信息,请参阅 sp_tableoption (Transact-SQL)。
Textpointers
TEXT、NTEXT 和 IMAGE 数据类型
使用 varchar(max)、nvarchar(max) 和 varbinary(max) 数据类型。
Textpointers
TEXTPTR()、TEXTVALID()
无。
Transact-SQL
:: 函数调用顺序
替换为 SELECT column_list FROM sys.fn_function_name()
Transact-SQL
SELECT 列表中由 3 部分和 4 部分组成的列引用
由两部分组成的名称是符合标准的行为。
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
Transact-SQL
存储过程号
sys.numbered_procedures
sys.numbered_procedure_parameters
无。
Transact-SQL
DROP INDEX 中的 table_name.index_name 语法
DROP INDEX 中的 index_name ON table_name 语法。
Transact-SQL
UPDATE table1, table2, ...SET 语法
在 UPDATE 目标中指定多个表是不标准的,也是不明确的。
更改历史记录
版本 | 历史记录 |
---|---|
2006 年 12 月 12 日 |
|
2006 年 7 月 17 日 |
|