TempDB有2个数据文件,但SQL Server不知道吗?

时间:2013-01-06 18:59:03

标签: sql-server-2008-r2 tempdb

我在SQL Server 2008 R2上。

根据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

哪个好......除了我有2 Tempdb个文件:Tempdb.mdfTempdb2.mdf

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

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

1 个答案:

答案 0 :(得分:2)

问题解决了:

要回答问题,是的,我已停止并重新启动服务 - 对sys.master_files或其他任何内容都没有明显的改变。

我决定继续尝试继续添加新的tempdb文件。

进入SSMS,添加了tempdb2和tempdb3,点击OK ....

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

WTF,我问自己,没有缩写,并尝试了

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

...再次

还有一个小小的家伙,一切都是和平的,快乐的。

刷新SSMS中的tempDB对象,右键单击属性,文件列表中有文件,随时可以进行操作。

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