1,数据文件等于CPU的数量数,不过要小于等于8 Tempdb文件数量为cpu数目一半,不过大小要相等,否则自增长可能会发生在最大的文件上,(参考微软数据库支持组的:Tempdb怎么会成为性能瓶颈) 文件大小可设置大一些如1G,自增长设置为1G,不要设置成百分比,数据会对不齐 log文件不用,因为是顺序写,写满一个文件再写再一个 2,更改默认端口 3,如果条件允许(有3或3个以上的物理盘) ,日志和数据文件应该位于不同的磁盘 4,禁用SA 5,建立定时运行索引维护,以降低索引碎片,降低表空间。【索引维护1-索引碎片整理】 禁用sa用户. create login [admin_sql] from windows; go sp_addsrvrolemember [admin_sql],sysadmin go ALTER LOGIN [sa] DISABLE GO 根据cpu数目,更改tempdb数据文件,日志文件。 USE master DECLARE @i int,@s varchar(4000),@c int set @i=1 select @c=cpu_count from sys.dm_os_sys_info --给变量赋值,获取cpu数目 while (@i<@c/2 and @i<8) begin --获取创建tempdb文件的脚本 set @s= ‘alter database tempdb add file (name=tempdev‘ +convert(varchar,@i) +‘,filename=‘‘d:\SQLData\tempdev‘ --文件存放路径命名规则:如果是2块盘,次要数据文件放在d盘,其余不变. +convert(varchar,@i) +‘.ndf‘‘,SIZE = 1024000KB , FILEGROWTH = 512000KB )‘ --执行脚本 exec(@s) set @[email protected]+1 end --修改日志文件 ,数据文件的初始配置 ALTER DATABASE [tempdb] MODIFY FILE ( NAME = N‘tempdev‘, SIZE = 102400KB , FILEGROWTH = 102400KB) GO ALTER DATABASE [tempdb] MODIFY FILE ( NAME = N‘templog‘, SIZE = 1024000KB , FILEGROWTH = 102400KB) GO
时间: 2024-10-14 00:36:15