问题标签 [tempdb]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1084 浏览

sql-server - sql server 免费临时数据库

我们在 SQL Server 2008R2-SP1 中运行导入存储过程,一次将数千行加载到多个表中。我们在尺寸tempDBtransaction log尺寸方面存在问题。

像这样的东西:

我们正在尝试拆分整个过程并针对一小组数据运行多次。

像这样:

SQL Server 引擎是否可以在这些内部事务之间工作?

0 投票
0 回答
139 浏览

sql-server - 我应该监视 SQL Server tempdb 的用户活动吗?

我目前正在SQL Server 2008 R2针对特定事件审核所有数据库。我得到了很多为tempdb 生成的事件。

我需要监控tempdb还是可以排除tempdb

谢谢你的帮助。

0 投票
2 回答
862 浏览

sql - Temp DB 何时会重新获得取消分配的空间?

我知道在重新启动 SQL 服务器(或)缩小数据库时将释放取消分配的内存,不幸的是,这对我的客户来说不是一个合适的解决方法。

如果 temp db 大小为 10mb,则在执行过程 temp db 的可用大小为 490mb 后增长为 500mb ..有什么方法可以释放分配的大小并重新获得它。使 tempdb 回到 10mb 而无需重新启动或收缩手动??

0 投票
1 回答
667 浏览

sql-server - SQL Server:TempDB 大量写入

我们在 Windows 2012 R2 服务器(32 GB RAM)上使用 SQL Server 2008 Web Edition 来存储基于 ASP.NET 的 Web 应用程序的数据。有几个带有新闻表和不同视图的数据库,我们SqlDataReader使用不同的连接和过滤条件定期查询它们(Linq-to-SQL)。查询本身更长且特定于域,因此我跳过一个示例。

到目前为止一切正常。

现在我们必须更改这样的查询并用一个简单的OR条件扩展它。结果是读写次数TempDB急剧增加。戏剧性地意味着每分钟超过 100 MB 的 1000 次写入,这导致当前的总 tempdb 文件大小为 1.5 GB。

如果我们OR从原始查询中删除过滤器语句,TempDB文件 I/O 会立即标准化。

I/O 性能图表

但是,我们不知道TempDB. 我们多次运行查询分析器并比较结果,但它的索引优化建议仅与其他数据库统计信息相关,没有任何效果。

你会如何缩小这个问题的范围?过去有没有其他人经历过这种行为?这可能是新闻查询本身的问题,还是我们可能只需要更改一些TempDB数据库属性来提高其 I/O 性能,例如自动增长?

0 投票
2 回答
249 浏览

sql-server - 临时数据库建议 - 使用临时表

我正在编写一份报告,结果是多个#temp 表的组合。结构如下

  1. 存储过程 1,它有一个提供 50 万行的临时表

  2. 存储过程 2,它有一个提供 10 万行的临时表

最后,我需要合并上面 2 SP 的结果集,再次使用临时表并制作一个最终结果集以供报告。现在我担心性能,以后如果数据增加,它会影响临时数据库。我们通常每月暂存数据,一个月内它的数据库可能包含大约 100 万行。temp db 可容纳的最大容量是多少。上面的方法会不会有效果。

0 投票
1 回答
1284 浏览

database - 查询所有表的不同计数时 Tempdb Full

原始问题

我创建了一个自定义脚本,用于将远程 SQL 服务器中的数据检索到我们办公室的本地副本中。我在脚本中遇到了一些问题,其中选定的表插入了两次数据,从而产生了重复项。我知道所有数据库中的所有表都不应该重复。

这个问题让我怀疑其他表在历史上可能有这个问题,因此我想验证一下。

解决方案

我创建了一个 SQL 脚本,将所有列的计数和不同计数插入到我们服务器上所有数据库(不包括 4 个系统数据库)的表中:

它如何工作的概述是表变量@AllTables 使用 sp_msforeachdb 和 INFORMATION_SCHEMA.TABLES 列出所有数据库中的所有表(有 16537 个表)。表游标用于存储所有非系统条目,然后我使用动态 SQL 进行计数和不同计数,这些计数存储在另一个表变量 @ResultsTable 中。

