12
返回列表 发新帖
楼主: Rock Wang

[精华] 寻求解答

[复制链接]
论坛徽章:
3
ITPUB元老
日期:2005-02-28 12:57:00授权会员
日期:2005-10-30 17:05:33会员2006贡献徽章
日期:2006-04-17 13:46:34
11#
发表于 2002-3-30 23:44 | 只看该作者
操作完後,再清空日誌怎樣?

使用道具 举报

回复
论坛徽章:
18
授权会员
日期:2006-01-01 13:08:072014年新春福章
日期:2014-02-18 16:41:112013年新春福章
日期:2013-02-25 14:51:24紫蛋头
日期:2012-03-09 12:47:382012新春纪念徽章
日期:2012-01-04 11:49:54ITPUB十周年纪念徽章
日期:2011-11-01 16:19:41ITPUB官方微博粉丝徽章
日期:2011-09-26 13:11:05ITPUB官方微博粉丝徽章
日期:2011-06-28 19:45:36茶鸡蛋
日期:2011-05-31 07:09:562010广州亚运会纪念徽章:保龄球
日期:2011-03-09 09:01:02
12#
发表于 2002-3-31 00:10 | 只看该作者
我剛試過了,
exec sp_dboption mydbname,'trunc. log on chkpt.',true 后,
再作刪除操作,日志文件也不會產生.

使用道具 举报

回复
论坛徽章:
0
13#
 楼主| 发表于 2002-3-31 00:34 | 只看该作者
我在win2k+sql2k环境下:数据库选项中还原模式为简单模式,表test7(id int,num int,name varchar(5))中有记录1500000条,然后执行delete test7,2分钟后数据库日志文件由原来的1M,涨为359M。
是我的机器有问题?

使用道具 举报

回复
论坛徽章:
0
14#
 楼主| 发表于 2002-3-31 00:41 | 只看该作者

最后刷新

刚才不对,日志文件由1M涨为459M。请在自己的机器上试一下好吗?

使用道具 举报

回复
论坛徽章:
3
ITPUB元老
日期:2005-02-28 12:57:00授权会员
日期:2005-10-30 17:05:33会员2006贡献徽章
日期:2006-04-17 13:46:34
15#
发表于 2002-3-31 01:48 | 只看该作者
唉......

那這樣吧,我告訴你一招.
不過做這樣的操作前最好把database備份以防不測.

1.
exec sp_detach_db yourDBname,true        -- 註銷數據庫

2.
手工將.LDF文件刪掉或者移走至別處.

3.
exec sp_attach_single_file_db yourDBname,
'yourDBname_Data.MDF所在的路徑'

例如:
exec sp_attach_single_file_db zhuzhichao,
'd:\Mssql\Data\zhuzhichao_Data.MDF'

-- 這樣SQLServer將自動給你分配504k的.LDF文件

使用道具 举报

回复
论坛徽章:
0
16#
 楼主| 发表于 2002-3-31 19:18 | 只看该作者
看来您还是没有理解我的意思!我不是要结果(小日志文件)而是要过程(减少或停止删除日志的产生)。从微软得到方法:
1.用bcp将原表需删除数据导出一数据文件a,导出需保留数据到b;
2.设置数据库trunc. log on chkp.为true;
3.bcp a 到另一表;
4.truncate 原表;
5.bcp b到原表;
6.设置数据库trunc. log on chkp.为false.

使用道具 举报

回复
论坛徽章:
2
授权会员
日期:2005-10-30 17:05:33ITPUB十周年纪念徽章
日期:2011-11-01 16:19:41
17#
发表于 2002-4-1 16:25 | 只看该作者
Please try use "bcp -b xxxx"

xxxx: depond on your data, normally you can give 1~5000.
For example:

bcp db..table_name in "path/file" -b1000 ...

使用道具 举报

回复
论坛徽章:
2
授权会员
日期:2005-10-30 17:05:33ITPUB十周年纪念徽章
日期:2011-11-01 16:19:41
18#
发表于 2002-4-1 17:07 | 只看该作者
Please try use "bcp -b xxxx"

xxxx: depond on your data, normally you can give 1~5000.
For example:

bcp db..table_name in "path/file" -b1000 ...

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表