当前位置:首页 » 操作系统 » 数据库tempdb

数据库tempdb

发布时间: 2023-05-22 00:59:52

① 系统数据库的tempdb

tempdb数据库是存在于sql Server会话期间誉并的一个临时性的数据库。一旦关闭稿虚首SQL Server,tempdb数据库保存的内容将自动消失。重启动SQL Server时,系统将重新创建新的、空的tempdb数据库。
tempdb保存的内容主要包括:
显示创建临时对象,例如表、存储过程键数、表变量或游标。
所有版本的更新记录。
SQL Server创建的内部工作表。
创建或重新生成索引时,临时排序的结果。

② tempdb数据库的作用是什么

tempdb是SQL Server的系统数据库一直都是SQLServer的重要组成部分,用来存储临时对象。可以简单理解tempdb是SQLServer的速写板。应用程序与数据库都可以使用tempdb作为临时的数据存储区。一个实例的所有用户都共享一个Tempdb。x0dx0a特性:x0dx0a1、 tempdb中的任何数据在系统重新启动之后都不会持久存在。因为实际上每次SQLServer启动的时候都会重新创建tempdb。这个特性就说明tempdb不需要恢复。x0dx0a x0dx0a2、 tempdb始终设置为“simple”的春哗恢复模式,当你尝试修改时都会报错。也就是说已提交事务的事务日志记录在每个检查点后都标记为重扰兆用。缓森租x0dx0a x0dx0a3、 tempdb也只能有一个filegroup,不能增加更多文件组。x0dx0a x0dx0a4、 tempdb被用来存储三种类型的对象:用户对象,内部对象、版本存储区

③ 数据库中temp是什么意思

数据库中“temp”是全局存储内部对象之一,是用户对象,临时表,临时对象,以及SQL Server操作创建的存储过程。

每个数据库实例只有一个tempdb,所以可能存在性能以及磁盘空间瓶颈。各种形式的可用空间及过度饿DDL/DML操作都会导致tempdb负载过重。这会导致运行在服务器上不相干程序运行缓慢或者运行失败。

“tempdb”的一些常见通病如下:

(1)耗完了tempdb的所有存储空间。

(2)读取tempdb时的I/O瓶颈造成的查询运行缓慢。

(3)过度的DDL操作造成在系统表上的瓶颈。

(4)分配竞争。

以上内容参考:网络-tempdb

④ SQL数据库 TEMPDB 错误问题

1、重起数据库。
2、把tempdb放到另一硬盘上。方法:
1、用Enterprise
Manager或sp_helpdb查看tempdb现在存放的位置
2、用
alter
database
tempdb
modify
file(name='tempdev',filename='newpath\newfilename')
alter
database
tempdb
modify
file(name='templog',filename='newpath\newfilename')
3、关闭sqlserver重起
4、删掉旧的tempdb文件

⑤ tempdb可用空间很足,为什么还在增长

SQL Server 2000对于TempDB的处理是采用SQL Server Cache Buffer Manager来管理,而不再是象SQL Server 7.0一样可以使用TempDB In RAM的,这样,在高并发情况下,由于SQL Server的后台进程不能及时调度,造成TempDB的容量迅速增前轮大(由初始的8MB增长到性能测试时的800MB),从而导致 Cache Hit Ration迅速下降造成对TempDB的 Pages Reads/Sec和Pages Writes/Sec狂飙造成的。 TEMPDB增长的同时也会导致内存使用的增长,由于内存以及慧仔信物理空间的资源使用,戚枝从而导致系统的整体性能下降。 解决方法: 定期收缩TEMPDB数据库,可以采用下面几种方式,最好做一个定期执行计划 方法1、重启SQL SERVER服务 ALTER DATABASE tempdb MODIFY FILE (NAME = 'tempdev', SIZE = 需要收缩的大小) ALTER DATABASE tempdb MODIFY FILE (NAME = 'templog', SIZE =需要收缩的大小) 方法2、 sp_spaceused @updateusage=true dbcc shrinkdatabase (tempdb, '百分比') 方法3、 dbcc shrinkfile (tempdev, '需要收缩的大小') dbcc shrinkfile (templog, '需要收缩的大小')

