问题标签 [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 投票
1 回答
2129 浏览

sql - 填充 tempdb 的大型 SQL 查询需要优化

我有一个相当大的 SQL 查询,其中大部分来自 Business Objects SQL 导出,必须在 SQL Server 上复制以用于报告目的。

该视图现在已完成并正在运行,但是由于大量子句很快填满了 tempdb 并崩溃了。

据我所知,我需要 WHERE 子句中的所有内容,但是我觉得这可以优化为不填充 tempdb。

where子句如下:

Onece 运行这应该会带回大约 50,000 行数据,任何人都可以就如何停止对 tempdb 施加如此大的压力并运行此查询提出任何建议。

0 投票
4 回答
4152 浏览

sql-server - SQL Server tempdb 永久表用例

tempdb数据库中的永久表是否有任何用例?永久我的意思是不使用# 或##,而是在tempdb 中创建一个真实的表。我知道重新启动 sql 服务会擦除 tempdb,但是这种做法会因为其他原因而不好吗?

我在问,因为我有一个用例,我需要一个临时表,但它将打开更多的 sql 连接跨度。

编辑:长期临时表中的实际数据是序列化文件,而不是基于排序规则或其他任何东西的数据

0 投票
2 回答
2837 浏览

sql-server-2005 - SQL Server 2005 用户定义的数据类型、tempdb 和权限

我有一个在 SQL Server 2005 上运行的数据库,它具有用户定义的数据类型。用户定义的数据类型也在模型数据库中实现,所以当我创建一个临时表时,我可以使用相同的用户定义的数据类型。

例如,在 AppDB 中我定义了这个数据类型:

和模型中的完全相同:

我发现,如果我的数据库实例上的安全登录具有 sysadmin 服务器角色,那么用户调用使用 product_code 数据类型在 tempdb 中创建表的存储过程没有问题——但是如果我从应用程序安全登录中删除 sysadmin,那么存储过程调用失败。

如果我始终将用户定义的数据类型替换为 varchar 系统数据类型,则相同的存储过程调用会成功。

出于安全原因,我不想将 sysadmin 服务器角色添加到应用程序安全登录——如果我想继续使用用户定义的数据类型,我有哪些选择?这些选项会随着 SQL Server 2008 的变化而改变吗?

具体来说,除了授予公共角色的权限之外,还需要哪些权限?需要编辑所有存储过程的答案将被视为无响应。

0 投票
2 回答
2500 浏览

sql-server - 在 T-SQL 存储过程中声明变量时,它是保存在内存中还是 tempdb 中?

我们正在尝试优化我们的一些 T-SQL 存储过程以减少 tempdb 争用,但我无法弄清楚 SQL 服务器如何存储非表变量:

  • 像 INT 和 DATETIME 这样的简单数据类型呢?感觉他们会活在记忆中。
  • 那么 VARCHARs/VARCHAR(MAX) 呢?常规 VARCHAR 可以存在于内存中,但 VARCHAR(MAX) 可能需要使用 tempdb 进行存储。
  • 表变量存储在 tempdb 中。不过这些我都不是很感兴趣。

关于 tempdb的MSDN 文章没有解释常规变量。

0 投票
1 回答
2120 浏览

database - 在 SQL Server 中查询只读数据库时,足够的可用 RAM 增加是否可以消除 tempdb 的使用?

tempdb当我查看资源使用情况时,SQL Server 会针对一些大型查询进行大量写入。

我不使用临时表或表变量或任何写入,我只执行该服务器上只读数据库的选择语句。

所以我想知道如果我用大量 RAM 升级该服务器,SQL Server 是否能够使用额外的 RAM 并消除使用,tempdb或者我仍然必须分配部分 RAM 并移动tempdb到 RAM 磁盘?

问题SQL Server 2005 内存压力和 tempdb 写入问题与此有关,但没有解决这种情况。

0 投票
2 回答
934 浏览

sql - 对联合 SQL Server 运行查询时,数据会发生什么情况?

SQL Azure 为您提供了设置联合 SQL 服务器的选项 - 例如,本质上通过某个键将您的数据跨多个服务器分区。但是,当您运行时select * from order,它会为您将所有数据重新组合在一起,并且整个过程对您的应用程序是透明的。

现在,假设我有一个可以自由使用临时表的存储过程。所以在这样的情况下:

在这种情况下,数据是否每次都从一台服务器流向主服务器?临时表实际存储在哪里?全部在主盒子上,还是在联邦盒子之间分开?

0 投票
3 回答
2835 浏览

sql-server - 提高 sql 删除性能并减少日志文件和 tempDB 大小?

我有一个庞大的数据库,它每天处理电子邮件流量。在系统中,它需要每天删除一些旧邮件:

它可以工作,但问题是:完成需要很长时间,因此日志文件变得非常大。日志文件大小每天增加超过 100GB。

我想我们可以把它改成

但除此之外,我们还能做些什么来提高性能。最重要的是,减少日志文件的大小?

  • EmailId 已编入索引。
0 投票
1 回答
322 浏览

sql - SQL Server Tempdb 超过 200GB

SQL语法如下

表 1 的信息:

  1. 行数:32,00,000
  2. NonClust_Index1_Col1
  3. NonClust_Index2_Col2
  4. NonClust_Index3_Col3
  5. NonClust_Index4_Col4
  6. NonClust_Index5_Col5
  7. 没有集群索引和主键

表 2 的信息:

  1. 行数:50,000

  2. NonClust_Index1_Col1_Col2_Col3_Col4_Col5_Col6(六列的非集群复合索引)

  3. Clust_Index2_Col1_Col2_Col3_Col4_Col5_Col6(六列上的集群复合索引)

请帮我确定这个简单的删除语法(删除语法在事务范围内)增加 TempDB 大小(>200GB)的原因是什么

0 投票
1 回答
131 浏览

sql-server - 为什么 tempdb 抛出错误但数据库仍然有大约 5gb 空间

在此处输入图像描述

当我们在处理应用程序时,突然出现上面屏幕截图中粘贴的错误,我们无法执行任何操作,但如果我查看数据库仍然有 5 GB 以上的可用空间,可能是什么原因?好心劝告

0 投票
2 回答
4945 浏览

sql-server-2008 - Tempdb 已满

我目前正在处理的 BI 项目从基于 SP 的复杂流程接收数据,这些流程使用(太多)临时表。这是我们无法控制的(或者我会改变它)。
我们在这个项目中的部分主要是基于SSIS。

进程运行良好,但 tempdb 填满的速度相对较快,然后我们开始出现错误。

我正在寻找两件事:

  1. 如何防止 tempdb “溢出”(或至少减慢速度)?
  2. 溢出时如何清理tempdb?(最好使用 SSIS)