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_upconnect_timeoutdata_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)

ms143729.note(zh-cn,SQL.90).gif重要提示:

兼容性视图不显示 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 日

更改的内容:
  • 从未来版本的 SQL Server 不支持的功能表中删除了 syslanguagessyscharsets

2006 年 7 月 17 日

新增内容:
  • 在下一版本的 SQL Server 不支持的功能表中添加了 syssegments