⑥ 如何更改SQL Server 2005数据库中tempdb的位置

将 tempdb 数据和日志文件移动到一个新位置:
1. 确定 tempdb 数据库的逻辑文件名称以及在磁盘上的当前位置。
SELECT name, physical_name AS CurrentLocation
FROM sys.master_files
WHERE database_id = DB_ID(N'tempdb');
GO
2. 使用 ALTER DATABASE 更改每个文件的位置。
USE master;
GO
ALTER DATABASE tempdb
MODIFY FILE (NAME = tempdev, FILENAME = 'E:\SQLData\tempdb.mdf');
GO
ALTER DATABASE tempdb
MODIFY FILE (NAME = templog, FILENAME = 'F:\SQLLog\御或缺templog.ldf');
GO
3. 停止再重新启动 SQL Server 的镇辩实例。
4. 验证文件更改。
SELECT name, physical_name AS CurrentLocation, state_desc
FROM sys.master_files
WHERE database_id = DB_ID(N'tempdb'团慧);
5. 将 tempdb.mdf 和 templog.ldf 文件从其原始位置删除。

⑦ 如何收缩 SQL Server 中的 Tempdb 数据库

1、Tempdb数据库是临时数据库,不用对其进行收缩的。
2、只要重启SQL服务就Tempdb就会恢复原始基岩状态,所以不用收缩。
3、Tempdb并不存储真是数据指锋森,只是数据临时暂存,你收缩或者不收缩,对运行速度提升不大。
4、应从根本上去对SQL语句或程序层面找问题,分唯亩析问题,从而解决问题。

⑧ 如何恢复tempdb数据库

tempdb 是一个临时工作区。除其他用途外,SQL Server 还将 tempdb 用于:
• 显式创建的临时表的存储。
• 保存在查询处理和排序过程中创建的中间结果的工作表。
• 具体化的静态光标。
SQL Server 在 tempdb 事务日志中记录的信息只足够用于回滚事务,而不足以用于在数据库故障恢复过程中重新执行事务。这一特点提高了 tempdb 中 INSERT 语句的性能。另外,由于好轮每次重新启动 SQL Server 时都会重新创建 tempdb,无需记录用于重新执行任何事务的信息。因此,没有任何要前滚或回滚的事务。当 SQL Server 启动时,通过使用 model 数据库的副本重新创建 tempdb,并将其重置为上次配置的大小。
默认情况下,tempdb 数据库配置为根据需要自动增长;因此,拿斗此数据库可能最终增长到大于所需的大小。简单地重新启动 SQL Server 会将 tempdb 的大小重置为上次配置的大小。配置的大小是用文件大小更改操作(如带有 MODIFY FILE 选项的 ALTER DATABASE 或者 DBCC SHRINKFILE 语句)设置的上次显式大小。本文说明您可以用来将 tempdb 收缩到小于其配置的大小的三种方法。
收缩 Tempdb 的方法 1
此方法要求您重新启动 SQL Server。
1. 停止 SQL Server。打开命令提示符,然后键入以下命友敏信令启动 SQL Server:
sqlservr -c -f
-c 和 -f 参数使 SQL Server 以最小配置模式启动,让数据文件的 tempdb 大小为 1 MB,日志文件的 tempdb 为 0.5 MB。
注意:如果使用 SQL Server 命名实例,必须切换到适当的文件夹 (Program Files/Microsoft SQL Server/MSSQL$instance name/Binn),并使用 -s 开关 (-s%instance_name%)。
2. 用查询分析器连接到 SQL Server,然后运行下列 Transact-SQL 命令: ALTER DATABASE tempdb MODIFY FILE
(NAME = 'tempdev', SIZE = target_size_in_MB)
--Desired target size for the data file
ALTER DATABASE tempdb MODIFY FILE
(NAME = 'templog', SIZE = target_size_in_MB)
--Desired target size for the log file

