آموزش پیشرفته SQL Server (جلسه دوم) - آشنایی با FileGroup
آشنایی با FileGroup، قسمتی از آموزش پیشرفته SQL Server است، پیشنهاد می شود قبل از مطالعه ی آشنایی با FileGroup، قسمت های قبلی را مطالعه فرمایید.
FileGroup چیست؟
هدف: دسته بندی DataFile های بانک اطلاعاتی می باشد.
FileGroup برای LogFile قابل استفاده نیست و کارایی آن صرفا مربوط به DataFile ها می باشد.
انواع FileGroup:
FileGroup ها به سه دسته زیر تقسیم می شوند:
- Data File Group
- Primary File Group:
- پیش فرض SQL Server بوده و برای DataFile ها ایجاد می شوند.
- محل قرار گیری جداول سیستمی است.
- وجود آن ضروری می باشد.
- برای مشاهده این نوع File Group کافیست بر روی بانک اطلاعاتی کلیلک راست کرده و properties را انتخاب نمایید:
- برای مشاهده اشیاء سیستمی موجود در Primary File Group می توان از دستور زیر استفاده نمود:
آشنایی با FileGroup
--قرار دارند Primary File Group اشیاء سیستمی در
SELECT * FROM SYS.objects S
WHERE S.type_desc IN ('SYSTEM_TABLE','INTERNAL_TABLE','SERVICE_QUEUE')
GO
- User Defined File Group:
- توسط کاربر تعریف می شوند.
- برای ذخیره جداول و ایندکس ها مورد استفاده قرار می گیرند.
- File Stream File Group
- برای ذخیره Unstructured Data خارج از پایگاه داده بکار می روند.
3. Memory Optimized Data
- مختص SQL Server 2014 می باشد.
- معماری آن شبیه به File Stream می باشد.
رعایت چند نکته دراستفاده از File Group
موارد زیر در استفاده از FileGroup ها در یک پایگاه داده باید در نظر گرفته شود:
- پخش شدن داده ها مابین DataFile ها: تمامی داده ها با کمک الگوریتم RoundRobin (نوبت گردشی) و با درصدهای مساوی بین DataFileهای موجود در یک File Group تقسیم می شوند.
- رشد DataFile ها: تا تمامی DataFile های موجود در یک File Group پر نشوند Growing اتفاق نمی افتد.
- امکان قرار دادن جداول در File Group ها
دلایل استفاده از File Group ها
- جدا کردن جداول از یکدیگر
به منظور کم نمودن زمان اجرای پرس و جوها و تعدیل عملیات IO بهتر است جداول مربوط به هر سیستم از یکدیگر جدا شوند.
2. جدا کردن NonClustered Index ها
به دلیل اینکه NonClustered Index ها در فایلهای جداگانه نگهداری می شوند می توان برای بالا بردن کارایی پایگاه داده نسبت به جدا نمودن آنها اقدام نمود. به عنوان یک مثال عملی موارد زیر را انجام دهید:
- ابتدا با کمک دستورات زیر یک بانک اطلاعاتی که برای جداول آن و ایندکس های آن FileGroup جداگانه تعریف شده ایجاد نمایید.
آشنایی با FileGroup
CREATE DATABASE Test01
ON PRIMARY
(
NAME=Test01_Primary,FILENAME='D:\Database\Test01_Primary.mdf'
),
FILEGROUP FG_Stock
(
NAME=Data_Stock,FILENAME='D:\Database\Data_Stock.ndf'
),
FILEGROUP FG_Index
(
NAME=Data_Index,FILENAME='D:\Database\Data_Index.ndf'
)
LOG ON
(
NAME=TEST01_log1,FILENAME='D:\Database\TEST01_log1.LDF'
)
- در ادامه ابتدا جدولی را بر روی FileGroup جداول ایجاد نموده و پس از آن یک ایندکس از نوع NonClustered بر روی FileGroup مربوط به ایندکس ها ایجاد کنید.
آشنایی با FileGroup
CREATE TABLE Stock_Table
(
ID INT PRIMARY KEY,
Info1 CHAR(7000) DEFAULT 'Stock_Table_Test',
Info2 CHAR(500)
) ON FG_Stock
GO
--ایجاد ایندکس جدول
CREATE NONCLUSTERED INDEX IX01 ON
Stock_Table (Info2) ON FG_Index
GO
3. پارتیشن بندی جداول: تقسیم بندی جداول در ساختارهای ذخیره سازی جداگانه
4. جدا کردن جداول سیستمی از سایر جداول پایگاه داده
5. جدا کردن داده های LOB: با جدا نمودن Large Object ها از سایر داده ها با کمک FileGroup باعث بهبود کارایی پایگاه داده خواهیم شد.
6. ReadOnly نمودن بخش خاصی از پایگاه داده: اینکار را با استفاده از دستور زیر می توان انجام داد:
آشنایی با FileGroup
ALTER DATABASE Test01 MODIFY FILEGROUP FG_ReadOnlyData READONLY WITH ROLLBACK IMMEDIATE
GO
7. تهیه پشتیبان از بخش خاصی از پایگاه داده: با اینکار هم حجم فایل پشتیبان کمتر می شود و هم مدت زمان کمتری برای گرفتن پشتیبان صرف می شود. برای اینکار کافیست دستور زیر را اجرا نمایید:
آشنایی با FileGroup
BACKUP DATABASE DB_Name FILEGROUP = 'FG_Name'
TO DISK = 'Destination File' WITH STATS=1
GO
در ادامه بحث آشنایی با FileGroup خواهید دید...!
1-آشنایی کامل انواع FileGroup
2- آموزش جامع نحوه جداسازی جداول بانک اطلاعاتی با استفاده از FileGroup همراه با مثال
3-آموزش جامع نحوه جداسازی ایندکس ها از جداول بانک اطلاعاتی با استفاده از FileGroup همراه با مثال
4-آموزش جامع نحوه جداسازی LOB ها با استفاده از FileGroup همراه با مثال
5-آموزش جامع نحوه ReadOnly کردن FileGroup همراه با مثال
6-آموزش جامع نحوه گرفتن پشتیبان از یک FileGroup همراه با مثال
دسترسی به موارد آموزشی بالا در بسته خریداری شده
- شماره جلسه: 2
- نام فایل ویدئو: 02
- فرمت فایل: mp4.
نقطه شروع بحث بالا (آشنایی با File Group) در ویدئو: 14:50
برای خرید و دانلود کاملآموزش پیشرفته SQL Server کلیک کنید.
READ MORE