标签: tempdb

临时表排序规则冲突 - 错误:无法解决Latin1*和SQL_Latin1*之间的排序规则冲突

我无法更新临时表.这是我的查询

CREATE TABLE #temp_po(IndentID INT, OIndentDetailID INT, OD1 VARCHAR(50), OD2 VARCHAR(50), 
        OD3 VARCHAR(50), ORD VARCHAR(50), NIndentDetailID INT, ND1 VARCHAR(50), ND2 VARCHAR(50), 
        ND3 VARCHAR(50), NRD VARCHAR(50), Quantity DECIMAL(15,3))

        INSERT INTO #temp_po(IndentID, OIndentDetailID, OD1, OD2, OD3, ORD)
        SELECT ID.IndentID, ID.IndentDetailID, ID.D1, ID.D2, ID.D3, ID.RandomDimension 
        FROM STR_IndentDetail ID WHERE ID.IndentID = @IndentID

        UPDATE 
            t 
        SET
            t.ND1 = CASE WHEN D.D1 = '' THEN NULL ELSE D.D1 END,
            t.ND2 = CASE WHEN D.D2 = '' THEN NULL ELSE D.D2 END,
            t.ND3 = CASE WHEN …
Run Code Online (Sandbox Code Playgroud)

sql sql-server collation tempdb

24
推荐指数
2
解决办法
5万
查看次数

为什么在我启动服务后第一次查询速度变慢?

好.这是我尝试运行的内容:

USE tempdb;

SELECT TOP 1000000 IDENTITY(INT, 1, 1) Number
INTO Numbers
FROM sys.objects s1
CROSS JOIN sys.objects s2
CROSS JOIN sys.objects s3
CROSS JOIN sys.objects s4;
Run Code Online (Sandbox Code Playgroud)

这是"让我成为数字表"查询之一.

这是问题所在.如果我在(重新)启动SQL Server服务后立即运行它,则需要永久.不是十分之一,我希望它更快.永远如此,我让它一次又一次地超过两个小时,仍然不得不杀死它.我在想它永远不会回来.通常我的机器上运行它需要两秒钟.

但是,如果我这样做:

USE tempdb;

SELECT TOP 1000000 IDENTITY(INT, 1, 1) Number
INTO Numbers
FROM sys.objects s1
CROSS JOIN sys.objects s2
CROSS JOIN sys.objects s3;

DROP TABLE Numbers;

SELECT TOP 1000000 IDENTITY(INT, 1, 1) Number
INTO Numbers
FROM sys.objects s1
CROSS JOIN sys.objects s2
CROSS JOIN sys.objects s3
CROSS …
Run Code Online (Sandbox Code Playgroud)

sql-server tempdb

17
推荐指数
2
解决办法
3327
查看次数

SQL Server tempdb优化提示新服务器?

我计划在新机器上全新安装SQL Server 2005,我必须订购.我知道tempdb调优对SQL Server实例的整体性能非常重要.

我已经读过,最好的做法是创建尽可能多的tempdb文件,就像拥有CPU(或核心?)一样.那是对的吗?是否有其他建议,例如硬盘/ RAID设置配置我应该注意什么?

谢谢!

sql-server performance configuration tempdb

16
推荐指数
3
解决办法
3万
查看次数

tempDB如何工作?

我试图理解tempDB以下是我脑海中浮现的疑惑.

  1. 数据的生命周期是tempDB多少?假设一个查询正在做一些Order BytempDB用于执行该操作.此查询完成后,其他人也执行使用该查询的查询tempDB.第二个查询是否会查找第一个查询所写的记录,tempDB还是会被删除?
  2. 是否在Sql Engine 内部创建了可见tempDB?如何知道由于此查询而创建了哪个临时表?是否有任何命名约定后面的Sql引擎命名这些临时表?

我是新来的tempDB,请原谅我问这么愚蠢(如果有的话)的问题:-)

如果有人能指出一个可以帮助我了解tempDB的好资源,那将是非常好的.

sql sql-server tempdb

