📜  了解 SQL Server 中 TempDB 数据文件数量的不同方法

📅  最后修改于: 2022-05-13 01:55:45.854000             🧑  作者: Mango

了解 SQL Server 中 TempDB 数据文件数量的不同方法

TempDB数据库是最重要的 SQL Server 系统数据库之一,用于存储用户定义的临时表、临时存储过程、表变量和索引等临时用户对象,以及临时存储过程、表变量和索引。

为了允许回滚事务,尽可能少地记录 tempdb 中的操作。每次启动 SQL Server 时,都会重新创建 tempdb,以确保系统始终以数据库的新副本启动。当系统关闭时,所有临时表和存储过程都会自动丢弃,并且没有活动连接。在 tempdb 中,从一个 SQL Server 会话到下一个会话都不会存储任何内容。在 tempdb 上,不允许进行备份和还原操作。

限制:

  • 在 tempdb 数据库上,不允许进行以下操作。
  • 无法添加文件组。
  • 无法备份或恢复数据库。
  • 无法更改排序规则。默认情况下使用服务器排序规则。
  • 无法更改数据库的所有者。
  • 无法备份数据库。
  • 无法删除数据库。
  • 无法参与数据库镜像
  • 无法删除主文件组、主体数据文件或日志文件。
  • 无法更改数据库或主体文件组的名称。
  • 保持数据库脱机是不可能的。

使用权:

在 tempdb 中,任何用户都可以创建临时项目。除非他们被授予额外的权限,否则用户只能访问他们自己的项目。为了防止用户访问 tempdb,可以撤销对 tempdb 的连接权限。

了解 SQL Server 中 TempDB 数据文件数量的方法:

方法 1:SQL Server Management Studio (SSMS)

步骤 1:转到 SQL Server Management Studio (SSMS) 中的对象资源管理器。



第二步:在数据库(System Databases)下展开TempDB。

第 3 步:右键单击它以查看其属性。

它将带我们到下一个屏幕,在那里我们可以看到数据库文件的数量。

方法二:sys.database_files

另一种常见的方法是在 TempDB 的 sys.path 中查找 tempDB 文件的数量。数据库文件。

查询:



use tempdb
SELECT COUNT(*) TempDBFilesCount
FROM sys.database_files
GO

输出:

另一种常用的方法是在 TempDB 的sys.path 中查找 tempDB 文件的详细信息。数据库文件。

use tempdb
SELECT file_id, type_desc, name, physical_name, state_desc
FROM sys.database_files
GO

输出:

方法 3:错误日志以查找 TempDB 数据文件

也可以在错误日志中找到 TempDB 文件的数量,但这是一种不太常见的方法。

use tempdb
EXEC sys.xp_readerrorlog 0, 1, N'The tempdb database has';

输出:

注意:以上查询将仅显示数据文件的数量。