首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

default pool 已满,如何解决?

2012-12-18 
defaultpool 已满,怎么解决??我们服务器内存39G,硬盘500TB,最近在处理大数据量导入到数据库的过程中,老是

default pool 已满,怎么解决??
我们服务器内存39G   ,硬盘500TB   ,最近在处理大数据量导入到数据库的过程中,老是报错default  pool 已满,我们对系统默认的配置也做了一些增大调节,但错误依旧,不知怎么处理,急啊!
[最优解释]
LZ,建议你分段读。
比如,先取出1万条,写个程序循环,我想EXCEL肯定有唯一键的吧。
例子
declare @int int
set @int=1
while @int>=1000000000
begin
      insert into 表
      select top 5000 * from Openrowset('Microsoft.ACE.OLEDB.12.0',
'Excel 12.0;HDR=YES;IMEX=1;Database=\\172.16.1.29\unrar\data.xls',
'select * from [Sheet1$]')
where 唯一键 not in(select 唯一键 from 表)
end

这样不就行了。
[其他解释]
清理日志

设置成简单模式
[其他解释]

引用:
清理日志

设置成简单模式
.
[其他解释]
已经是这样的设置,还是不可以
[其他解释]
查看一下,default pool是不是改变了?
[其他解释]
http://msdn.microsoft.com/zh-cn/library/aa224760%28v=SQL.80%29.aspx
[其他解释]
http://blogs.msdn.com/b/slavao/archive/2005/02/11/371063.aspx
自己去找答案吧
[其他解释]
这是什么情况下会发生呢?
[其他解释]
把将近1G的Excel文件通过分布式访问(Openrowset)的方式导入到数据库中
[其他解释]
是因为数据加载至default pool,数据没来得及写得磁盘,将lazywrite跟checkpoint时间设小点应该就行
[其他解释]
设置多少合适呢??怎么在系统中查看这两个值的默认值,谢谢!
[其他解释]
32还是64BIT?什么平台、版本。。。
[其他解释]
select * from Openrowset('Microsoft.ACE.OLEDB.12.0',
'Excel 12.0;HDR=YES;IMEX=1;Database=\\172.16.1.29\unrar\data.xls',
'select * from [Sheet1$]')


在一台数据库服务器上执行上述语句,开始的时候不会报错,并能查出结果,但次数多了之后,就报下面的错误,重启动数据库服务器之后,错误消失,但使用一段时间之后,错误依旧,不知道什么原因,


错误信息如下:


消息 7399,级别 16,状态 1,第 1 行
链接服务器 "(null)" 的 OLE DB 访问接口 "Microsoft.ACE.OLEDB.12.0" 报错。提供程序内存不足。
消息 7320,级别 16,状态 2,第 1 行
无法对链接服务器 "(null)" 的 OLE DB 访问接口 "Microsoft.ACE.OLEDB.12.0" 执行查询"select * from [sheet$]"。



补充:

数据库服务器配置:   

操作系统:32位 windows 2008
内存:64G
硬盘:600TB

[其他解释]
换个大硬盘那

热点排行