标签: tempdb

SQL 2008 RTM 临时表

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

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

什么可能导致这种情况?我对临时数据库中的对象进行了查询,所有名称都与 #XXXXXXXXX 类似,我在某处读到这些来自表变量(声明 @myTable...)

有什么方法可以检查为什么我们的临时表数量会增加以及是什么原因造成的?在此阶段的任何帮助将不胜感激。

我明天将安装 2008 年的服务包,希望能解决问题。

sql-server-2008 tempdb temporary-tables

1
推荐指数
1
解决办法
176
查看次数

是否应该允许回收 SQL Server TempDB 空间?

如果我目前没有空间问题,我应该最初将我的 TempDB 大小设置为一个大空间而不是让它的空间被回收吗?

确定 TempDB 的最佳初始大小的最佳方法是什么?

我的 TempDB 目前为 12GB,并且设置为 10% 自动增长

sql-server-2008-r2 disk-space tempdb

1
推荐指数
1
解决办法
615
查看次数

SQL Server 在什么情况下对 tempdb 进行加密?

何时使用透明数据加密对 tempdb 进行加密?什么配置等导致 tempdb 以这种方式加密?

sql-server encryption tempdb transparent-data-encryption

1
推荐指数
1
解决办法
1105
查看次数

SQL Server 2016中TempDB默认文件数

注意到 SQL Server 2016 CTP2 的文档声明“默认情况下,安装程序添加与 CPU 数量或 8 一样多的 tempdb 文件,以较低者为准”。 https://msdn.microsoft.com/en-us/library/bb510411(v=sql.130).aspx

但我一直认为“正确”的比例应该是 CPU 核心数量的一半,对于 8 核心以下的机器来说。

这是否应该被视为微软的官方建议,甚至适用于2012/2014年?

sql-server configuration tempdb sql-server-2016

1
推荐指数
1
解决办法
6316
查看次数

具有可用性组的 tempdb 的任何不同指南?

我在两节点 Windows Server 故障转移群集上运行的 SQL Server 2014 上设置了一个可用性组。设置由两个独立实例 + 同步自动故障转移组成。

我读过的许多 Microsoft 文章都提倡为 TempDB 使用多个文件来提高性能。似乎他们建议使用 8 个文件。

在这种配置的情况下,我应该这样做吗?它会提高性能吗?

sql-server tempdb availability-groups sql-server-2014

1
推荐指数
2
解决办法
1112
查看次数

Tempdb 在不同数据库之间拆分文件/文件组

将数据库放在一个服务器实例上的一个常见问题是它们都共享相同的 tempdb。是否可以为单独的数据库分配 tempdb 文件/和文件组。资源调控器允许这样做吗?

数据库 1,只能访问 tempdb 中的一个文件/文件组 1。

数据库 2,只能访问 tempdb 中的一个文件/文件组 2。

performance sql-server filegroups tempdb performance-tuning

1
推荐指数
1
解决办法
265
查看次数

过程的多个实例可以同时创建相同的 #Temp 吗?

我有一个将数据插入#temp 表的过程。对数据执行某些操作后,它将数据从#temp 表存储到其他表。

我无法同时运行此过程的多个实例。为什么?我们在多个选项卡中创建具有相同名称的 #temp 表。那么为什么我们不能对临时表的多个实例做同样的事情呢?

任何解决方案?

例子:

--exec dbo.testing_temp_table
CREATE PROCEDURE [dbo].[testing_temp_table]
AS
BEGIN

    SET NOCOUNT ON;

    -- Insert statements for procedure here
    IF OBJECT_ID('tempdb..#temp_1') IS NOT NULL drop table #temp_1
    select  * into #temp_1 from dbo.Emp

END
Run Code Online (Sandbox Code Playgroud)

sql-server stored-procedures tempdb temporary-tables

1
推荐指数
1
解决办法
4392
查看次数

“由于 'ACTIVE_TRANSACTION',数据库 'tempdb' 的事务日志已满。” 向临时表添加索引后

最近,我在为数据仓库准备数据的过程中添加了一些临时表的索引。在测试数据库上,这些过程的测试运行良好,但在客户端服务器上运行时,由于此错误而失败,需要重新启动服务器。这可能与添加索引有关还是完全不同?

客户端的服务器版本:

  • Microsoft SQL Server 2014 (SP3) (KB4022619) - Windows NT 6.3 上的 12.0.6024.0 (X64) 企业版(64 位)(内部版本 9600:)(管理程序)

测试服务器版本:

  • Microsoft SQL Server 2014 - 12.0.4100.1 (X64) 开发人员版(64 位),在 Windows NT 6.3(内部版本 9600:)(管理程序)上

index sql-server tempdb sql-server-2014 temporary-tables

1
推荐指数
1
解决办法
3349
查看次数

为什么即使统计数据正确也会发生 TempDB 溢出?

我阅读了Brent Ozar 发表的一篇很棒的文章,并提出了一些与内存授予相关的问题。我无法在他文章的评论部分回答我的问题,所以我想从这里得到任何帮助。

  1. 问题:有多少数据溢出到磁盘中? 400 MB还是60 MB (7643KB*8)?

他在文章中指出:

而且无论我更新统计信息多少次,我仍然会得到大约400MB 的磁盘溢出。

我在这里有点困惑(

在此处输入图片说明 在此处输入图片说明

  1. 问题:如果估计一切正常,统计数据是最新的,盒子有足够的内存,并且当时没有查询在运行,那么为什么会发生溢出到磁盘?

查看估计的行数与实际的行数。它们是相同的。统计数据很好。

我也没有使用小型服务器:我的虚拟机有 32GB 的 RAM,我已将其中的 28GB 分配给 SQL Server。没有其他查询同时运行——这只是一个孤独的查询,溢出到磁盘......

在此处输入图片说明

memory statistics tempdb sql-server-2014 memory-grant

1
推荐指数
1
解决办法
58
查看次数

Tempdb 文件在同一驱动器上是固态的?

我们目前在固态驱动器上有 tempdb(8 个文件)。

我们知道建议主 mdf 和事务日志 ndf 位于不同的驱动器上,以减少争用。tempdb 文件应该在不同的驱动器上以保持一致的原则,还是可以都在同一个驱动器上?

以下文章指出它们都在同一个驱动器上,但正在寻找背景技术解释。 对多个 tempdb 文件的建议

ALTER DATABASE [tempdb] ADD FILE ( NAME = N'tempdev2', FILENAME = N'G:\tempdb2.ndf' , SIZE = 12288000KB , MAXSIZE = UNLIMITED, FILEGROWTH = 0 )
GO
ALTER DATABASE [tempdb] ADD FILE ( NAME = N'tempdev3', FILENAME = N'G:\tempdb3.ndf' , SIZE = 12288000KB , MAXSIZE = UNLIMITED, FILEGROWTH = 0 )
....
Run Code Online (Sandbox Code Playgroud)

performance sql-server sql-server-2012 tempdb performance-tuning

0
推荐指数
1
解决办法
597
查看次数