| |
| [产品技巧]如何检查数据库中数据的一致性 |
| |
发布者: 发布时间:2006-05-07 |
|
|
数据库一致性检查(dbcc)提供了一些命令用于检查数据库的逻辑和物理一致性。dbcc主要有两个功能: - 使用checkstorage 或 checktable 及 checkdb 在页一级和行一级检查页链及数据指针。
- 使用checkstorage, checkalloc, 或 checkverify, tablealloc, 及indexalloc 检查页分配。
在下列情况中需要使用 dbcc 命令: - 作为数据库日常维护工作的一部分, 数据库内部结构的完整性决定于sa 或dbo 定期地运行 dbcc 检查。
- 在系统报错以后, 确定数据库是否有损坏。
- 在备份数据库之前, 确保备份的完整性。
- 如果怀疑数据库有损坏时, 例如, 使用某个表时报出表损坏的信息, 可以使用 dbcc 确定数据库中其他表是否也有损坏。
下面是dbcc的简单用法: - dbcc checktable (table_name)
检查指定的表, 检查索引和数据页是否正确链接, 索引是否正确排序, 所有指针是否一致, 每页的数据信息是否合理, 页偏移是否合理。 - dbcc checkdb (database_name)
对指定数据库的所有表做和checktable 一样的检查。 - dbcc checkalloc (database_name,fix|nofix)
检查指定数据库, 是否所有页面被正确分配, 是否被分配的页面没被使用。当使用"fix"选项时,在检查数据库的同时会自动修复有问题的页面。(若数据库数据量很大,则该过程会持续很长时间。) - 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
|
| (转载文章请保留出处:北天JAVA技术网(www.java114.com)) |
| |
| 更多精彩文章: |
| [产品技巧]如何删除坏的用户数据库? |
| [产品技巧]如何终止数据库恢复过程 |
| [产品技巧]解决数据库被挂起的问题 |
| [产品技巧]如何处理用jconnect连接sybase数据库时中文乱码的问题 |
| [产品技巧]关于tempdb的优化 |
| [产品技巧]如何单独在备份机上启动sybasease12.5 |
| |
| 最近评论: |
|
|
| 你曾悄悄的来过! |
| wow gold,wow gold,wow gold,ffxi gil max(5105) |
|
|
| 冰封的往事! |
| wow power leveling,wow gold,wow power leveling,wow gold
max(9546) |
|
|
| 冰封的往事! |
| wow power leveling,wow gold,WoW Gold,wow gold
max(7526) |
|
|
| 飞舞的传奇! |
| 传世私服,传世私服.传奇世界私服传奇世界私服,传世私服传世私服, 传奇世界私服传奇世界私服.传奇私服传奇私服. max(5264) |
|
|
| |
| 免责声明:该文章由网友发表,如果对您造成侵权,请联系站长。 |
|