1 确定 tempdb 数据库的逻辑文件名称以及在磁盘上的当前位置。 SELECT name, physical_name FROM sys.master_files WHERE database_id = DB_ID('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 = 'E:\SQLData\templog.ldf'); GO 3停止并重新启动 SQL Server。 4验证文件更改。 SELECT name, physical_name FROM sys.master_files
WHERE database_id = DB_ID('tempdb');
二、临时性解决这个问题可以采取定期重启服务器的方式解决
第二种情况:
今天用服务器下载文件时,系统提示我硬盘分区空间不足了。点击查看硬盘分区是50GB,已经只剩下175MB了。而这个服务器应该没有什么大文件才对呀。 仔细查看,发现SQL Server 2005占用了差不多40GB的空间了,而SQL Server应该只运行了网站数据库才对,不可能那么大空间。再仔细查看,发现SQL Server的data目录占用了差不多38GB的空间,进入此目录下,发现了大量类似 audittrace20100102104348.trc的文件。 通过放狗搜索和群友的支持,找到原因和解决方法如下: 一、原因: 开启SQL Server (MSSQLSERVER) 的C2审核之后,当SQL Server启动后,默认在C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data下自动生成类似 audittrace20100102104348.trc的文件,用于对数据库的操作进行审核,以提高数据库的安全性。当单个文件超过200MB之后,会重新生成另外一个文件。
二、查看 可以用如下的SQL code来查看数据库的C2审核状况 sp_configure 'show advanced options',1 go reconfigure go sp_configure 'c2 audit mode' go 或者 select * from sys.configurations where name='c2 audit mode' 看一下c2 audit mode的config_value和run_value的值,如果启动了c2的审计,这两个值都是为1。而开启了c2审核,则会自动生成类似 audittrace20100102104348.trc的文件。
三、禁用 如果不需要c2审核的话,可以用如下SQL code禁用此功能 sp_configure 'c2 audit mode',0 go reconfigure go 然后再用如下SQL code查看一下 sp_configure 'c2 audit mode' go 如果以前是启用了c2审核的,此时的config_value变为0了,但run_value还是为1。该配置需要重启动SQL Server的服务才能生效 用如下命令重启动SQL Server的服务: 打开cmd命令窗口,输入命令 net stop mssqlserver 来停止SQL Server服务,再用命令 net start mssqlserver 来启动SQL Server服务
重启动SQL Server服务之后,再执行SQL code查看 sp_configure 'c2 audit mode' go 此时的config_value和run_value的值就都变为0了