• 手工清除SQL Server内存


    清除SQL Server内存

    数据库进行查询时,会缓存结果集,当查询结果过大时会出现内存爆满的情况,如果手动清除SQL所占用的内存呢,在网上搜索一下,把结果贴下面:

    -强制释放内存 
    Create procedure [dbo].ClearMemory   
    as   
    begin 
    --清除所有缓存 
    DBCC DROPCLEANBUFFERS 
    --打开高级配置 
    exec sp_configure 'show advanced options', 1 
    --设置最大内存值,清除现有缓存空间 
    exec sp_configure 'max server memory', 256 
    EXEC ('RECONFIGURE'
    --设置等待时间 
    WAITFOR DELAY '00:00:05' 
    --重新设置最大内存值 
    EXEC  sp_configure 'max server memory', 4096 
    EXEC ('RECONFIGURE'
    --关闭高级配置 
    exec sp_configure 'show advanced options',0 
    END
     
     
    --下面的全部执行
    --1)清除存储过程缓存  --注:方便记住关键字 FREEPROCCACHE可以拆解成 FREE(割舍,清除) PROC(存储过程关键字简写),CACHE(缓存)

    DBCC FREEPROCCACHE     

    --2)清除会话缓存   --注: FREE(割舍,清除) SESSION(会话) CACHE(缓存) 

     DBCC FREESESSIONCACHE  

    3)清除系统缓存   --注:FREE SYSTE MCACHE

     DBCC FREESYSTEMCACHE('All')

    4)清除所有缓存   --注: DROP CLEAN BUFFERS

     DBCC DROPCLEANBUFFERS 

    EXEC ClearMemory
     
     
     

    下面提供内存查看功能的一些脚本语句:

    5)内存使用情况    

    SELECT *FROM sys.dm_os_performance_counters  

    WHERE counter_nameIN('Target Server Memory (KB)','Total Server Memory (KB)')  

     

    6) 内存状态  

    DBCC MemoryStatus  

     

    7)查看最小最大内存  

    SELECT configuration_idasid,nameas 名称,minimumas配置最小值,maximumas 最大值,  

    is_dynamic as 是否动态值, is_advanced as 是否优先,value_in_use AS 运行值,  

    description as 描述 FROMsys.configurations

  • 相关阅读:
    BestCoder 1st Anniversary ($) 1002.Hidden String
    Oracle 复制随意表一行的SQL语句(測试Ok)
    华为招聘机试整理15:约瑟夫环
    302跳转
    CCNP路由实验之十 组播(多播)
    How to test Heat (by quqi99)
    用关联容器实现文本替换单词
    【C语言】04-函数
    WAS集群系列(5):集群搭建:步骤3:安装IHS软件
    [Apple开发者帐户帮助]七、注册设备(2)注册多个设备
  • 原文地址:https://www.cnblogs.com/yclizq/p/13760699.html
Copyright © 2020-2023  润新知