0

در مورد فایل ndf و mdf در پارتیشن بندی اطلاعات

با سلام و خسته نباشید

1- آیا درون فایل ndf می شود جدول ذخیره کرد یا فقط اطلاعات ذخیره می شود

2- به کوئری زیر توجه کنید در هر فایل گروپ هم فایل ndf گذاشته شده است و هم فایل mdf این چه کاربردی دارد و با این که فایل mdf اصلی یعنی primary را داریم پس چرا در هر فایل گروپ فایل mdf اضافه شده است اصلا فایل mdf در فایل گروپ چه استفاده ای دارد با تشکر از شما


CREATE DATABASE TestDB 
ON PRIMARY 
 ( NAME = 'TestDB_Primary', FILENAME = 'c:\del\TestDB\Data\Datafile_1.mdf' ),
FILEGROUP FG_1 
 ( NAME = 'TestDB_FG_1_1', FILENAME = 'c:\del\TestDB\Data\Datafile_2.mdf' ), 
 ( NAME = 'TestDB_FG_1_2', FILENAME = 'c:\del\TestDB\Data\Datafile_3.ndf' ),
FILEGROUP FG_2 
 ( NAME = 'TestDB_FG_2_1', FILENAME = 'c:\del\TestDB\Data\Datafile_4.mdf' ), 
 ( NAME = 'TestDB_FG_2_2', FILENAME = 'c:\del\TestDB\Data\Datafile_5.ndf' ),
FILEGROUP FG_3 
 ( NAME = 'TestDB_FG_3_1', FILENAME = 'c:\del\TestDB\Data\Datafile_6.mdf' ), 
 ( NAME = 'TestDB_FG_3_2', FILENAME = 'c:\del\TestDB\Data\Datafile_7.ndf' )
LOG ON 
 ( NAME = 'TestDB_Log',  FILENAME = 'c:\del\TestDB\Logs\TransactionLog.ldf' )
GO
پرسیده شده در 1395/03/22 توسط

10 پاسخ

1

mdf یک پسوند است. در نظر داشته باشید که اولین فایل در فایل گروپ primary صفحات boot را دارد و در فایل گروپهای دیگر فایلهای mdf هیچ تاثیری ندارند یعنی منظورم این است که می توانند هر پسوندی داشته باشند.

پاسخ در 1395/03/23 توسط
1

در هر دو مدل سرعت بالاتر از این است که تمامی فایلها در یک هارد دیسک باشند. البته باید تعداد فایلها با تعداد پردازنده ها محاسبه شود و تعداد ایده آل به دست بیاید.

پاسخ در 1395/03/24 توسط
0

با سلام و خسته نباشید خدمت استاد عزیزم جناب مهندس HamidJFard عزیز

من از توضیحات شما بسیار ممنونم و متوجه شدم

1- جناب مهندس اگر ما در یک فایل گروپ 2 فایل ndf داشته باشیم و یک فایل ndf را در یک هارد قرار دهیم و فایل ndf بعدی را در یک هارد دیگر قرار دهیم آیا سرعت بالاتر می رود نسبت به اینکه ما در یک فایل گروپ 1 فایل ndf داشته باشیم.

2- جناب مهندس ممنون می شوم به این سئوال هم پاسخ دهید و آن این هست که اگر ما در یک فایل گروپ مثلا 4 فایل ndf داشته باشیم و 2 فایل ndf در یک هارد باشد و دو فایل ndf دیگر در هارد دیگری باشد آیا سرعت بالاتر می رود نسبت به توضیحاتی که در بالا دادم.

پاسخ در 1395/03/24 توسط
0

با سلام خدمت استاد عزیزم جناب آقای مهندس HamidJFard

ممنونم از جواب شما ، جناب مهندس منظور شما از صفحات کثیف یعنی آن page هایی که بهم خورده اند یعنی پراکنده شده اند به عبارتی یعنی page ها پر از اطلاعات نشده اند آیا درست متوجه شدم جناب مهندس عزیز؟

پاسخ در 1395/03/30 توسط
0

با سلام و خسته نباشید خدمت استاد عزیزم

جناب مهندس از لینک و توضیحات بالا ممنونم چون یک سئوال برای خودم شد که بیشتر در این مورد مطالب بخونم

فقط در لینک بالا شما یک کوئری گذاشته بودید که به شکل زیر هست

SELECT DB_NAME(database_id) AS 'Database', 
COUNT(page_id) AS 'Dirty Pages' 
FROM sys.dm_os_buffer_descriptors WHERE is_modified =1 
GROUP BY DB_NAME(database_id)
ORDER BY COUNT(page_id) DESC

آیا این کوئری یعنی تعداد page هایی که از هر دیتابیس به beffer pool لود شده است.

ممنونم از راهنمایی شما

پاسخ در 1395/03/24 توسط
0

ممنونم از پاسخ شما مهندس جان

یعنی اگر در فایل گروپ ما فایل mdf نگذاریم و فقط فایل ndf بگذاریم هیچ فرقی نمی کند یا فایل Mdf کار خاصی انجام می دهد

یا منظور شما این هست که ما در یک فایل گروپ می توانیم مثلا چندین فایل ndf داشته باشیم یا حتی mdf که فرقی بین mdf و ndf در فایل گروپ نمی کند فقط فرمت تغییر کرده ولی در عمل یکی هست آیا درست هست ؟

پاسخ در 1395/03/23 توسط
1

اگر دستور شرط where را حذف کنید بله. اما ان کد تعداد صفحه های تغییر داده شده یا کثیف را نشان میدهد

پاسخ در 1395/03/30 توسط
1

در حقیقت mdf و ndf پسوند هستند . شما بزار data1.hassan هیچ فرقی نمیکنه.

پاسخ در 1395/03/24 توسط
1

خیر page هایی که داده در ان تغییر می کند

پاسخ در 1395/03/30 توسط

پاسخ شما