PDA

View Full Version : ndf



micro24
چهارشنبه 09 آذر 1390, 12:21 عصر
با سلام

من یک جدول دارم که اطلاعات مربوط به هر ماه که در آن جدول ریخته میشود را می خواهم در ndf های جدا بریزم اگر امکان دارد من را راهنمائی کنید که به چه صورت این کار را انجام دهم؟

با تشکر

in_chand_nafar
شنبه 12 آذر 1390, 21:02 عصر
دوست عزيز حجم ديتا شما چقدر است كه مي خواهيد سراغ NDF بريد سناريو خودتون رو توضيح دهيد تا بيشتر راهنمايي كنيم در يك جدول شما مي توانيد ركوردهاي زيادي داشته باشيد و با چند ايندكس مناسب كوئري هاي خود را سريعتر اجرا كنيد

micro24
یک شنبه 13 آذر 1390, 00:25 صبح
مرسی از اینکه پاسخ دادید من بیشتر میخواهم این موضوع یادبگیرم که به چه صورت اینکار را میتوان انجام داد؟ و چه زمانی بهتر از این روش استفاده کرد؟

با تشکر

in_chand_nafar
دوشنبه 14 آذر 1390, 17:01 عصر
اول تعريف اين موضوع را برات مي نويسم
NDFو يا بحث مربوط به File Group روشي است جهت دسته‌بندي فايل‌هاي (صرفاً Data File) موجود در بانك اطلاعاتي.
دوست عزيز سناريو NDF و يا رفتن به سمت File Group معمولا در شرايط زير كاربرد دارد

1- جدا كردن جداول از يكديگر به منظور تعديل عمليات IO روي ديسك
2- Backup (نسخه پشتيبان) گرفتن بخش خاصي از Database
3- فقط خواندني كردن بخش خاصي از Database
4- جدا كردن جداول سيستمي از جداول غير سيستمي
5- جدا كردن فيزيكي اطلاعات LOB‌ها از اطلاعات غير LOB
تمام اين موضوع هايي كه در بالا اشاره شد خودش كلي بحث دارد و مثال هايي كه معمولا در سيلابس هاي آموزشي وجود دارد اگر عمري و همينطور وقتي باشه به زودي فيلم هاي اون را در اين سايت (http://www.nikamooz.com/)قرار خواهم داد

اين هم مثال

--ايجاد بانك اطلاعاتي با توجه به الگوي ارائه شده
--ايجاد بانك اطلاعاتي با سه ديتا فايل و يك لاگ فايل
CREATE DATABASE Test01
ON PRIMARY
(
NAME=Test01_DATA1,FILENAME='E:\Database\TEST01_DAT A1.mdf',
SIZE=3MB,MAXSIZE=10GB,FILEGROWTH=10%
),
FILEGROUP [DataFG]
(
NAME=Test01_DATA2,FILENAME='C:\TEST01_DATA2.ndf',
SIZE=20MB,MAXSIZE=20GB,FILEGROWTH=25%
),
FILEGROUP [PicFG]
(
NAME=Test01_DATA3,FILENAME='C:\TEST01_DATA3.ndf',
SIZE=200MB,MAXSIZE=15000MB,FILEGROWTH=15%
)
LOG ON
(
NAME=TEST01_log1,FILENAME='E:\Database\TEST01_log1 .LDF',
SIZE=100MB,MAXSIZE=15GB,FILEGROWTH=10%
)
-----------------------------------------
USE Test01
GO
--استخراج اطلاعاتي درباره فايل گروه
SELECT * FROM sys.filegroups
GO
SP_HELPFILEGROUP
-----------------------------------------

micro24
چهارشنبه 16 آذر 1390, 21:46 عصر
سلام

مرسی از پاسخ شما، میشود مثلاً توی یک جدول اطلاعات ماه های مختلف را داریم، هر ماه را در یک File Group جدا بریزیم؟

با تشکر

in_chand_nafar
پنج شنبه 17 آذر 1390, 11:30 صبح
اين موضوعي كه شما ميگيد مربوط به Data Partitioning ميشه
Data Partitioning از SQL Server 2005 به مجموعه SQL اضافه شده است
توي اين مبحث از NDF و File Group استفاده ميشه
اما اين نكته رو در نظر داشته باشيد رفتن به سراغ اين فرآيند يكسري پيش نيازهايي داره كه باييد اون ها رو رعايت كنيد
همين طور پيشنهاد من به شما اين است كه اگر حجم داده شما واقعا بالا است سراغ اين قضيه بريد
در ضمن اگر NDF ها تون رو توي RAIDهاي جداگانه قرار بديد خصوصاً NDF‌جاري كه زياد داره باهاش كار ميشه در RAID‌جدا از NDFهاي آرشيو قرار داشته باشه در ضمن بايد هنگام
Partitioning بايد به ايندكس ها نحوه ايندكس گذاري داده ها توجه ويژه كنيد
حوصله ات سر رفت باقي موارد بمونه براي بعد اگر حوصله داشتي

micro24
پنج شنبه 17 آذر 1390, 12:25 عصر
مرسی اگر امکان دارد ادامه دهید.