如何让批量插入时不记录日志

叫我三三 2013-07-12 10:56:37
a数据库有个总览视图关联表非常多,
为了加快查询速度,
把a数据库通过作业定时导入b数据库中的表中

use b
go
INSERT INTO [dbo].[Table]
([ID],......
)
Select [ID] .....
From a.dbo.[View] Where ...

问题来了,测试了3天之后发现,日志涨到了3G多。

每天夜间导入一次,每天大约有20W条的数据需要导入。这些数据我都不要记录日志的
如果在执行插入语句的时候,关闭日志记录?
...全文
204 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
水族杰纶 2013-07-12
  • 打赏
  • 举报
回复
引用 3 楼 kansousama 的回复:
只有这一个办法吗?因为这个时候,有可能一些数据需要记录日志,这样可能会丢失一些日志。 不能只关闭某些表的日志记录吗?
1)大容量日志模式吧 2)三天3G日志不大 定期多日志备份 养成好习惯 3)日志对你是否重要?出现问题只需要恢复到上次完整备份?
Leon_He2014 2013-07-12
  • 打赏
  • 举报
回复
导入完成之后,收缩日志
叫我三三 2013-07-12
  • 打赏
  • 举报
回复
看来目前也只能这样了,谢谢
黄_瓜 2013-07-12
  • 打赏
  • 举报
回复
分开一次一批批 循环导入 在加一个时间隔断,这样可以重复利用日志空间 日志就不打了。不过这就违背你的初衷。
唐诗三百首 2013-07-12
  • 打赏
  • 举报
回复
引用 3 楼 kansousama 的回复:
只有这一个办法吗?因为这个时候,有可能一些数据需要记录日志,这样可能会丢失一些日志。 不能只关闭某些表的日志记录吗?
--> 每天夜间导入完成后,备份->收缩一下数据库日志.
黄_瓜 2013-07-12
  • 打赏
  • 举报
回复
引用 3 楼 kansousama 的回复:
只有这一个办法吗?因为这个时候,有可能一些数据需要记录日志,这样可能会丢失一些日志。 不能只关闭某些表的日志记录吗?
不能。大批量的操作会占用很大的日志空间
叫我三三 2013-07-12
  • 打赏
  • 举报
回复
只有这一个办法吗?因为这个时候,有可能一些数据需要记录日志,这样可能会丢失一些日志。 不能只关闭某些表的日志记录吗?
唐诗三百首 2013-07-12
  • 打赏
  • 举报
回复
将b数据库设为简单恢复模式,

  alter database [数据库名] set recovery simple with NO_WAIT
黄_瓜 2013-07-12
  • 打赏
  • 举报
回复
操作的时候设置数据库设置为简单模式

34,575

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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