|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
这能找出所有错误的99.99%。它不能找出的是仅仅涉及数据文件的损坏(这很不常见)。如果你想要检查一张表,你通常应该没有选项地运行myisamchk或用-s或--silent选项的任何一个。明天在客户实行时,因常常性的必要检察用户录进到数据库中数据的数目,以是写了以下SQL语句用来查询数据库中一切表的数据量,公布到此,但愿能给有一样需求的伴侣带来匡助。
declare@TableNamevarchar(128)
declare@T_TableRowsTable
(
TableNamevarchar(128)notnull,--表名
RowsCountintnotnulldefault(0)--数据的数目
)
declarecur_tablecursorlocalfor
selectnamefromsys.tablesorderbyname
opencur_table
fetchcur_tableinto@TableName
while@@fetch_status=0
begin
insertinto@T_TableRows(TableName,RowsCount)
exec(select+@TableName+,count(*)from+@TableName)
fetchcur_tableinto@TableName
end
closecur_table
deallocatecur_table
在下面的SQL顶用到了sys.tables表,关于该有的具体用法,请拜见本站:
使用SQL语句查询数据库中一切表
申明:由于sys.tables表只要sql2005今后才有,以是利用Sql2000的伴侣可使用sysobjects表来替换sys.tables表完成该功效:
SQL以下:
declare@TableNamevarchar(128)
declare@T_TableRowsTable(TableNamevarchar(128)notnull,RowsCountintnotnulldefault(0))
declarecur_tablecursorlocalfor
selectnamefromsysobjectswherextype=uorderbyname
opencur_table
fetchcur_tableinto@TableName
while@@fetch_status=0
begin
insertinto@T_TableRows(TableName,RowsCount)
exec(select+@TableName+,count(*)from+@TableName)
fetchcur_tableinto@TableName
end
closecur_table
deallocatecur_table
select*from@T_TableRowsorderbyRowsCountdesc,TableName
对于update操作,event中依次记录旧行,新行的值。 |
|