sys.objects

原文参考链接

在数据库内创建的每个用户定义的架构范围内的对象(包括本机编译的标量用户定义函数)都包含一行。

列名称数据类型说明
namesysname对象名称
object_idint对象标识号,在数据库中是唯一的
principal_idint如果不是架构所有者,则为单个所有者的 ID。 默认情况下,架构包含的对象由架构所有者拥有。 不过,通过使用 ALTER AUTHORIZATION 语句更改所有权可以指定备用所有者。如果没有备用的单个所有者,则为 NULL。如果对象类型为附件1所列类型之一,则为 NULL
schema_idint包含该对象的架构的 ID。始终包含在 sys 或 INFORMATION_SCHEMA 架构中的架构范围内的系统对象。
parent_object_idint此对象所属对象的 ID。0 = 不是子对象。
typechar(2)对象类型(附件2)
type_descnvarchar对对象类型的说明
create_datedatetime对象的创建日期
modify_datedatetime上次使用 ALTER 语句修改对象的日期。Date the object was last modified by using an ALTER statement. 如果对象为表或视图,则创建或修改表或视图的聚集索引时,modify_date 也会随之更改。
is_ms_shippedbit对象由内部 SQL ServerSQL Server 组件创建。
is_publishedbit对象为发布对象。
is_schema_publishedbit仅发布对象的架构。

附件2:对象类型

对象类型
C=CHECK 约束
D = DEFAULT(约束或独立)
F = FOREIGN KEY 约束
FN = SQL 标量函数
FN = SQL 标量函数
FS = 程序集 (CLR) 标量函数
FT = 程序集 (CLR) 表值函数
IF = SQL 内联表值函数
IT = 内部表
P = SQL 存储过程
PC = 程序集(CLR)存储过程
PG = 计划指南
PK = PRIMARY KEY 约束
R = 规则(旧式,独立)
RF = 复制筛选过程
S = 系统基表
SN = 同义词
SO = 序列对象
U = 表(用户定义类型)
V = 视图
EC = Edge 约束
SQ = 服务队列
TA = 程序集 (CLR) DML 触发器
TF = SQL 表值函数
TR = SQL DML 触发器
TT = 表类型
UQ = UNIQUE 约束
X = 扩展存储过程
ET = 外部表
--A. 返回在最近 N 天内修改过的所有对象
USE BHGS;  
GO  
SELECT name AS object_name   
  ,SCHEMA_NAME(schema_id) AS schema_name  
  ,type_desc  
  ,create_date  
  ,modify_date  
FROM sys.objects  
WHERE modify_date > GETDATE() - 2
ORDER BY modify_date;  
GO
--B. 返回指定存储过程或函数的参数
USE BHGS;  
GO  
SELECT SCHEMA_NAME(schema_id) AS schema_name  
    ,o.name AS object_name  
    ,o.type_desc  
    ,p.parameter_id  
    ,p.name AS parameter_name  
    ,TYPE_NAME(p.user_type_id) AS parameter_type  
    ,p.max_length  
    ,p.precision  
    ,p.scale  
    ,p.is_output  
FROM sys.objects AS o  
INNER JOIN sys.parameters AS p ON o.object_id = p.object_id  
WHERE o.object_id = OBJECT_ID('DBO.P_DROP_TABLE')  
ORDER BY schema_name, object_name, p.parameter_id;  
GO
--C. 返回数据库中的所有用户定义函数
USE BHGS;  
GO  
SELECT name AS function_name   
  ,SCHEMA_NAME(schema_id) AS schema_name  
  ,type_desc  
  ,create_date  
  ,modify_date  
FROM sys.objects  
WHERE type_desc LIKE '%FUNCTION%';  
GO
--D. 返回架构中每个对象的所有者。
USE BHGS;  
GO  
SELECT 'OBJECT' AS entity_type  
    ,USER_NAME(OBJECTPROPERTY(object_id, 'OwnerId')) AS owner_name  
    ,name   
FROM sys.objects WHERE SCHEMA_NAME(schema_id) = 'dbo'  
UNION   
SELECT 'TYPE' AS entity_type  
    ,USER_NAME(TYPEPROPERTY(SCHEMA_NAME(schema_id) + '.' + name, 'OwnerId')) AS owner_name  
    ,name   
FROM sys.types WHERE SCHEMA_NAME(schema_id) = 'dbo'   
UNION  
SELECT 'XML SCHEMA COLLECTION' AS entity_type   
    ,COALESCE(USER_NAME(xsc.principal_id),USER_NAME(s.principal_id)) AS owner_name  
    ,xsc.name   
FROM sys.xml_schema_collections AS xsc JOIN sys.schemas AS s  
    ON s.schema_id = xsc.schema_id  
WHERE s.name = 'dbo';  
GO
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值