适用于: SQL Server 2008 + 、Azure SQL 数据库、Azure SQL 数据仓库、并行数据仓库
系统视图sys.objects,在数据库中用户定义(创建)的每个架构范围对象(例如表、视图、约束、存储过程等)都对应一行。
开发人员可以利用 sys.objects 的 modify_date 字段查询出近期对数据库的修改情况,导出开发环境数据库的修改内容,用于更新线上环境。
语法
select * from sys.objects order by modify_date desc
结果示例
![](https://i-blog.csdnimg.cn/blog_migrate/b5cda5d6880be939210827ac55f0ad66.png)
字段说明
列名 | 数据类型 | Description |
---|
NAME | sysname | 对象名。 |
object_id | int | 对象标识号。 是在数据库中唯一。 |
principal_id | int | 如果不是架构所有者,则为单个所有者的 ID。 默认情况下,架构包含的对象由架构所有者拥有。 不过,通过使用 ALTER AUTHORIZATION 语句更改所有权可以指定备用所有者。 如果没有备用的单个所有者,则为 NULL。 如果对象类型为下列类型之一,则为 NULL: C = CHECK 约束 D = DEFAULT(约束或独立) F = FOREIGN KEY 约束 PK = PRIMARY KEY 约束 R = 规则(旧式,独立) TA = 程序集(CLR 集成)触发器 TR = SQL 触发器 UQ = UNIQUE 约束 EC = 边缘约束 |
schema_id | int | 包含该对象的架构的 ID。 始终包含在 sys 或 INFORMATION_SCHEMA 架构中的架构范围内的系统对象。 |
parent_object_id | int | 此对象所属对象的 ID。 0 = 不是子对象。 |
type | char(2) | 对象类型: AF = 聚合函数 (CLR) C = CHECK 约束 D = DEFAULT(约束或独立) F = FOREIGN KEY 约束 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 = 边缘约束
适用范围: SQL Server 2012 (11.x) 到 SQL Server 2017。 SQ = 服务队列 TA = 程序集 (CLR) DML 触发器 TF = SQL 表值函数 TR = SQL DML 触发器 TT = 表类型 UQ = UNIQUE 约束 X = 扩展存储过程
适用于: SQL Server 2016 (13.x)通过 SQL Server 2017, Azure SQL Database, Azure SQL 数据仓库, 并行数据仓库。 ET = 外部表 |
type_desc | nvarchar(60) | 对对象类型的说明:
AGGREGATE_FUNCTION CHECK_CONSTRAINT CLR_SCALAR_FUNCTION CLR_STORED_PROCEDURE CLR_TABLE_VALUED_FUNCTION CLR_TRIGGER DEFAULT_CONSTRAINT EXTENDED_STORED_PROCEDURE FOREIGN_KEY_CONSTRAINT INTERNAL_TABLE PLAN_GUIDE PRIMARY_KEY_CONSTRAINT REPLICATION_FILTER_PROCEDURE RULE SEQUENCE_OBJECT
适用范围: SQL Server 2012 (11.x) 到 SQL Server 2017。 SERVICE_QUEUE SQL_INLINE_TABLE_VALUED_FUNCTION SQL_SCALAR_FUNCTION SQL_STORED_PROCEDURE SQL_TABLE_VALUED_FUNCTION SQL_TRIGGER SYNONYM SYSTEM_TABLE TABLE_TYPE UNIQUE_CONSTRAINT USER_TABLE VIEW |
create_date | datetime | 对象的创建日期。 |
modify_date | datetime | 上次使用 ALTER 语句修改对象的日期。 如果对象为表或视图,则创建或修改表或视图的聚集索引时,modify_date 也会随之更改。 |
is_ms_shipped | bit | 对象由内部 SQL Server 组件创建。 |
is_published | bit | 对象为发布对象。 |
is_schema_published | bit | 仅发布对象的架构。 |
参考应用:https://docs.microsoft.com/zh-cn/sql/relational-databases/system-catalog-views/sys-objects-transact-sql?view=sql-server-2017