在大多数情况下,对你最有用的两个列是Sysobjects.name和Sysobjects.xtype。前面一个用来列出待考察对象的名字,而后一个用来定义对象的类型
sysobjects
在数据库内创建的每个对象(约束、默认值、日志、规则、存储过程等)在表中占一行。只有在 tempdb 内,每个临时对象才在该表中占一行。
| 列名 | 数据类型 | 描述 | 
|---|---|---|
| name | sysname | 对象名。 | 
| Id | int | 对象标识号。 | 
| xtype | char(2) | 对象类型。可以是下列对象类型中的一种: 
 C = CHECK 约束  | 
| uid | smallint | 所有者对象的用户 ID。 | 
| info | smallint | 保留。仅限内部使用。 | 
| status | int | 保留。仅限内部使用。 | 
| base_schema_ ver  | 
int | 保留。仅限内部使用。 | 
| replinfo | int | 保留。供复制使用。 | 
| parent_obj | int | 父对象的对象标识号(例如,对于触发器或约束,该标识号为表 ID)。 | 
| crdate | datetime | 对象的创建日期。 | 
| ftcatid | smallint | 为全文索引注册的所有用户表的全文目录标识符,对于没有注册的所有用户表则为 0。 | 
| schema_ver | int | 版本号,该版本号在每次表的架构更改时都增加。 | 
| stats_schema_ ver  | 
int | 保留。仅限内部使用。 | 
| type | char(2) | 对象类型。可以是下列值之一: 
 C = CHECK 约束   | 
| userstat | smallint | 保留。 | 
| sysstat | smallint | 内部状态信息。 | 
| indexdel | smallint | 保留。 | 
| refdate | datetime | 留作以后使用。 | 
| version | int | 留作以后使用。 | 
| deltrig | int | 保留。 | 
| instrig | int | 保留。 | 
| updtrig | int | 保留。 | 
| seltrig | int | 保留。 | 
| category | int | 用于发布、约束和标识。 | 
| cache | smallint | 保留。 | 
Type是在6.0就有的,XType在7.0才出现:
Type
对象类型。可以是下列值之一: 
C = CHECK 约束 
D = 默认值或 DEFAULT 约束
F = FOREIGN KEY 约束 
FN = 标量函数
IF = 内嵌表函数
K = PRIMARY KEY 或 UNIQUE 约束 
L = 日志
P = 存储过程
R = 规则
RF = 复制筛选存储过程
S = 系统表 
TF = 表函数
TR = 触发器
U = 用户表
V = 视图
X = 扩展存储过程
XType
对象类型。可以是下列对象类型中的一种: 
C = CHECK 约束
D = 默认值或 DEFAULT 约束
F = FOREIGN KEY 约束
L = 日志
FN = 标量函数
IF = 内嵌表函数
P = 存储过程
PK = PRIMARY KEY 约束(类型是 K)
RF = 复制筛选存储过程
S = 系统表
TF = 表函数
TR = 触发器
U = 用户表
UQ = UNIQUE 约束(类型是 K)
V = 视图
X = 扩展存储过程
drop table [dbo].[text]
答:N'' 代表 Unicode类型,National缩写。可以支持不同语种的对象名
这句中的object_id(N'[dbo].[usertab]')和OBJECTPROPERTY(id, N'IsUserTable') = 1 是什么意思?
SELECT * FROM ...sysobjects
[ server_name.[[database_name].[owner_name]. | database_name.[owner_name]. | owner_name.] ] object_name
当引用某个特定对象时,不必总是为 SQL Server 指定标识该对象的服务器、数据库和所有者。可以省略中间级节点,而使用句点表示这些位置。对象名的有效格式是:
server.database.owner.object
server.database..object
server..owner.object
server...object
database.owner.object
database..object
owner.object
order by name;
--或者
select id,name,xtype,crdate from sysobjects where objectproperty(id,N'IsUserTable')=1
order by name;
order by name;
--或者
select id,name,xtype,crdate from sysobjects where objectproperty(id,N'IsProcedure')=1
order by name;
来源:https://www.cnblogs.com/sangsmart/archive/2010/03/23/1692555.html