通过sys.objects查询SQL SERVER数据库改动内容

适用于: SQL Server 2008 + 、Azure SQL 数据库、Azure SQL 数据仓库、并行数据仓库

系统视图sys.objects,在数据库中用户定义(创建)的每个架构范围对象(例如表、视图、约束、存储过程等)都对应一行。

开发人员可以利用 sys.objects 的 modify_date 字段查询出近期对数据库的修改情况,导出开发环境数据库的修改内容,用于更新线上环境。

 

语法

select  * from sys.objects order by modify_date desc

结果示例

字段说明

 

列名数据类型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

posted @ 2019-01-21 09:57  雄介  阅读(470)  评论(0编辑  收藏  举报