3. 通过在命令提示符窗口中按 Ctrl-C 停止 SQL Server,将 SQL Server 作为服务重新启动,然后验证 Tempdb.mdf 和 Templog.ldf 文件的大小。
此方法的局限是它只能对默认的 tempdb 逻辑文件 tempdev 和 templog 进行操作。如果将其他文件添加到了 tempdb,您可以在将 SQL Server 作为服务重新启动后收缩它们。在启动过程中将重新创建所有 tempdb 文件;因此,它们是空的并可删除。要删除 tempdb 中的其他文件,请使用带有 REMOVE FILE 选项的 ALTER DATABASE 命令。
收缩 Tempdb 的方法 2
使用 DBCC SHRINKDATABASE 命令将 tempdb 数据库作为整体收缩。DBCC SHRINKDATABASE 接收参数 target_percent,该参数是数据库收缩后数据库文件中剩余可用空间的所需百分比。如果使用 DBCC SHRINKDATABASE,可能必须重新启动 SQL Server。
重要说明:如果运行 DBCC SHRINKDATABASE,则 tempdb 数据库不能正在发生其他活动。要确保在运行 DBCC SHRINKDATABASE 时其他进程无法使用tempdb,必须以单用户模式启动 SQL Server。有关更多信息,请参考本文的在使用 Tempdb 时执行 DBCC SHRINKDATABASE 或 DBCCSHRINKFILE 的结果 一节。
1. 通过使用 sp_spaceused 存储过程确定 tempdb 中当前使用的空间。然后,计算剩余可用空间的百分比,它将用作 DBCC SHRINKDATABASE 的参数;该计算是基于所需数据库大小进行的。
注意:在某些情况下,您可能必须执行 sp_spaceused @updateusage=true 来重新计算使用的空间和获得更新的报告。有关 sp_spaceused 存储过程的更多信息,请参考 SQL Server 联机丛书。
请考虑以下示例:
假定 tempdb 有两个文件:主数据文件 (Tempdb.mdf) 和日志文件 (Tempdb.ldf),其大小分别为 100 MB 和 30 MB。假定 sp_spaceused 报告主数据文件包含 60 MB 的数据。还假定您要将主数据文件收缩到 80 MB。计算收缩后剩余可用空间的所需百分比,即 80 MB - 60 MB = 20 MB。现在,用 20 MB 除以 80 MB = 25%,这就是您的 target_percent。事务日志文件将据此进行收缩,从而在数据库收缩后剩下 25% 即 20 MB 的可用空间。
2. 用查询分析器连接到 SQL Server,然后运行下列 Transact-SQL 命令: dbcc shrinkdatabase (tempdb, 'target percent')
-- This command shrinks the tempdb database as a whole

对 tempdb 数据库使用 DBCC SHRINKDATABASE 命令具有局限性。数据文件和日志文件的目标大小不能小于创建数据库时指定的大小,也不能小于用文件大小更改操作(如带有 MODIFY FILE 选项的 ALTER DATABASE 命令或 DBCC SHRINKFILE 命令)显式设置的上次大小。DBCC SHRINKDATABASE 的另一个限制是target_percentage 参数的计算和它对当前使用的空间的依赖。

热点内容
解压文件设置的密码怎么破解 发布:2025-05-08 11:34:57 浏览:607
用硬件搭建服务器 发布:2025-05-08 11:33:40 浏览:843
方舟搭建服务器需要多大 发布:2025-05-08 11:31:22 浏览:391
安卓如何把sim通讯录放进手机里 发布:2025-05-08 11:30:37 浏览:553
服务器桌面是什么样子 发布:2025-05-08 11:26:41 浏览:753
编译器截图 发布:2025-05-08 11:19:29 浏览:173
多台服务器怎么共用一个公网ip 发布:2025-05-08 10:57:45 浏览:990
营销的密码是什么 发布:2025-05-08 10:34:27 浏览:468
如何快速的更改wifi密码 发布:2025-05-08 10:33:51 浏览:747
在线游戏源码 发布:2025-05-08 10:26:46 浏览:101