قبل از ادامه مبحث، به يه نكته كوچيك كه يادم رفت در پست قبليم بگم، اشاره كنم. تلفظ صحيح SQL ، بصورت سيكوئل است. اين تلفظ چيزي است كه من در فيلمهاي آموزشي به لهجه آمريكايي شنيدم. حالا مطلب قبلي رو ادامه ميدم.
پس از نصب SQL Server 2005 حالا ميخواهيم به سرور وصل بشيم و تغييراتي را اعمال كنيم. براي اين كار از نرمافزاري به نام SQL Server Management Studio (كه در صورت انتخاب، همراه با سرويس SQL Server 2005 نصب ميشود) استفاده ميكنيم. همونطور كه قبلاً هم گفتم، وجود اين برنامه در كامپيوتر دليلي بر وجود سرويس SQL Server روي آن كامپيوتر نيست. چون ميتوان اين برنامه را بدون نصب سرويس SQL Server 2005 نصب نمود و همچنين ميتوان سرويس SQL Server 2005 را بدون نصب اين برنامه، نصب نمود.
دسترسي به اين برنامه، از مسير زير امكانپذير است:
Start>All Programs>Microsoft SQL Server 2005>SQL Server Management Studio
و يا اينكه در Command Prompt تايپ كنيد sqlwb
كه پس از اجرا، پنجرهاي شبيه عكس زير را خواهيد ديد.
براي وصل شدن به يك سرور بايد نام آن سرور را بدانيد. نام سرور ميتواند به اشكال مختلف به شرح زير باشد:
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" بدين شرح باشد:
[PHP] SELECT * FROM authors WHERE address LIKE '%Test%'[/PHP]
در حالت فعال بودن Full Text Indexing، بايد دستور فوق بصورت زير نوشته شود:
[PHP] SELECT * FROM authors WHERE CONTAINS(address,'*Test*')[/PHP]
هر ديتابيس حداقل داراي دو نوع فايل به نامهاي زير ميباشد:
- 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 مطالعه كنيد.
گردآورنده: طه / Borna66