关于SQL Server数据库的一切信息都保存在它的系统表格里。我怀疑你是否花过比较多的时间来检查系统表格,因为你总是忙于用户表格。但是,你可能需要偶尔做一点不同寻常的事,例如数据库所有的触发器。你可以一个一个地检查表格,但是如果你有500个表格的话,这可能会消耗相当大的人工。

  这就让sysobjects表格有了用武之地。虽然我不建议你更新这个表格,但是你当然有权对其进行审查。

  sysobjects 表
  在数据库内创建的每个对象(约束、默认值、日志、规则、存储过程等)在表中占一行。只有在 tempdb 内,每个临时对象才在该表中占一行。

如果你看到这段文字,说明您正使用RSS阅读或转自《一棵树-博客园》,原文地址:http://www.cnblogs.com/atree/p/SQL-Server-sysobjects.html

  sysobjects 表结构:

列名 数据类型 描述
name sysname 对象名,常用列
id int 对象标识号
xtype char(2) 对象类型。常用列。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 = 扩展存储过程
uid smallint 所有者用户对象编号
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 约束   D = 默认值或 DEFAULT 约束 F = FOREIGN KEY 约束
 FN = 标量函数 IF = 内嵌表函数  K = PRIMARY KEY 或 UNIQUE 约束
 L = 日志 P = 存储过程 R = 规则  RF = 复制筛选存储过程
S = 系统表  TF = 表函数 TR = 触发器 U = 用户表 V = 视图 X = 扩展存储过程
 userstat smallint   保留。
 sysstat smallint   内部状态信息
 indexdel  smallint  保留
 refdate  datetime  留用
 version int   保留
deltrig  int   保留
 instrig int   保留
 updtrig int   保留
 seltrig int   保留
 category  int  用于发布、约束和标识
 cache smallint   保留

你可以用下面的命令列出感兴趣的所有对象:

SELECT * FROM sysobjects WHERE xtype = <type of interest>
--例如:查看视图
SELECT * FROM sysobjects WHERE xtype = 'V'

判断数据库中是否已经存在某个表,有的话就删除该表

