把TEMPDB放到内存里

guguda2008 guguda2008 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
博客地址
http://blog.csdn.net/guguda2008/archive/2010/12/13/6073049.aspx
------------------------------------烤鸭专用分割线-----------------------------------------------
TEMPDB是MSSQL重要的系统数据库(废话,所有系统数据库都很重要),数据库日常所有计算几乎都依赖于对于TEMPDB库的读写。很多优化策略上也都有这么一句:“把TEMPDB库放到读写速度最快的硬盘上”。但我昨晚睡不着觉的时候突然想起来似乎没有硬盘会比内存更快的,于是今天就找大叔问了一嘴,在得到肯定的回复后实践了一下,成功后重启了服务器和机器,数据库还是正常的。性能方面我的机器上没法测,但估计肯定是有好处的。下面就说一下具体步骤:

1.下载内存虚拟硬盘工具

我用的是VSuite Ramdisk,可以把未识别的内存划成硬盘分区 ,如果有别的替代工具也可以,总之就是找个工具把内存映射成硬盘,以存放TEMPDB的数据和日志文件。

提供一个下载地址:华军下载

2.把内存分区

可以先开启未识别的内存


下图是我的设置


3.把TEMPDB放到刚分出的Z盘根目录下

这个必须要用语句,因为TEMPDB的文件和日志名字是固定的,所以直接用我写的语句改改盘符和目标文件名就行:

ALTER DATABASE TEMPDB MODIFY FILE(NAME=TEMPDEV,FILENAME='Z:\TEMPDEV.MDF')
ALTER DATABASE TEMPDB MODIFY FILE(NAME=TEMPLOG,FILENAME='Z:\TEMPLOG.LDF')


建议再加两个文件到物理硬盘,防止TEMPDB爆掉

ALTER DATABASE TEMPDB ADD FILE(NAME=TEMPDEV2,FILENAME='D:\DATABASES\TEMPDEV2.MDF')
ALTER DATABASE TEMPDB ADD LOG FILE(NAME=TEMPLOG2,FILENAME='D:\DATABASES\TEMPLOG.LDF')


4.重启数据库,查询是否成功修改

SELECT NAME,TYPE_DESC,PHYSICAL_NAME FROM SYS.DATABASE_FILES
/*
tempdev ROWS Z:\TEMPDEV.MDF
templog LOG Z:\TEMPLOG.LDF
TEMPDEV2 ROWS D:\DATABASES\TEMPDEV2.MDF
TEMPLOG2 LOG D:\DATABASES\TEMPLOG2.LDF
*/
...全文

相关推荐

评论 114
收藏 已收藏
分享
返回顶部
guguda2008
应用实例 27,579 成员 68,540 内容