怎么样将tempdb按CPU数分成多个文件

怎么样将tempdb按CPU数分成多个文件,第1张

收缩 Tempdb 的方法

此方法要求您重新启动 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 命令。

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, '需要收缩的大小')

执掘昌改迅返行以下语句

USE [tempdb]

GO

DBCC FREESYSTEMCACHE ('ALL')

GO

DBCC SHRINKFILE (N'tempdev' , 500)

GO

如果以上不行的话,到service里把SQL Server服务重启一判判下


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12254348.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存