13
推荐指数
1
解决办法
5万
查看次数

为什么我的tempdb在服务器重启时重置权限?

过去两次我们重新启动了我们的sql server,我们的网站已经关闭了.原因似乎是因为tempdb正在重新创建,并且ASPState用户失去了对tempdb的读/写权限(它是一个ASP站点,会话数据存储在sql server中)

直到大约两周前,这不是问题.有谁知道如何阻止sql server重启后重置tempdb权限?或者为什么这最近才开始发生?我们正在使用MS SQL Server 2005.

asp.net permissions sql-server-2005 session-state tempdb

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

SQL Server 2005内存压力和tempdb写入问题

我们的生产SQL Server存在一些问题.

服务器:双四核Xeon 8 GB RAM单RAID 10阵列Windows 2003 Server 64位SQL Server 2005标准64位

现在机器上有大约250MB的可用RAM.SQL Server有大约6GB的RAM,我们的监控软件说只有一半的SQL Server分配RAM实际上被使用.

我们的主数据库大约为20GB,任何频率都可以使用大约12GB.我们的tempdb是700MB.两者都位于同一物理磁盘阵列上.

此外,使用Filemon,我能够看到tempdb文件有100或1000的写入长度65536.磁盘队列长度几乎80%的时间超过100.

所以,这是我的问题 -

  1. 什么会导致tempdb上的所有写入?我不确定我们是否总是有那么多活动,但似乎过度,这些问题是最近的.

  2. 我应该只为服务器添加更多内存吗?

  3. 在高负载服务器上,tempdb和db文件应该位于不同的阵列上吗?

sql-server performance sql-server-2005 tempdb

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

CTE是否使用tempdb中的任何空间?

CTE是否使用tempdb中的任何空间,还是仅使用内存?

我用mssql 2005和2008标记了这个问题,因为我同时使用它们.

sql-server-2005 tempdb common-table-expression sql-server-2008

11
推荐指数
3
解决办法
6240
查看次数

失败SQL查询磁盘空间不足

消息1101,级别17,状态10,行12由于文件组"DEFAULT"中的磁盘空间不足,无法为数据库"TEMPDB"分配新页面.通过删除文件组中的对象,向文件组添加其他文件或为文件组中的现有文件设置自动增长来创建必要的空间.

这用简单的英语意味着什么?

sql sql-server join view tempdb

11
推荐指数
2
解决办法
3万
查看次数

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

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

  • INT和DATETIME等简单数据类型怎么样?感觉他们生活在记忆中.
  • VARCHARs/VARCHAR(MAX)怎么样?常规VARCHAR可以存在于内存中,但VARCHAR(MAX)可能需要使用tempdb来存储它.
  • 表变量存储在tempdb中.虽然我对此并不感兴趣.

关于tempdbMSDN文章没有解释常规变量.

t-sql sql-server stored-procedures tempdb

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

SQL Server Tempdb LOG文件越来越多

在SQL Server 2000系统上,我有一个templog.ldf文件似乎无限制地增长!但是当我检查时,tempdb中没有任何打开的事务(使用DBCC OPENTRAN),也没有在tempdb中使用显式事务.

但是,我在我的存储过程中使用临时表.谁知道ASP.NET数据访问对象可能在幕后做什么?数据库支持ASP.NET网站.

无论如何,tempdb.mdf文件 - tempdb数据文件 - 是一个非常合理的700 MB.templog.ldf文件一天可以增长到30 GB!如果我没有耗尽磁盘空间,可能会更多.我没有明确地删除存储过程中的#tables,但同样,mdf文件似乎永远不会变得非常大.

当没有未完成的交易时,为什么交易日志会增长?事务日志是否会回收空间?此外,DUMP TRAN WITH NO_LOG不会缩小文件,也不会通过截断事件检查CHECKPOINT事件.在tempdb上启用了登录chkpt.停止SQL Server清除tempdb(可能是DBCC SHRINKFILE,但我还没有这样做).

谢谢你的帮助!

size transaction-log sql-server-2000 tempdb

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