آموزش SQL Server 2008 - قسمت دوم

برای وصل شدن به یک سرور باید نام آن سرور را بدانید. نام سرور می‌تواند به اشکال مختلف به شرح زیر باشد:

OrionComputer : که در حقیقت نام کامپیوتر می‌باشد.

OrionComputer\InstanceName: همانطور که قبلاً گفتم، می‌توان در یک کامپیوتر، چند Instance از SQL Server داشت. InstanceName نام آن Instance در کامپیوتر OrionComputer میباشد.

172.150.12.54 : که همان IP سرور می‌باشد.

172.150.12.54\InstanceName : دقیقاً همانند مورد دوم است. فقط در اینجا به جای نام کامپیوتر، IP آن را ذکر می‌کنیم.

(Local) : برای دسترسی به کامپیوتر Local به کار می‌رود که البته می‌توان به جای (Local) از نقطه نیز استفاده کرد (مانند شکل فوق)

Local)\InstanceName) : دقیقاً مانند مواردی که در بالا ذکر شد.

AAA : میشه برای هر سرویس SQL Server به اصطلاح یک Alias تعریف کرد. و من در این مثال فرض کردم Alias سرور من، AAA هست!

پس از وارد کردن نام سرور، باید تکلیف قسمت Authentication را روشن کرد. اگر در هنگام نصب SQL Server نحوه Authentication Mode رو روی Windows Authentication گذاشته باشید و به خودتون هم دسترسی داده باشید، در اینجا هم Windows Authentication رو وارد کنید و چون شناسایی شما توسط ویندوز انجام میشه، در اینجا لازم به وارد کردن یوزرنیم و پسورد نیست. اما اگر حالت Mixed Mode رو انتخاب کرده باشید، باید نام کاربری و کلمه عبور را وارد کنید. توجه داشته باشید که Authentication Mode رو بعد از نصب سرویس SQL Server هم میشه بصورت دستی تغییر داد.

حالا اگر همه چیز درست باشد، شما با کلیک بر روی دکمه Connect به سرور وصل میشید و بسته به نوع دسترسی، می‌توانید اطلاعات را مشاهده کرده و یا تغییراتی اعمال کنید.

پس از ورود به سرور از قسمت Object Browser می‌توانید به دیتابیس‌های موجود دسترسی پیدا کنید. (شکل زیر). البته موارد دیگری مانند Security,Server Objects,Replication و ... وجود دارند که ما در اینجا به آن‌ها اشاره نمی‌کنیم.

در شکل بالا، چهار Database وجود دارد: AdventureWorks و AdventureWorksDW و Northwind و Pubs. که دو مورد اول از نمونه دیتابیس‌های ورژن 2005 هستند و دو مورد دوم یعنی Northwind و Pubs از نمونه دیتابیس‌های ورژن 2000 هستند. ما در آینده و برای یادگیری، احتیاج زیادی به دیتابیس Pubs داریم.

برای ساخت یک Database جدید، روی عبارت Databases کلیک راست کنید و بر روی New Database… کلیک کنید. (شکل زیر)

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

سپس باید نوع فهرست‌گذاری برای کلمات متن تعیین گردد. اگر عنوان Use Full Text Indexing فعال گردد، برای تمام کلمات ایندکس ساخته خواهد شد و در زمان جستجوی کلمات، به سرعت متنی که دارای آن کلمه باشد، پیدا شده و ارائه می‌گردد. بدیهی است باید در این حالت برخی دستورات، متناسب با این حالت تغییر یابد. مثلاً اگر در حالت عادی دستور جستجوی کلمه "Test" بدین شرح باشد:

SELECT * FROM authors WHERE address LIKE '%Test%'

در حالت فعال بودن Full Text Indexing، باید دستور فوق بصورت زیر نوشته شود:

SELECT * FROM authors WHERE CONTAINS(address,'*Test*')

هر دیتابیس حداقل دارای دو نوع فایل به نام‌های زیر می‌باشد:
- Master Data File یا همان فایل mdf که در حقیقت فایل اطلاعات اصلی دیتابیس است.
- Log Data File یا همان فایل ldf که در حقیقت فایل History دستورات است.