--方法一:
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[表名]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[表名]--方法二:
if exists (select * from sysobjects where id = object_id(N'表名') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[表名]--方法三:
if(Exists(Select * From SysObjects Where xtype='U' And Name='表名'))
drop table [dbo].[表名]

以后继续补充。

某些朋友的一些疑问:

1、问:object_id(N'表名')中N'代表什么意思?

答:N'' 代表 Unicode类型.可以支持不同语种的对象名

2、 问:select   *   from   dbo.sysobjects   where   id   =   object_id(N'[dbo].[usertab]')   and   OBJECTPROPERTY(id,   N'IsUserTable')   =   1   
这句中的object_id(N'[dbo].[usertab]')和OBJECTPROPERTY(id,   N'IsUserTable')   =   1   
是什么意思?

答:object_id(N'[dbo].[usertab]'):是得出系统给表usertab分配的唯一ID   
OBJECTPROPERTY(id,   N'IsUserTable')   =   1   
该对象的属性是表类型的 objectproperty(id,property)函数的使用,

3、 问:USE master SELECT * FROM ...SysObjects ” ...sysobjects ” -- 三个句点的前缀是什么意思?

答:对数据库对象名的 Transact-SQL 引用可以是由四部分组成的名称,格式如下:[ server_name.[[database_name].[owner_name]. | database_name.[owner_name]. | owner_name.] ] object_name

未完待续(XX尚未成功,后面要靠大家了)……

转载于:https://www.cnblogs.com/atree/p/SQL-Server-sysobjects.html

SQL Server系统表sysobjects介绍与使用相关推荐

  1. SQL SERVER系统表

    系统表查看 SQL SERVER系统表在系统数据库master中,其实确切的说这些系统表是视图,可以在master库下的视图下查看 常用系统表及功能 sysaltfiles 主数据库 保存数据库的文件 ...

  2. sql server 系统表 介绍

    sysaltfiles  主数据库 保存数据库的文件 syscharsets  主数据库字符集与排序顺序 sysconfigures 主数据库 配置选项 syscurconfigs 主数据库当前配置选 ...

  3. SQL Server 系统表介绍:sys.dm_exec_sessions

    针对 SQL Server 上的每个经过身份验证的会话返回一行.sys.dm_exec_sessions 是服务器范围的视图,显示了有关所有活动用户连接和内部任务的信息.此信息包含客户端版本.客户端程 ...

  4. sql server系统表详细说明(转)

    sysaltfiles  主数据库 保存数据库的文件 syscharsets  主数据库字符集与排序顺序 sysconfigures 主数据库 配置选项 syscurconfigs 主数据库当前配置选 ...

  5. sql server系统表详细说明(二)(摘)

    sysaltfiles 在特殊情况下,包含与数据库中的文件相对应的行.该表存储在 master 数据库中. 列名 数据类型 描述 fileid smallint 每个数据库的唯一文件标识号. grou ...

  6. 2.SQL SERVER笔记——SQL SERVER系统概念

    2.SQL SERVER笔记--SQL SERVER系统概念 系统数据库 数据库管理员(DBA)的一项基本的技能是对SQL数据库引擎的系统数据库的深刻理解.数据库开发人员了解SQLSERVER自带的系 ...

  7. sql server2008系统表详细说明sys.开头的表

    sql server2008系统表详细说明sys.开头的表 一.库里有多少个表,表名等 select * from INFORMATION_SCHEMA.TABLES 二.查询表.字段.类型.是否主键 ...

  8. 应用事件探查器优化SQL Server系统[转]

    应用事件探查器优化SQL Server系统 关键词:Mssql,,概述 当你的SQL Server数据库系统运行缓慢的时候,你或许多多少少知道可以使用SQL Server Profiler(中文叫SQ ...

  9. php从注册列表卸载,MSSQL_彻底删除SQL Server注册表的方法,一般在卸载完数据库时,大家 - phpStudy...

    彻底删除SQL Server注册表的方法 一般在卸载完数据库时,大家都希望能够将注册表信息完全删干净,下面就将教您彻底删除SQL Server注册表的方法,供您参考. 在卸载SQL Server开始- ...

最新文章

  1. LeetCode 973. K Closest Points to Origin--TopK 问题--最小堆--C++,Python解法
  2. 内核线程、轻量级进程、用户线程
  3. 【必备】jQuery性能优化的38个建议
  4. java 图片压缩 base64_图片改变像素,宽高,Base64编码处理
  5. helm安装_Helm部署和体验jenkins
  6. sql server 群集_SQL Server中的Microsoft群集
  7. python抓取疫情数据_python 爬取疫情数据
  8. SQL去除数据库表中tab、空格、回车符等特殊字符的解决方法
  9. 南阳理工acm,水仙花数
  10. 群晖NAS教程(十二)、利用Web Station安装Chevereto图床
  11. 用python做youtube自动化下载器 代码
  12. Java参数校验工具validation
  13. 制作价目表用什么软件
  14. 网络营销中词条推广的价值和注意事项
  15. tokenizer()和tokenizer.encode_plus()的区别
  16. python实现简单购物商城_python实现简单购物商城
  17. 海海软件发布HHMeet Windows 测试版- 轻松加密保护Zoom视频会议-直播防翻录
  18. 5-黑马旅游网-线路查询
  19. javascript 一些常用的正则表达式(手机号码,邮箱,整数,身份证号码,车牌号,中文,只能是字母或者数字)
  20. 问题 A: 电路维修

热门文章

  1. c语言中的if语句_If ... C中的其他语句解释
  2. vue和react相同点_我在React和Vue中创建了相同的应用程序。 这是区别。
  3. Docker的使用(五:Docker中的网络与数据管理)
  4. 登高自卑 | 我的PyTorch入门与实践笔记
  5. JavaScript 立即执行函数的两种写法
  6. 企业分布式微服务云SpringCloud SpringBoot mybatis - 服务消费者(Feign)
  7. 为什么很努力进步却不明显
  8. 10进制转换为二十六进制字符串A-Z
  9. 前端工程师成长之多读好书
  10. L09-10老男孩Linux运维实战培训-Nginx服务生产实战应用指南05(架构解决方案)