如题!
环境:sql 2008  64位

解决方案 »

  1.   

    2000里面除了dbcc unpintable好像就没有了 而且这个操作也不会立即释放表内存Buffer (DBCC UNPINTABLE does not cause the table to be immediately flushed from the data cache. It specifies that all of the pages for the table in the buffer cache can be flushed if space is needed to read in a new page from disk.) 2005/2008让DBA能够更自由的对SQL所占用的内存空间做处理 如 CHECKPOINT 
    DBCC DROPCLEANBUFFERS 
    DBCC FREEPROCCACHE 等分别可以回写脏页、去除查询缓存、去除存储过程缓存等 还可以sp_cursor_list查看全部游标 DBCC OPENTRAN查看数据库打开事务状态等 
      

  2.   

    我直接给sql 64位服务器分配8G内存的
      

  3.   

    1.打开 注册表到[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]下,删除不必要的开机启动项。例如:kugoo、3721、qq、dudu加速、realone、msn 等(最重要的一条)      2.控制面板-管理工具-服务 禁用 掉没有必要的windows服务 例如:windows自带刻录功能、messenger、net logon、auto update、Wireless Zero Configuration、Computer Browser……(很重要)      3.到c:\windows下找Prefetch文件夹,将其下的所有文件全部删除!      4.减少桌面图标,尽量从 开始-程序 中启动软件。或在桌面建立 文件夹 将图标分类移入,启动时先打开文件夹。      5.开始 -附件-系统工具-碎片整理 进行碎片整理      6.桌面 就是背景图体积大小不要超过300kb      7.我的电脑-属性-高级 第一个 设置 选择 调整为最佳性能     我认同用WINDOWS优化大师,也可以用内存释放专家.
      

  4.   

    找出阻塞的 进程  该kill的  kill 了、内存 那么便宜,优化SQL 是最后考虑的粒度级别了
      

  5.   

    SQL 2005/2008让DBA能够更自由的对SQL所占用的内存空间做处理   如: 
    CHECKPOINT 
    将当前数据库的全部脏页写入磁盘。“脏页”是已输入缓存区高速缓存且已修改但尚未写入磁盘的数据页。CHECKPOINT 可创建一个检查点,在该点保证全部脏页都已写入磁盘,从而在以后的恢复过程中节省时间。 DBCC   DROPCLEANBUFFERS   
    从缓冲池中删除所有清除缓冲区。DBCC   FREEPROCCACHE   
    从过程缓存中删除所有元素。DBCC FREESYSTEMCACHE 
    从所有缓存中释放所有未使用的缓存条目。SQL Server 2005 数据库引擎会事先在后台清理未使用的缓存条目,以使内存可用于当前条目。但是,可以使用此命令从所有缓存中手动删除未使用的条目。
      

  6.   

    达到SQL上限的时候会自己释放的,另外看看自己的SQL有没有问题,最好优化优化,你这个SQL也太厉害了
      

  7.   

    是个ETL处理过程  
    要把数据导过来导过去  可能要倒腾好几遍  麻烦  所以要站很多内存