免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
论坛 数据库技术 Sybase DBCC
最近访问板块 发新帖
查看: 1993 | 回复: 1
打印 上一主题 下一主题

DBCC [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-02-25 18:31 |只看该作者 |倒序浏览
用DBCC能不能起作用呢?如何用DBCC呢?

论坛徽章:
0
2 [报告]
发表于 2006-02-25 20:47 |只看该作者
dbcc 检查数据库中数据的一致性
数据库一致性检查(dbcc)提供了一些命令用于检查数据库的逻辑和物理一致性。Dbcc主要有两个功能:
1、使用checkstorage 或 checktable 及 checkdb 在页一级和行一级检查页链及数据指针。
2、使用checkstorage, checkalloc, 或 checkverify, tablealloc, 及indexalloc 检查页分配。
  在下列情况中需要使用 dbcc 命令:
    作为数据库日常维护工作的一部分, 数据库内部结构的完整性决定于sa 或dbo 定期地运行 dbcc 检查。
    在系统报错以后, 确定数据库是否有损坏。
    在备份数据库之前, 确保备份的完整性。
    如果怀疑数据库有损坏时, 例如, 使用某个表时报出表损坏的信息, 可以使用 dbcc 确定数据库中其他表是否也有损坏。
  下面是dbcc的简单用法:
    1、dbcc checktable (table_name)
      检查指定的表, 检查索引和数据页是否正确链接, 索引是否正确排序, 所有指针是否一致, 每页的数据信息是否合理, 页偏移是否合理。
    2、dbcc checkdb (database_name)
     对指定数据库的所有表做和checktable 一样的检查。
    3、dbcc checkalloc (database_name,fix|nofix)
      检查指定数据库, 是否所有页面被正确分配, 是否被分配的页面没被使用。当使用"fix"选项时,在检查数据库的同时会自动修复有问题的页面。(若数据库数据量很大,则该过程会持续很长时间。)
    4、dbcc tablealloc (table_name,fix|nofix)
      检查指定的表, 是否所有页面被正确分配, 是否被分配的页面没被使用。是 checkalloc 的缩小版本, 对指定的表做完整性检查。当使用"fix"选项时,在检查数据表的同时会自动修复数据表中有问题的页面。
  关于上述命令的其它选项及详细使用方法和checkstorage, checkverify, indexalloc 的详细使用方法, 请参阅有关命令手册。
  举例1: Unix平台检查pubs2数据库的一致性
    单用户模式启动Server:
    $SYBASE/install startserver -f RUN_server_name -m
      vi dbcc_db.sql
      use master
      go
      sp_dboption pubs2,"single user",true
      go
      use pubs2
      go
      checkpoint
      go
      dbcc checkdb(pubs2)
      go
      dbcc checkalloc(pubs2,fix)
      go
      dbcc checkcatalog(pubs2)
      go
      use master
      go
      sp_dboption pubs2,"single user",false
      go
      use pubs2
      go
      checkpoint
      go
      quit
      go
      isql -Usa -Pxxxxxx -SSYBASE <dbcc_db.sql >dbcc_db.out
      grep Msg dbcc_db.out
  举例2: Unix平台检查pubs2数据库中titles表的一致性
    vi dbcc_table.sql
      use pubs2
      go
      dbcc checktable(titles)
      go
      dbcc tablealloc(titles)
      go
      isql -Usa -Pxxxxxx -SSYBASE < dbcc_table.sql > dbcc_table.out
      grep Msg dbcc_table.out
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP