اسکریپت: بدست آوردن میزان فضای تخصیص یافته LOB های یک دیتابیس

اسکریپت: بدست آوردن میزان فضای تخصیص یافته LOB های یک دیتابیس

نوشته شده توسط: زهرا فرهنگی
تاریخ انتشار: ۰۷ مهر ۱۳۹۷
آخرین بروزرسانی: ۲۳ مهر ۱۴۰۲
زمان مطالعه: 5 دقیقه
۵
(۱)

همانطور که می‌دانید SQL Server ستون‌هایی از انواع داده‌ای LOB را در Allocation Unitهای جداگانه به نام LOB_Data ذخیره می‌کند.
توسط کوئری زیر می‌توان میزان فضای تخصیص یافته به ازای داده‌های LOB را بدست آورد.

select case when spc.type in (1, 3) then 'Regular data'
else 'LOB data' end as allocation_type,
cast(sum(spc.used_pages * 8) / 1024.00 as numeric(36, 2)) as used_mb,
cast(sum(spc.total_pages * 8) / 1024.00 as numeric(36, 2)) as allocated_mb
from sys.tables tab
inner join sys.indexes ind
on tab.object_id = ind.object_id
inner join sys.partitions part
on ind.object_id = part.object_id and ind.index_id = part.index_id
inner join sys.allocation_units spc
on part.partition_id = spc.container_id
group by case when spc.type in (1, 3) then 'Regular data'
else 'LOB data' end

Allocation_type: نوع فضای تخصیص یافته
 LOB Data: فضای تخصیصی به ستون‌های داده ای LOB
Regular Data: فضای تخصیصی به سایر ستون‌ها
Used_mb: فضای استفاده شده (به مگابایت)
Allocated_mb: فضای تخصیص یافته (به مگابایت)

یک نمونه از اجرای کوئری بالا روی دیتابیس AdventureWorks

برای بدست آوردن اطلاعات بیش‌تر در مورد اسکریپت های پرکاربرد SQL ، به مقاله زیر مراجعه کنید.

چه رتبه ای می‌دهید؟

میانگین ۵ / ۵. از مجموع ۱

اولین نفر باش

title sign
دانلود مقاله
اسکریپت: بدست آوردن میزان فضای تخصیص یافته LOB های یک دیتابیس
فرمت PDF
1 صفحه
حجم 1 مگابایت
دانلود اسکریپت
title sign
معرفی نویسنده
زهرا فرهنگی
مقالات
51 مقاله توسط این نویسنده
محصولات
0 دوره توسط این نویسنده
زهرا فرهنگی

کارشناس پایگاه داده، در حال کسب تجربه در زمینه‌های تحلیل انباره داده، BI، بهینه سازی پایگاه‌های داده

title sign
دیدگاه کاربران

هر روز یک ایمیل، هر روز یک درس
آموزش SQL Server بصورت رایگان
همین حالا فرم زیر را تکمیل کنید
دانلود رایگان جلسه اول
نیک آموز علاوه بر آموزش، پروژه‌های بزرگ در حوزه هوش تجاری و دیتا انجام می‌دهد.
close-link
close-image