ده مثال عملی منحصربهفرد برای ALTER PARTITION SCHEME
مثال 1: تعریف پایه با مقدار ثابت در ALTER PARTITION SCHEME
در مثال شماره 1، سناریوی «تعریف پایه با مقدار ثابت» برای ALTER PARTITION SCHEME اجرا میشود. هدف این است که رفتار NEXT USED در یک نمونه قابل بازتولید دیده شود و نتیجه بدون نیاز به اجرای ذهنی قابل فهم باشد.
CREATE PARTITION FUNCTION pf_AlterPS_01 (int) AS RANGE RIGHT FOR VALUES (100,200);
CREATE PARTITION SCHEME ps_AlterPS_01 AS PARTITION pf_AlterPS_01 ALL TO ([PRIMARY]);
ALTER PARTITION SCHEME ps_AlterPS_01 NEXT USED [PRIMARY];
ALTER PARTITION FUNCTION pf_AlterPS_01() SPLIT RANGE (300);
SELECT COUNT(*)+1 AS PartitionCount
FROM sys.partition_range_values
WHERE function_id=(SELECT function_id FROM sys.partition_functions WHERE name=N'pf_AlterPS_01');
| شاخص | خروجی نمونه |
|---|
| متادیتا | مرزها یا تعداد پارتیشن تغییر کرد |
تحلیل مثال 1 برای ALTER PARTITION SCHEME: این سناریو نشان میدهد Filegroup Readiness باید همراه کنترل کاتالوگ و مقدارهای مرزی بررسی شود. کاربرد واقعی آن در آمادهسازی محل ذخیره پارتیشن تازه پیش از SPLIT است.
مثال 2: اجرای سناریو روی جدول نمونه در ALTER PARTITION SCHEME
در مثال شماره 2، سناریوی «اجرای سناریو روی جدول نمونه» برای ALTER PARTITION SCHEME اجرا میشود. هدف این است که رفتار Filegroup Readiness در یک نمونه قابل بازتولید دیده شود و نتیجه بدون نیاز به اجرای ذهنی قابل فهم باشد.
CREATE PARTITION FUNCTION pf_AlterPS_02 (int) AS RANGE RIGHT FOR VALUES (200,300);
CREATE PARTITION SCHEME ps_AlterPS_02 AS PARTITION pf_AlterPS_02 ALL TO ([PRIMARY]);
ALTER PARTITION SCHEME ps_AlterPS_02 NEXT USED [PRIMARY];
ALTER PARTITION FUNCTION pf_AlterPS_02() SPLIT RANGE (400);
SELECT COUNT(*)+1 AS PartitionCount
FROM sys.partition_range_values
WHERE function_id=(SELECT function_id FROM sys.partition_functions WHERE name=N'pf_AlterPS_02');
| شاخص | خروجی نمونه |
|---|
| متادیتا | مرزها یا تعداد پارتیشن تغییر کرد |
تحلیل مثال 2 برای ALTER PARTITION SCHEME: این سناریو نشان میدهد SPLIT Preparation باید همراه کنترل کاتالوگ و مقدارهای مرزی بررسی شود. کاربرد واقعی آن در آمادهسازی محل ذخیره پارتیشن تازه پیش از SPLIT است.
مثال 3: استفاده در SELECT و گزارشگیری در ALTER PARTITION SCHEME
در مثال شماره 3، سناریوی «استفاده در SELECT و گزارشگیری» برای ALTER PARTITION SCHEME اجرا میشود. هدف این است که رفتار SPLIT Preparation در یک نمونه قابل بازتولید دیده شود و نتیجه بدون نیاز به اجرای ذهنی قابل فهم باشد.
CREATE PARTITION FUNCTION pf_AlterPS_03 (int) AS RANGE RIGHT FOR VALUES (300,400);
CREATE PARTITION SCHEME ps_AlterPS_03 AS PARTITION pf_AlterPS_03 ALL TO ([PRIMARY]);
ALTER PARTITION SCHEME ps_AlterPS_03 NEXT USED [PRIMARY];
ALTER PARTITION FUNCTION pf_AlterPS_03() SPLIT RANGE (500);
SELECT COUNT(*)+1 AS PartitionCount
FROM sys.partition_range_values
WHERE function_id=(SELECT function_id FROM sys.partition_functions WHERE name=N'pf_AlterPS_03');
| شاخص | خروجی نمونه |
|---|
| متادیتا | مرزها یا تعداد پارتیشن تغییر کرد |
تحلیل مثال 3 برای ALTER PARTITION SCHEME: این سناریو نشان میدهد Destination Mapping باید همراه کنترل کاتالوگ و مقدارهای مرزی بررسی شود. کاربرد واقعی آن در آمادهسازی محل ذخیره پارتیشن تازه پیش از SPLIT است.
مثال 4: کنترل شرط و بازه هدف در ALTER PARTITION SCHEME
در مثال شماره 4، سناریوی «کنترل شرط و بازه هدف» برای ALTER PARTITION SCHEME اجرا میشود. هدف این است که رفتار Destination Mapping در یک نمونه قابل بازتولید دیده شود و نتیجه بدون نیاز به اجرای ذهنی قابل فهم باشد.
CREATE PARTITION FUNCTION pf_AlterPS_04 (int) AS RANGE RIGHT FOR VALUES (400,500);
CREATE PARTITION SCHEME ps_AlterPS_04 AS PARTITION pf_AlterPS_04 ALL TO ([PRIMARY]);
ALTER PARTITION SCHEME ps_AlterPS_04 NEXT USED [PRIMARY];
ALTER PARTITION FUNCTION pf_AlterPS_04() SPLIT RANGE (600);
SELECT COUNT(*)+1 AS PartitionCount
FROM sys.partition_range_values
WHERE function_id=(SELECT function_id FROM sys.partition_functions WHERE name=N'pf_AlterPS_04');
| شاخص | خروجی نمونه |
|---|
| متادیتا | مرزها یا تعداد پارتیشن تغییر کرد |
تحلیل مثال 4 برای ALTER PARTITION SCHEME: این سناریو نشان میدهد Scheme State باید همراه کنترل کاتالوگ و مقدارهای مرزی بررسی شود. کاربرد واقعی آن در آمادهسازی محل ذخیره پارتیشن تازه پیش از SPLIT است.
مثال 5: ترکیب با قابلیت مکمل SQL Server در ALTER PARTITION SCHEME
در مثال شماره 5، سناریوی «ترکیب با قابلیت مکمل SQL Server» برای ALTER PARTITION SCHEME اجرا میشود. هدف این است که رفتار Scheme State در یک نمونه قابل بازتولید دیده شود و نتیجه بدون نیاز به اجرای ذهنی قابل فهم باشد.
CREATE PARTITION FUNCTION pf_AlterPS_05 (int) AS RANGE RIGHT FOR VALUES (500,600);
CREATE PARTITION SCHEME ps_AlterPS_05 AS PARTITION pf_AlterPS_05 ALL TO ([PRIMARY]);
ALTER PARTITION SCHEME ps_AlterPS_05 NEXT USED [PRIMARY];
ALTER PARTITION FUNCTION pf_AlterPS_05() SPLIT RANGE (700);
SELECT COUNT(*)+1 AS PartitionCount
FROM sys.partition_range_values
WHERE function_id=(SELECT function_id FROM sys.partition_functions WHERE name=N'pf_AlterPS_05');
| شاخص | خروجی نمونه |
|---|
| متادیتا | مرزها یا تعداد پارتیشن تغییر کرد |
تحلیل مثال 5 برای ALTER PARTITION SCHEME: این سناریو نشان میدهد Sliding Window باید همراه کنترل کاتالوگ و مقدارهای مرزی بررسی شود. کاربرد واقعی آن در آمادهسازی محل ذخیره پارتیشن تازه پیش از SPLIT است.
تصویر دوم جریان ورودی تا خروجی ALTER PARTITION SCHEME را با تمرکز بر Filegroup Readiness، Scheme State و اعتبارسنجی نتیجه نمایش میدهد.
مثال 6: بررسی رفتار NULL یا داده مرزی در ALTER PARTITION SCHEME
در مثال شماره 6، سناریوی «بررسی رفتار NULL یا داده مرزی» برای ALTER PARTITION SCHEME اجرا میشود. هدف این است که رفتار Sliding Window در یک نمونه قابل بازتولید دیده شود و نتیجه بدون نیاز به اجرای ذهنی قابل فهم باشد.
CREATE PARTITION FUNCTION pf_AlterPS_06 (int) AS RANGE RIGHT FOR VALUES (600,700);
CREATE PARTITION SCHEME ps_AlterPS_06 AS PARTITION pf_AlterPS_06 ALL TO ([PRIMARY]);
ALTER PARTITION SCHEME ps_AlterPS_06 NEXT USED [PRIMARY];
ALTER PARTITION FUNCTION pf_AlterPS_06() SPLIT RANGE (800);
SELECT COUNT(*)+1 AS PartitionCount
FROM sys.partition_range_values
WHERE function_id=(SELECT function_id FROM sys.partition_functions WHERE name=N'pf_AlterPS_06');
| شاخص | خروجی نمونه |
|---|
| متادیتا | مرزها یا تعداد پارتیشن تغییر کرد |
تحلیل مثال 6 برای ALTER PARTITION SCHEME: این سناریو نشان میدهد Data Space باید همراه کنترل کاتالوگ و مقدارهای مرزی بررسی شود. کاربرد واقعی آن در آمادهسازی محل ذخیره پارتیشن تازه پیش از SPLIT است.
مثال 7: ثبت خطای رایج و نسخه اصلاحشده در ALTER PARTITION SCHEME
در مثال شماره 7، سناریوی «ثبت خطای رایج و نسخه اصلاحشده» برای ALTER PARTITION SCHEME اجرا میشود. هدف این است که رفتار Data Space در یک نمونه قابل بازتولید دیده شود و نتیجه بدون نیاز به اجرای ذهنی قابل فهم باشد.
CREATE PARTITION FUNCTION pf_AlterPS_07 (int) AS RANGE RIGHT FOR VALUES (700,800);
CREATE PARTITION SCHEME ps_AlterPS_07 AS PARTITION pf_AlterPS_07 ALL TO ([PRIMARY]);
ALTER PARTITION SCHEME ps_AlterPS_07 NEXT USED [PRIMARY];
ALTER PARTITION SCHEME ps_AlterPS_07 NEXT USED;
SELECT COUNT(*)+1 AS PartitionCount
FROM sys.partition_range_values
WHERE function_id=(SELECT function_id FROM sys.partition_functions WHERE name=N'pf_AlterPS_07');
| شاخص | خروجی نمونه |
|---|
| متادیتا | مرزها یا تعداد پارتیشن تغییر کرد |
تحلیل مثال 7 برای ALTER PARTITION SCHEME: این سناریو نشان میدهد NEXT USED باید همراه کنترل کاتالوگ و مقدارهای مرزی بررسی شود. کاربرد واقعی آن در آمادهسازی محل ذخیره پارتیشن تازه پیش از SPLIT است.
مثال 8: سناریوی سازمانی دورهای در ALTER PARTITION SCHEME
در مثال شماره 8، سناریوی «سناریوی سازمانی دورهای» برای ALTER PARTITION SCHEME اجرا میشود. هدف این است که رفتار NEXT USED در یک نمونه قابل بازتولید دیده شود و نتیجه بدون نیاز به اجرای ذهنی قابل فهم باشد.
CREATE PARTITION FUNCTION pf_AlterPS_08 (int) AS RANGE RIGHT FOR VALUES (800,900);
CREATE PARTITION SCHEME ps_AlterPS_08 AS PARTITION pf_AlterPS_08 ALL TO ([PRIMARY]);
ALTER PARTITION SCHEME ps_AlterPS_08 NEXT USED [PRIMARY];
ALTER PARTITION FUNCTION pf_AlterPS_08() SPLIT RANGE (1000);
SELECT COUNT(*)+1 AS PartitionCount
FROM sys.partition_range_values
WHERE function_id=(SELECT function_id FROM sys.partition_functions WHERE name=N'pf_AlterPS_08');
| شاخص | خروجی نمونه |
|---|
| متادیتا | مرزها یا تعداد پارتیشن تغییر کرد |
تحلیل مثال 8 برای ALTER PARTITION SCHEME: این سناریو نشان میدهد Filegroup Readiness باید همراه کنترل کاتالوگ و مقدارهای مرزی بررسی شود. کاربرد واقعی آن در آمادهسازی محل ذخیره پارتیشن تازه پیش از SPLIT است.
مثال 9: اجرای تراکنشی و امکان Rollback در ALTER PARTITION SCHEME
در مثال شماره 9، سناریوی «اجرای تراکنشی و امکان Rollback» برای ALTER PARTITION SCHEME اجرا میشود. هدف این است که رفتار Filegroup Readiness در یک نمونه قابل بازتولید دیده شود و نتیجه بدون نیاز به اجرای ذهنی قابل فهم باشد.
CREATE PARTITION FUNCTION pf_AlterPS_09 (int) AS RANGE RIGHT FOR VALUES (900,1000);
CREATE PARTITION SCHEME ps_AlterPS_09 AS PARTITION pf_AlterPS_09 ALL TO ([PRIMARY]);
ALTER PARTITION SCHEME ps_AlterPS_09 NEXT USED [PRIMARY];
ALTER PARTITION FUNCTION pf_AlterPS_09() SPLIT RANGE (1100);
SELECT COUNT(*)+1 AS PartitionCount
FROM sys.partition_range_values
WHERE function_id=(SELECT function_id FROM sys.partition_functions WHERE name=N'pf_AlterPS_09');
| شاخص | خروجی نمونه |
|---|
| متادیتا | مرزها یا تعداد پارتیشن تغییر کرد |
تحلیل مثال 9 برای ALTER PARTITION SCHEME: این سناریو نشان میدهد SPLIT Preparation باید همراه کنترل کاتالوگ و مقدارهای مرزی بررسی شود. کاربرد واقعی آن در آمادهسازی محل ذخیره پارتیشن تازه پیش از SPLIT است.
مثال 10: ممیزی Performance و متادیتا در ALTER PARTITION SCHEME
در مثال شماره 10، سناریوی «ممیزی Performance و متادیتا» برای ALTER PARTITION SCHEME اجرا میشود. هدف این است که رفتار SPLIT Preparation در یک نمونه قابل بازتولید دیده شود و نتیجه بدون نیاز به اجرای ذهنی قابل فهم باشد.
CREATE PARTITION FUNCTION pf_AlterPS_10 (int) AS RANGE RIGHT FOR VALUES (1000,1100);
CREATE PARTITION SCHEME ps_AlterPS_10 AS PARTITION pf_AlterPS_10 ALL TO ([PRIMARY]);
ALTER PARTITION SCHEME ps_AlterPS_10 NEXT USED [PRIMARY];
ALTER PARTITION FUNCTION pf_AlterPS_10() SPLIT RANGE (1200);
SELECT COUNT(*)+1 AS PartitionCount
FROM sys.partition_range_values
WHERE function_id=(SELECT function_id FROM sys.partition_functions WHERE name=N'pf_AlterPS_10');
| شاخص | خروجی نمونه |
|---|
| متادیتا | مرزها یا تعداد پارتیشن تغییر کرد |
تحلیل مثال 10 برای ALTER PARTITION SCHEME: این سناریو نشان میدهد Destination Mapping باید همراه کنترل کاتالوگ و مقدارهای مرزی بررسی شود. کاربرد واقعی آن در آمادهسازی محل ذخیره پارتیشن تازه پیش از SPLIT است.
ده پرسش متداول اختصاصی ALTER PARTITION SCHEME
ALTER PARTITION SCHEME: چه مسئلهای را حل میکند؟
ALTER PARTITION SCHEME برای آمادهسازی محل ذخیره پارتیشن تازه پیش از SPLIT بهکار میرود و باید همراه NEXT USED و Filegroup Readiness تحلیل شود.
ALTER PARTITION SCHEME: چه پیشنیازی دارد؟
آشنایی با Filegroup، Index، نوع داده و متادیتا لازم است؛ سپس SPLIT Preparation روی داده آزمایشی بررسی شود.
ALTER PARTITION SCHEME: برای سامانه کوچک مناسب است؟
اگر چرخه آرشیو یا نگهداری مشخص باشد، ALTER PARTITION SCHEME حتی روی PRIMARY ارزش مدیریتی دارد؛ در غیر این صورت هزینه پیچیدگی باید سنجیده شود.
ALTER PARTITION SCHEME: چه زمانی متخصص لازم است؟
در جدول بزرگ، SLA سخت، چند Filegroup یا Sliding Window، طراحی ALTER PARTITION SCHEME باید با تست بار و برنامه بازگشت تخصصی انجام شود.
ALTER PARTITION SCHEME: با چه قابلیتی اشتباه میشود؟
نقش ALTER PARTITION SCHEME باید از مرزبندی، نگاشت فیزیکی و عملیات نگهداری جدا شود؛ مفهوم محوری این مقاله NEXT USED است.
ALTER PARTITION SCHEME: برای سفارش پیادهسازی چه اطلاعاتی لازم است؟
حجم و رشد داده، نسخه SQL Server، ساختار Index، کلید پارتیشن و پنجره نگهداری برای برآورد اجرای ALTER PARTITION SCHEME لازماند.
ALTER PARTITION SCHEME: رایجترین خطا چیست؟
در ALTER PARTITION SCHEME یکی از خطاهای مهم «Filegroup نامعتبر» است و باید پیششرطها از کاتالوگ کنترل شوند.
ALTER PARTITION SCHEME: اثر Performance چگونه است؟
هزینه ALTER PARTITION SCHEME به حجم داده و پارتیشن درگیر وابسته است؛ سبک بودن خود ALTER و پایش لاگ و قفل معیار اصلیاند.
ALTER PARTITION SCHEME: Best Practice اصلی چیست؟
برای ALTER PARTITION SCHEME باید «نام Scheme را از کاتالوگ بگیرید» و خروجی کنترل پیش و پس از اجرا در مخزن تغییرات ثبت شود.
ALTER PARTITION SCHEME: سازگاری نسخهها چگونه است؟
قابلیتهای پایه ALTER PARTITION SCHEME در نسخههای مدرن SQL Server وجود دارند، اما مجوز و محدودیت نسخه هدف باید جداگانه آزموده شود.