# پایگاه‌های داده > SQL Server > مدیریت دیتابیس (Database Administration) > Maintenance Plan >  Filegroup & Default

## mehdi58

با اجراي اسكريپت زير، يك ديتابيس با دو ديتا فايل و دو فايل گروپ ايجاد مي‌شود:

CREATE DATABASE myDB
	ON	
 (NAME=mdf1,FILENAME='c:\myFile1.mdf'),
FILEGROUP fg(NAME=ndf1,FILENAME='c:\myFile1.ndf')


در ادامه اگر اسكريپت زير را اجرا كنيم مي‌بايست فايل گروپ fg به عنوان DEFAULT در نظر گرفته شود:

ALTER DATABASE myDB
MODIFY FILEGROUP fg DEFAULT


حال اگر اسكريپت زير را اجرا كنيم مي‌بايست ديتا فايل ndf2 در فايل گروپ DEFAULT كه همان fg است قرار گيرد:

ALTER DATABASE myDB
ADD FILE (NAME=ndf2,FILENAME='c:\myFile2.ndf')


اما اين اتفاق نمي‌افتد و ndf2 در فايل گروپ PRIMARY قرار مي‌گيرد! چرا؟
و اگر اين اسكريپت بصورت زير نوشته مي‌شد:

ALTER DATABASE myDB
ADD FILE (NAME=ndf2,FILENAME='c:\myFile2.ndf')TO FILEGROUP fg


 آنگاه ndf2 در فايل گروپ fg قرار مي‌گرفت.
با اين حساب پس مزيت نوشتن اسكريپتي كه در آن مشخص كرديم كه فايل گروپ DEFAULT همان fg باشد چيست؟

----------


## حمیدرضاصادقیان

سلام.
من حدسم اینه که شاید یک Bug باشه. زیرا وقتی شما Default Filegorup رو مشخص می کنید و از طریق management Studio یک فایل اضافه می کنید در همون Filegroup مد نظر ما اضافه میشه ولی از طریق دستور Alter Database در Primary اضافه می شود. همچنین اگر از طریق دستور Create Table نیز اقدام به ایجاد یک جدول کنید در همون Filegroup پیش فرض اضافه می شود.
در مستندات مایکروسافت هم چیزی در این زمینه ننوشته و بحث براین است که اگر Default Filegroup تنظیم شده باشد هر شی که ایجاد می شود باید در داخل آن ایجاد شود که در مورد دستور Alter Database Add File این مورد صدق نمیکنه.
البته من در نسخه R2 تست نکردم ببینم آیا در اون نسخه هم به این شکل هست یاخیر.

----------


## AminSobati

سلام به دوستان عزیز،
مفهوم Default Filegroup فقط برای Objectها تعریف شده. افزودن فایل چون به معنی افزودن Object تلقی نمیشه، لذا به Default Filegroup هم مرتبط نمیشه. 
ساخت Object جدید مکررا در دیتابیس رخ میده لذا Developer لازم نیست در انتهای CREATE مدام نام filegroup رو اضافه کنه. اما Add کردن فایل کار روزمره نیست و همیشه به Primary تعلق میگیره مگر اینکه شما filegroup دلخواه رو قید کنین

----------


## حمیدرضاصادقیان

آقای ثباتی پس چرا از طریق Manamement Studio فایل رو به دیتابیس اضافه می کنیم به همون Default FileGroup اضافه میشه؟

----------


## AminSobati

این رفتار خود SSMS هست. اگر در همون DialogBox ازش Script بگیرین، میبینید که عبارت TO FILEGROUP رو اضافه کرده

----------

