اسکریپت: لیست Temporal Tableها در یک دیتابیس

اسکریپت: لیست Temporal Tableها در یک دیتابیس

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

مقدمه

در SQL Server 2016 ویژگی جدیدی تحت عنوان System-Versioned Temporal Tablesها معرفی شدند که تاریخچه کامل تغییرات را درون خود ذخیره می‌کند و مدیریت اعتبار داده با خود سیستم می‌باشد.
SQL Server برای این کار از دو جدول کاملا مجزا استفاده می‌‌کند:

  • جدول System-Versioned Temporal Table که شامل دیتاهای اصلی است.
  • یک جدول تاریخچه History Table جهت نگهداری تاریخچه تغییرات

توسط دستور زیر می‌توان لیست جداول Temporal به همراه جداول تاریخچه آنها و Retention Period (مدت زمان نگهداری اطلاعات تاریخچه‌ای) را بدست آورد.

select schema_name(t.schema_id) as temporal_table_schema,
t.name as temporal_table_name,
schema_name(h.schema_id) as history_table_schema,
h.name as history_table_name,
case when t.history_retention_period = -1
then 'INFINITE'
else cast(t.history_retention_period as varchar) + ' ' +
t.history_retention_period_unit_desc + 'S'
end as retention_period
from sys.tables t
left outer join sys.tables h
on t.history_table_id = h.object_id
where t.temporal_type = 2order by temporal_table_schema, temporal_table_name

  •  Temporal_Table_Schema: نام Schema جدول Temporal
  •  Temporal_Table_Name: نام جدول Temporal
  •  History_Table_Schema: نام Schema جدول تاریخچه
  •  History_Table_Name: نام جدول تاریخچه
  •  Retention_Period: مدت زمانی که تاریخچه تغییر اطلاعات نگهداری خواهد شد. این مقدار توسط DBA مشخص خواهد شد. به عنوان مثال مقادیر INFINITE, 6 MONTHS, 30 DAYS

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

نمایی از نتیجه قسمت قبل در SSMS:

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

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

اولین نفر باش

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

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

پروفایل نویسنده
title sign
دیدگاه کاربران