Sql server 2008 r2 TempDB有2个数据文件,但SQL Server不知道?

Sql server 2008 r2 TempDB有2个数据文件,但SQL Server不知道?,sql-server-2008-r2,tempdb,Sql Server 2008 R2,Tempdb,我使用的是SQLServer2008R2机器 根据SQL Server,我的TempDB如下所示: CREATE DATABASE [tempdb] ON PRIMARY ( NAME = N'tempdev', FILENAME = N'D:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Data\tempdb.mdf' , SIZE = 6499584KB , MAXSIZE = 81920000KB

我使用的是SQLServer2008R2机器

根据SQL Server,我的TempDB如下所示:

CREATE DATABASE [tempdb] ON  PRIMARY 
( NAME = N'tempdev', FILENAME = N'D:\Program Files\Microsoft SQL
 Server\MSSQL10_50.MSSQLSERVER\MSSQL\Data\tempdb.mdf' , SIZE = 6499584KB , MAXSIZE = 
81920000KB , FILEGROWTH = 10%)

LOG ON 

( NAME = N'templog', FILENAME = N'T:\Program Files\Microsoft SQL 
Server\MSSQL10_50.MSSQLSERVER\MSSQL\Data\templog.ldf' , SIZE = 512KB , MAXSIZE = 
UNLIMITED, FILEGROWTH = 10%)

GO
这很好。。。除了我有两个Tempdb文件:Tempdb.mdf和Tempdb.mdf

我在sys.masterdatafiles中的任何地方都找不到它,我无法在windows中删除它-因为它说windows正在使用它,当第一个tempdb文件增长时,它也会增长,所以我知道SQL Server正在使用它

如何在SQL Server中找到此文件,以便将其从使用中删除?

问题已解决:

为了回答这个问题,是的,我已经停止并重新启动了服务-对sys.master_文件或任何其他文件没有明显的更改

我决定还是尝试添加新的tempdb文件

进入SSMS,添加一个tempdb和tempdb3,点击OK

SQL回来告诉我tempdb2已经在集合中了

WTF,我问自己,没有缩写,然后试了一下

SELECT * 
FROM sys.master_files
WHERE DB_NAME(database_id) = 'tempdb'
再次

还有一个小家伙,像他一样平静快乐

在SSMS中刷新tempDB对象,右键单击“属性”,文件列表中就有该文件,可以进行操作


非常非常奇怪。谢谢你帮我整理

1为什么只希望有一个数据文件?2你怎么知道有两个数据文件?3在tempdb.sys.database_文件中会显示什么?如果这是最近的更改,则重新启动SQL服务应更新元数据使其成为最新的,或释放其对文件的锁定。同一台计算机上是否有SQL Server的第二个实例?Robert,我想有不止一个数据文件-但我必须弄清楚第二个文件的奥秘,我想,在我添加更多文件之前。。。顺便提一下16核,但我只能使用3个驱动器。。。所以16个临时文件,每个核心一个,或者每个驱动器3个??我知道有两个数据文件,因为我可以在Windows资源管理器中看到它们。从tempdb.sys.database\u文件中选择文件id、名称、左物理名称、3+''''''''''+右物理名称,16作为物理名称结果:文件id名称物理名称1 tempdev D:\..\data\tempdb.mdf 2 tempog T:\..data\tempog.ldf:\..\data\tempdb2.mdf未显示。这就是困境。