এসকিউএল সার্ভার ২০০৮ এ মেমোরিতে কী আছে তা কীভাবে দেখবেন?


13

এসকিউএল সার্ভার ২০০৮ আর 2 এ যা ক্যাশে আছে তা কীভাবে খুঁজে বের করার উপায় আছে? আমি নিম্নলিখিত সুন্দর নিবন্ধটি পেয়েছি: http://blog.sqlauthority.com/2010/06/17/sql-server-data-pages-in-buffer-pool-data-stored-in-mmory-cache । তবে, আমি জানতে চাই যে প্রতিটি টেবিল এবং সূচীতে কতগুলি ডেটা (যেমন শতাংশ এবং কেবিতে) সঞ্চিত থাকে। এই জাতীয় ডেটা কীভাবে পাওয়া যায় তার কোনও সহজ উপায় আছে?

উত্তর:


16

নীচের ক্যোয়ারীটি ব্যবহার করে আপনি বাফার পুলে (ডেটা ক্যাশে) সঞ্চিত কী সন্ধান করতে পারেন:

থেকে এখানে :

select
       count(*)as cached_pages_count,
       obj.name as objectname,
       ind.name as indexname,
       obj.index_id as indexid
from sys.dm_os_buffer_descriptors as bd
    inner join
    (
        select       object_id as objectid,
                           object_name(object_id) as name,
                           index_id,allocation_unit_id
        from sys.allocation_units as au
            inner join sys.partitions as p
                on au.container_id = p.hobt_id
                    and (au.type = 1 or au.type = 3)
        union all
        select       object_id as objectid,
                           object_name(object_id) as name,
                           index_id,allocation_unit_id
        from sys.allocation_units as au
            inner join sys.partitions as p
                on au.container_id = p.partition_id
                    and au.type = 2
    ) as obj
        on bd.allocation_unit_id = obj.allocation_unit_id
left outer join sys.indexes ind 
  on  obj.objectid = ind.object_id
 and  obj.index_id = ind.index_id
where bd.database_id = db_id()
  and bd.page_type in ('data_page', 'index_page')
group by obj.name, ind.name, obj.index_id
order by cached_pages_count desc

দুর্দান্ত উল্লেখ: স্টোরেজ ইঞ্জিনের ভিতরে: বাফার পুলটিতে কী আছে? পল র্যান্ডাল দ্বারা।


5

আপনি বর্তমানে ক্যাশেড পৃষ্ঠাগুলি তালিকাভুক্ত করতে এবং ডাটাবেস_আইডি দ্বারা ফিল্টার করতে ডায়নামিক পরিচালনা ভিউ ব্যবহার করতে পারেন:

   select top 100 * from sys.dm_os_buffer_descriptors

তারপরে আপনি DBCC PAGEকোনও অবজেক্টের পৃষ্ঠাগুলি তালিকাবদ্ধ করতে কমান্ড দেখতে পাবেন । ভাল রেফারেন্স: http://www.mssqltips.com/sqlservertip/1578/ using-dbcc-page-to-examine-sql-server-table-and-index-data /

তবে ফলাফলগুলি একত্রিত করার বিষয়টি আপনার হাতে থাকবে এবং এটি কোনও সহজ কাজ বলে মনে হচ্ছে না :)। আপনি কখন এটি করার কার্যকর উপায় নিয়ে আসবেন তা আমাদের জানান।


0

এই এসকিউএল কোয়েরিটি ব্যবহার করে দেখুন:

select count(*)*8/1024 AS 'Cached Size (MB)'        
,case database_id                
when 32767 then 'ResourceDB'                
else db_name(database_id)                
end as 'Database'
from sys.dm_os_buffer_descriptors
where page_type in
(
'INDEX_PAGE'
,'DATA_PAGE'
)
group by db_name(database_id), database_id
order by 'Cached Size (MB)' desc
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.