首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL 2008 RTM临时表

SQL 2008 RTM临时表
EN

Database Administration用户
提问于 2012-11-29 19:30:18
回答 2查看 180关注 0票数 1

今天,我使用Cacti在我们的SQL服务器上实现了一个监视解决方案,我首先注意到临时表数量的增加,在我们的测试系统上,在我们的测试系统中,我们在临时数据库中增加了一个300+临时表。我还注意到,Server在这3小时内的内存增长非常大--3小时后使用了15 GB。

在测试系统上只有3-4个用户测试,当我运行一个SP_WHO时,大约有5个连接打开给应用程序。

是什么导致了这一切?我对temp中的对象做了一个查询,所有的名称都类似于这个#XXXXXXXXX,我在某个地方读到它们来自Table变量(声明@myTable.)

有没有办法检查一下为什么临时表的数量会增加&是什么原因造成的呢?在这一阶段提供任何帮助将是非常感谢的。

我将在明天安装服务包为2008年,希望这解决了问题。

EN

回答 2

Database Administration用户

回答已采纳

发布于 2012-12-05 10:18:55

您可以通过以下解决方案在tempdb中获取该信息:

读取非您的临时表

通过下面的文章,您可以获得有关tempdb的一些一般信息:

DMV查询获取存储在表中的数据.

票数 1
EN

Database Administration用户

发布于 2012-11-29 20:51:24

临时表的使用将完全取决于您的应用程序,这些应用程序的数据库位于Server上,或者正在使用Server。例如,监视应用程序本身可以在收集数据时使用数十个临时表。

至于内存的使用,SQL Server在默认情况下将消耗它所需的内存。每次需要修改数据时,它都会将数据加载到内存中,然后将数据留在内存中,直到Server需要用于其他事情的内存。换句话说,高内存使用率并不是需要担心的事情,因为它是完全正常的。也就是说,您需要限制server可以访问的内存量,这样它就不会使用服务器上的所有内存。

票数 6
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/29548

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档