此解决方案的问题

当我运行这个查询时,它将运行大约 3 分钟,然后抛出一个错误,指出 tempdb PRIMARY 文件组已满: 错误信息 tempdb PRIMARY 文件组已满

我是我自己的 DBA,我使用Brent Ozar 的指南来设置我的 SQL 服务器实例,我的 tempdb 设置了 8 个 3GB mdf/ndf 文件(服务器有 8 个内核): 临时数据库设置

这些文件在“常规”属性下显示为 23997MB。

我的问题

  1. 如果我有大约 24GB 的 tempdb 可用空间,为什么这个相对简单的查询会用完 tempdb 空间?
  2. 是否有更好/更有效的方法来获取所有数据库中所有表的计数和不同计数?
0 投票
0 回答
1697 浏览

sql-server-2008-r2 - SQL Server 2008 r2 TempDB 数据文件未将空间释放回操作系统

DBCC CheckDB "myDB" 进程成功完成后,临时 db 数据文件未向操作系统清除或释放空间。我使用 SP_WhoIsActive 脚本诊断并发现 DBCC CheckDB 进程导致临时数据库增长,但它只发生在一个大约 16 GB 的数据库上,DBCC CheckDB 正在使用临时数据库,正如我在使用 SP_WhoIsActive 时看到的那样。

注意:当我重新启动 SQL Server 时,tempdb 将向操作系统释放分配的空间,但在 DBCC Check DB 作业运行后会增长到 45 GB,并且不会释放已用空间。

0 投票
2 回答
1129 浏览

sql-server - 在 tempdb sql server 中取消分配未使用的空间

sql server中的任何脚本来查找临时表使用的空间+在tempdb中创建该临时表的数据库名称?

我的 tempDb 的大小已增长到 100 GB,我无法恢复空间并且不确定是什么占用了这么多空间。

谢谢你的帮助。

0 投票
1 回答
306 浏览

sql-server - 需要 MsSQL 排序规则建议。不区分大小写的查询,但需要区分大小写的数据

我读了很多关于“选择正确的排序规则”和类似的东西,但我仍然没有解决以下问题:

我们得到了以下星座:我们将应用程序的数据库从 Advantage Database 切换到 MsSQL Server 2014。

所有数据库都具有相同的排序规则“Latin1_General_CI_AS”(ReportServer 和 ReportServerTempDB 除外)。我们之所以选择这种排序规则,是因为“Latin1_General_CS_AS”会对我们现有的查询产生很大影响,因为查询中的表名会更改为区分大小写。

为了保留查询的数据顺序,我们使用“Latin1_General_CS_AS”创建了字符串列。

我们实际遇到的问题是,由于排序规则冲突,对临时表进行连接的查询会失败。我很清楚,TempDB 表具有“Latin1_General_CI_AS”作为排序规则,并在与物理表的字符串列连接时引发错误。

如果可以构建不区分大小写的查询而不考虑数据库排序规则,我们就可以解决我们的问题。

反过来,我们可以通过将数据库的排序规则更改为“Latin1_General_CS_AS”并将查询中的所有表名更正为与原始表名相同来解决问题。

如果我想到的第一个解决方案是不可能的,有人对如何解决排序问题有好的建议吗?

第二种解决方案实际上是不可行的。我们从不关心大小写,只是有太多的数据库交互,因为它值得纠正这一切。

我们的问题可能有第三种或第四种解决方案吗?

Thx 4 提前帮助。

0 投票
1 回答
888 浏览

sql-server-2012 - TempDB 使用 SQL Server 2012

我的新组织中有一个 60 GB 的生产数据库。我们在一夜之间从这个数据库中运行了 500 份报告。我注意到所有报告脚本都在其中创建表格TempDB,然后填充最终报告。TempDB大小为 6 GB。没有为这些从 PowerShell 调用的报告脚本设置依赖项。

TempDB以这种方式广泛使用是一种好习惯吗?还是在生产数据库本身中创建所有暂存表并在生成报告后删除它们更好?

谢谢, 鲁佩什