فصل سوم :
ایجاد دیتابیس در SQL Server 2014
SSMS SQL Server Management Studio
محیطی را فراهم می آورد تا کاربر بتواند با موتور پایگاه داده ارتباط برقرار کند و فرآیند هایی نظیر تنظیمات ایجاد ، تغییر و مدیریت پایگاههای داده را انجام دهد .
Connect to Server
Server Name : نام سرور یا IP بک اسلش به همراه نام Instance در صورت وجود بصورت :
IP/instance Name
مثلا :
192.168.1.1/Hesabdari
برای اتصال به اس کیو ال سرور نصب شده در ای پی آدرس 192.168.1.1 که نام instance آن Hesabdari می باشد .
Port : پیشفرضی که سروریس اس کی وال سرور با آن کار میکند پورت 1433 می باشد. که البته این پورت را می توان به پورت دیگری تغییر دارد که در این صورت در هنگام اتصال در قسمت Server Name
پورت تعریف شده را با یک کاراکتر [,] کاما (Comma)قبل از آن به عبارت قبلی اضافه میکنیم
مثلا:
Server Name : 192.168.1.1,1450
برای اتصال به instance پیشفرض(Default Instance) که پورت آن بروی پورت 1450 تنظیم شده است
System Databases ( دیتابیس های سیستمی)
-
master Database : نگهداری اطلاعات سیستمی instance
-
msdb : مورد استفاده sql server agent
-
model : بعنوان تمپلت و الگو برای ایجاد دیتابیس ها ،
-
tempDB : نگهداری آبجکت های موقت و یا نتایج میانی یک پروسه
پایگاه داده یا Database
عبارتست از مجموعه ایی از اطلاعات ساخت یافته .بگونه ایی که یک نرم افزار بتواند بسرعت قسمتی از اطلاعات مورد نظر را بیابد .
در واقع یک دیتابیس اس کیو ال همانند ظرفی است که گروهی از اشیاء مرتبط را در خود نگه میدارد. یک دیتابیس در اس کیو ال سرور علاوه بر ذخیره اطلاعات ساختار اطلاعات و ارتباطات ما بین آنها را نیز در خود نگه میدارد .
در یک instance از اس کیو ال سرور 2014 ماکزیمم 32767 دیتابیس می توان ایجاد کرد .
ایجاد دیتابیس :
Database Name : نام دیتابیس
Owner : مالک دیتابیس (default باشد)
Database Files :
هر دیتابیس اس کیو ال برای ذخیره اطلاعات و تنظیمات خود حداقل احتیاج به 2 فایل دارد.
.mdf فایل اصلی ذخیره اطلاعات
ldf فایل نگهداری لاگ تراکنش ها یا همان Transaction Log
تمامی تراکنش ها و تغییرات ناشی از آنها در دیتابیس در transaction log ذخیره میشوند
Transaction log کلیدی ترین جزئ یک دیتابیس می باشد . اگر دیتابیس شما دچار مشکل شود با استفاده از همین transaction log می توان دیتابیس را به حالت قبلی بر گرداند .
Logical Name نام منطقی دیتابیس
FileType : که می تواند Rows Data برای نگهداری دیتابیس و یا log برای نگهداری لاگ باشد .
SQL Server FileGroup
از انجایی که موتور پایگاه داده استفاده فزاینده ایی از هارد دیسک کامپیوتر میکند برای بهبود عملکرد دیتابیس می توانیم اطلاعات دیتابیس و transaction log ها را در فایل هایی غیر از فایل های اصلی آنها قرار داده و این فایل ها را در هارد دیسک های متعدد کامپیوتر ذخیره کنیم. این فایل ها را فایل های ثانویه یا Secondary نامیده میشوند و با پسوند ndf نامگذاری می شوند .
برای مدیریت این فایل ها مفهومی بعنوان filegroup بوجود می آید که چیزی بجز دسته بندی منطقی فایلهای ndf نیست .می توان چند فایل ثانویه ndf را در یک گروه قرار داد. تا مدیریت آنها ساده تر شود.
Filegroup اصلی Primary FileGroup نام دارد که فایل اصلی mdf دیتابیس ما نیز در آن گروه می باشد.
حال اگر از کلید Add استفاده کنیم می توانیم فایل های ثانویه ایی را ایجاد کنیم که به یکی از filegroup های موجود اختصاص داده بشوند همچنین امکان ساخت FileGroup جدید نیز در همین مکان وجود دارد
در درس های آینده فرا خواهید گرفت چگونه با استفاده از این تکنیک اطلاعات یک جدول بزرگ را در چندین هارد دیسک گوناگون ذخیره کنیم .
Initial Size
مشخص نمودن اندازه ابتدایی فایل به مگابایت که بطور پیش فرض این مقدار از دیتابیس Model که جزو دیتابیس های سیستمی اس کیو ال هست گرفته می شود .
Autogrowth
چگونگی افزایش حجم فایل های دیتابیس را با توجه به درج اطلاعات در دیتابیس را مشخص میکند. که آیا با درج اطلاعات جدید در دیتابیس آیا اندازه فایل های دیتابیس افزایش پیدا کند یا خیر و در صورت مثبت بوده این فزایش با چه نرخی انجام گیرد . و ماکزیمم این حجم تا چه مقدار زیاد شود.
Path
تعیین مسیر ذخیره فایل ها و در صورت عدم تغییر در مسیر های پیشفرض که در هنگام نصب انرا مشخص کرده ایم ساخته خواهند شد.
FileName
تعیین نام فایل ها بروی هارد دیسک و در صورت خالی رها شدن معادل یا نام منطقی انتخاب شده می باشند
ADD
افزودن فایل جدید به دیتابیس
Remove
حذف فایل انتخاب شده از دیتابیس .
امکان حذف فایلی که دارای اطلاعات می باشد را نداریم .
فایل های اصلی Primary دیتا و لاگ قابل حذف نیستند.
Options
Collation :
تنظیم Collation دیتابیس (قواعد مقایسه رشته ها و مرتب سازی)
Recovery Model :
: کنترل چگونگی مدیریت Transaction log ها
-
Simple :
اس کیو ال سرور حداقل اطلاعات را در transaction log ثبت میکند.بنابراین حجم فایل لاگ کم است ولیکن انعطاف پذیری کمی برای رفع مشکلات دیتابیس و بازیابی بازیابی اطلاعات قبل از یک زمان خاص وجود .
در دیتابیس های آموزشی در حین توسعه نرم افزار.
-
Full :
: حد اکثر اطلاعات در transaction log ثبت میشود. بنابراین حجم فایل لاگ زیاد خواهد بود و لیکن ماکزیمم انعطاف پذیری را در بازگرداندن اطلاعات در صورت بروز مشکل خواهیم داشت
در دیتابیس های عملیاتی
-
Bulk-logged :
به روش مشابه full کار میکند ولیکن در هنگام درج حجم زیاد اطلاعات bulk data کاربرد دارد بروشی که حداقل اطلاعات با صرف زمان کمتری لاگ شوند . توصیه می شود از این روش برای مدت کوتاهی استفاده گردد و سپس ریکاوری مد به full باز گردانده شود.
Compatibility level
آخرین نسخه الس کیو ال سروری که دیتابیس آنرا پشتیبانی میکند مشخص میکند. یعنی اگر دیتابیس ما بروی سرور دیگری قرار گرفت نسخه ای کیو ال سرور ان ماکزیمم چه نسخه ایی می تواند باشد. اگر compatibility level دیتابیس را مثلا بروی sql server 2005 تنظیم کنیم نمی توانیم آنرا بروی سرور دیگری با نسخه اس کیو ال سرور 2008 یا 2012 منتقل نماییم .
Containment type
Containment دیتابیس در واقع دیتابیسی است که از سایر دیتابیس ها و instance اس کیو ال سروری که آنرا میزبانی میکند ایزوله است .در واقع اطلاعات و تنظیمات دیتابیس در خود ان ذخیره می شود نه در دیتا بیس سیستمی instance اس کیو ال سرور میزبان. بنابراین جابجایی آن آسانتر است .
FileGroups
مشاهده filegroup ها و امکان درج و حذف آنها
بسیاری از مفاهیم درفیلم اموزشی بطور مفصل شرح داده شده اند . لذا حتما فیلم آموزشی این فصل را ببینید .
مفاهیم و موضوعات این فصل عبارتند از :
-
پایگاه داده یا Database
-
Database Files (فایل های دیتابیس)
-
FileGroup
-
ایجاد دیتابیس جدید
-
Recovery Model
-
Compatibility level
-
Containment type