در زمان تعریف هر یک از فایل‌ها می‌توان از طریق Initial Size مقدار اولیه حجم فایل را تخمین زد. معمولاً می‌گویند سایز اولیه Logfile برابر 35 درصد فایل mdf باشد که البته با توجه به نوع دیتابیس میتواند متفاوت باشد.
در قسمت AutoGrowth می‌توان مقدار افزایش حجم فایل را پس از رسیدن به حداکثر حجم تعریف شده، تعیین کرد. ضمناً در همین قسمت می‌توان حداکثر حجم مجاز فایل را تعیین کرده و یا اینکه حداکثر حجم مجاز را نامحدود تعریف نمود.

پس از آن می‌توان محل ذخیره کردن فایل را در قسمت Path تعیین کرد.

برای انجام هر کاری در SQL Server یک دستور به نام T-SQL صادر و اجرا می‌شود. مثلاً در زمان ایجاد دیتابیس جدید که از طریق منوی New Database انجام می‌شود، یک سری دستور TSQL اتوماتیک ایجاد شده و برای سرور ارسال می‌گردد. برای دیدن و یا احتمالاً اصلاح این دستورات، میتوانید روی دکمه Script که در بالای اکثر پنجره‌های SQL Server 2005 وجود دارد کلیک کنید. (شکل زیر)

SQL Server در هر لحظه فقط قادر به اجرای یک دستور است. پس از اجرای دستور، History آن دستور در LogFile ذخیره می‌شود. این فایل دارای کاربردهای زیادی است که مختصراً به چند مورد اشاره می‌شود:
فرض کنید در پایان هر روز از اطلاعات Backupگیری می‌شود. ولی در وسط روز هارد دیسک با مشکل مواجه می‌شود. اگر فایلهای Master و Log روی دو هارددیسک جداگانه نگهداری شده باشند، میتوان ابتدا فایل اصلی را از Backup شب گذشته بازخوانی کرد و سپس با کمک دستورات موجود در LogFile از زمان Backup تا کنون، نسبت به بازسازی فایل اصلی اقدام کرد.
یکی دیگر از کاربردهای LogFile در Replication است. مثلاً فرض کنید بنا به دلیلی لازم است دو نسخه از فایل اصلی بر روی دو سرور جداگانه در شهرهای مختلف نگهداری شود. به روز رسانی همزمان و Online فایلهای اصلی دو سرور نیاز به پهنای باند وسیعی دارد. در حالی که میتوان در پایان روز، تنها دستورات اجرا شده روزانه، از روی LogFile برای سرور مقابل ارسال شده و در آنجا دستورات اجرا شده و فایل اصلی بروزرسانی شود. از این روش می‌توان برای ساخت فایل Mirror در دو مکان مختلف استفاده کرد.
بنابراین توصیه میشه محل نگهداری فایلهای mdf و ldf جداگانه و بر روی دو هارد دیسک جدا باشد، مگر اینکه از تکنیک Raid برای نگهداری اطلاعات استفاده شود که توضیح آنها در سواد بنده نمی‌گنجد!
در قسمت صفحه New Database منویی به نام Option وجود دارد (شکل زیر) که بعضی از آنها را به اختصار توضیح میدم.

Recovery Model
اگر حالت Simple انتخاب شود فایل Log بصورت مینیموم ثبت خواهد شد و اکثر دستورات Log نخواهند شد. در این حالت سرعت عملیات افزایش یافته ولی در صورت خرابی اطلاعات، امکان بازیابی وجود ندارد. اگر Buck-Logged انتخاب گردد، در این حالت از تمامی دستورات Log گرفته خواهد شد. اما در دستورات Bulk بصورت مینیموم Log گرفته می‌شود. در صورت انتخاب Full، از تمام دستورات حتی Bulkها بصورت کامل Log می‌گیرد.

Compatibility Level
خود SQL Server 2005 بصورت اتوماتیک فایلهای SQL Server 2000 را به 2005 تبدیل می‌کند. ولی تمام امکانات SQL Server 2005 بر روی فایلهای تبدیل شده قابل استفاده نمی‌باشد. مگر اینکه در این قسمت، حالت SQL Server 2005(90) انتخاب گردد.

بقیه‌ی موارد را می‌توانید با زدن دکمه HELP در MSDN مطالعه کنید.

منبع : پاتوق

/ 3 نظر / 445 بازدید
امیر

سلام. خیلی ها موقعی که می خوان Adventureworks2008 را attach کنن، به مشکل بر می خورن. راه حلش را توی این سایت نوشته: http://geekswithblogs.net/influent1/archive/2009/06/09/132711.aspx وقتی coment های زیرش را بخونید، متوجه میشید که این مشکل خیلی هاست! سر کلاس ما هم، همه باهاش مشکل داشتن

مهدی

عالی بود ممنون