大家帮帮忙啊 差异备份问题

kk19840210 2008-07-09 03:43:42
最近搞数据库自动备份
2000的

数据库差异备份之前 我想做个判断
判断数据库是否有坏页
如果数据库出现坏页 就不备份 如果数据库完整的 就备份

完全备份 和日志备份 可以用
exec master.dbo.xp_sqlmaint N' -CkDB -CkAl -CkCat -Rpt "E:\back_full\tyzh_full.log" -D "tyzh" -BkUpDB "E:\back_full" -BkUpMedia DISK -BkExt "bak" -DelBkUps 1days -BkUpOnlyIfClean'



exec master.dbo.xp_sqlmaint N' -CkDB -CkAl -CkCat -Rpt "E:\back_log\log\tyzh_log.log" -D "tyzh" -BkUpLog "E:\back_log" -BkUpMedia DISK -BkExt "TRN" -DelBkUps 2hours -BkUpOnlyIfClean'



当是 差异的 麻烦大家帮想想
...全文
212 36 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
36 条回复
切换为时间正序
请发表友善的回复…
发表回复
nzperfect 2008-07-10
  • 打赏
  • 举报
回复
[Quote=引用 34 楼 gutlgutl 的回复:]
死色狼,死菜鸟,快点给我结帖加分
[/Quote]
哈哈 ~
gutlgutl 2008-07-10
  • 打赏
  • 举报
回复
死色狼,死菜鸟,快点给我结帖加分
nzperfect 2008-07-10
  • 打赏
  • 举报
回复
[Quote=引用 32 楼 hzzz_lgh3399 的回复:]
顺便问一下各位高手。
在exec @RtnVal=master.dbo.xp_sqlmaint N'-CkDB -CkAl -CkCat -Rpt "E:\check_db_rpt\check_db.log" -D "test"'中,前导N是什么意思?


[/Quote]
指定后面的字符是:Unicode字符数据类型
lao_bulls 2008-07-10
  • 打赏
  • 举报
回复
顺便问一下各位高手。
在exec @RtnVal=master.dbo.xp_sqlmaint N'-CkDB -CkAl -CkCat -Rpt "E:\check_db_rpt\check_db.log" -D "test"'中,前导N是什么意思?

kk19840210 2008-07-10
  • 打赏
  • 举报
回复
感谢 PER,菜鸟私下的帮忙 hery2002的建议
还有 怪物
结贴
hery2002 2008-07-10
  • 打赏
  • 举报
回复
dbcc checkdb(dbname)with tableresults

测试了一下,
这个应该是可以的 :)
-狙击手- 2008-07-09
  • 打赏
  • 举报
回复
wow,good
nzperfect 2008-07-09
  • 打赏
  • 举报
回复
dbcc checkdb(dbname)with tableresults
可以,哇 ~ 从一本书上找到了.
三下鱼 2008-07-09
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 perfectaction 的回复:]
200分哇 ~
[/Quote]
kk19840210 2008-07-09
  • 打赏
  • 举报
回复
回去试下
gutlgutl 2008-07-09
  • 打赏
  • 举报
回复
create table #1
(
Error int,
Level int,
State int,
MessageText varchar(1000),
RepairLevel int,
Status int,
DbId int,
[ID] int,
indid int,
[file] int,
Page int,
Slot int,
RefFile int,
RefPage int,
RefSlot int,
Allocation int
)


insert into #1
exec ('dbcc checkdb with TABLERESULTS')

select * from #1

drop table #1

2000版的这个

之前发的是2005版的
gutlgutl 2008-07-09
  • 打赏
  • 举报
回复
create table #1
(
Error int,
Level int,
State int,
MessageText varchar(1000),
RepairLevel int,
Status int,
DbId int,
ObjectId int,
IndexId int,
PartitionId int,
AllocUnitId int,
[File] int,
Page int,
Slot int,
RefFile int,
RefPage int,
RefSlot int,
Allocation int
)


insert into #1
exec ('dbcc checkdb with TABLERESULTS')

select * from #1

drop table #1
hery2002 2008-07-09
  • 打赏
  • 举报
回复
[Quote=引用 23 楼 only_endure 的回复:]
我也清楚的,但是在这个存储过程里,怎么就起能捕获到返回值呢,晕死了,那个网址的代码也没细看,呵呵.
[/Quote]
好像不行,重新测试了一下,
DECLARE @RC int
SELECT @RC=9999
DBCC CHECKDB(master)
print @RC
/*
9999
*/

没有找到CHECKDB的命名参数规则,不知道是否存在一个叫@RC的参数。。。。
一品梅 2008-07-09
  • 打赏
  • 举报
回复
我也清楚的,但是在这个存储过程里,怎么就起能捕获到返回值呢,晕死了,那个网址的代码也没细看,呵呵.
gutlgutl 2008-07-09
  • 打赏
  • 举报
回复
看来得找个环境验证一下...........我感觉dbcc的结果,和之前的if 没有必然联系
nzperfect 2008-07-09
  • 打赏
  • 举报
回复
[Quote=引用 20 楼 only_endure 的回复:]
对@RC感到很迷茫,它很神奇吗?是啥东西???
[/Quote]
是个自定义的变量
一品梅 2008-07-09
  • 打赏
  • 举报
回复
对@RC感到很迷茫,它很神奇吗?是啥东西???
nzperfect 2008-07-09
  • 打赏
  • 举报
回复
[Quote=引用 17 楼 hery2002 的回复:]
引用 14 楼 perfectaction 的回复:
引用 13 楼 hery2002 的回复:
SQL codeDECLARE@RCintSELECT@RC=0DBCCCHECKDB(master)IF@RC=0print'0'elseprint'1'
确定吗?大师

看看大力的,
我刚刚测试过我本机的master数据库,
最后返回print出来的是0.
可以执行.
看看这个帖子,
http://topic.csdn.net/t/20030105/18/1328850.html
[/Quote]
看到了,不过手里没有坏的库可以试试

@rc=0
dbcc checkdb(dbname)
如果出错,@rc就会变成不=0?
一品梅 2008-07-09
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 hery2002 的回复:]
引用 11 楼 kk19840210 的回复:
DBCC CHECKDB
怎么捕获结果信息呢??

13楼
[/Quote]
@RC是系统里的什么东东?
hery2002 2008-07-09
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 perfectaction 的回复:]
引用 13 楼 hery2002 的回复:
SQL codeDECLARE@RCintSELECT@RC=0DBCCCHECKDB(master)IF@RC=0print'0'elseprint'1'
确定吗?大师
[/Quote]
看看大力的,
我刚刚测试过我本机的master数据库,
最后返回print出来的是0.
可以执行.
看看这个帖子,
http://topic.csdn.net/t/20030105/18/1328850.html
加载更多回复(16)

22,300

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