مقدمه

با گسترش اینترنت تولید اطلاعات هر روز زیادتر از قبل می شود و مدیریت این داده ها دشوار و دشوارتر می شود. نیاز به سیستمی برای مدیریت داده ها از مدت ها قبل وجود داشته است و مناسب ترین جواب به این نیاز SQL است. در ادامه قصد داریم توضیح مختصری از SQL را بیان کرده و سپس سراغ 10 مشکل MS SQL Server رفته و راه حل هایی برای این مشکلات را ارائه کنیم.

SQL چیست؟

SQL یک زبان برنامه نویسی است (SQL  چیست؟)  که برای مدیریت و به اشتراک گذاری داده ها مخصوصا داده هایی که در سیستم های مدیریت پایگاه داده رابطه ای وجود دارد استفاده می شود. نرم افزارهایی مثل اکسل نیز برای جمع آوری و مدیریت داده طراحی شده اند اما مدیریت حجم زیادی از اطلاعات با استفاده از اکسل بسیار مشکل است و این نرم افزار توانایی این کار را ندارد. SQL می تواند حجم انبوهی از داده ها را طبقه بندی و مدیریت کند.
با استفاده از SQL، شما می توانید اطلاعاتی مثل راه های ارتباطی و جزییات فروش تمام مشتریانی که در کسب و کارتان داشته اید را ذخیره کنید. برای مثال اگر شما بخواهید اطلاعات مشتریانی که حداقل 5000 دلار در قرن گذشته در شرکت شما خرج کرده اند را به دست بیاورید، SQL به خوبی می تواند به این نیاز شما پاسخ دهد.

تاریخچه SQL

داستان SQL به بیش از نیم قرن پیش باز میگردد. در سال 1969 در شرکت IBM، محققی به نام ادگار کاد مدل پایگاه داده رابطه ای را برای اولین بار تعریف کرد. این مدل به پایه و اساس طراحی SQL تبدیل شد. این مدل بر اساس اطلاعات متداولی طراحی شده که با داده های مختلف در ارتباط است. مثلا ممکن است که یک نام کاربری با یک نام واقعی و شماره تلفن در ارتباط باشد.
چند سال بعد IBM کار بر روی زبانی جدید برای سیستم مدیریت پایگاه های داده رابطه ای را بر اساس یافته های کاد شروع کرد. این زبان در ابتدا SEQUEL نامیده می شد. کل این پروژه که System R نام دارد، چندین اصلاح و بازبینی را پشت سر گذاشت تا در نهایت پس بارها تغییر اسم، با نام SQL معرفی شد.

MS SQL Server چیست؟

MS SQL Server یک سیستم مدیریت پایگاه داده رابطه ای (RDBMS) است که از طیف وسیعی از پردازش معاملات، هوش تجاری و تجزیه و تحلیل انواع داده ها پشتیبانی می کند. MS SQL Server در کنار Oracle Database و DB2 شرکت IBM از پیشگامان این تکنولوژی است.
مانند دیگر نرم افزار های RDBMS، MS SQL Server بر پایه زبان برنامه نویسی SQL طراحی شده است. SQL به T-SQL متصل است. این شیوه پیاده سازی، گونه ای از SQL است که چند مشکل MS SQL Server را برطرف کرده و همچنین قابلیت هایی به آن اضافه کرده است.

مشکلات سمت کاربر MS SQL Server

در ادامه به چند مشکل MS SQL Server که به طور کلی کار با سرورهای SQL مایکروسافت را دشوارتر می کنند اشاره می کنیم:

  • فهرست ها (Indexes)
    فهرست ها یکی از مشکلات اصلی SQL Server هستند. مسئله این نیست که SQL Server توانایی فهرست بندی مناسبی ندارد، بلکه مشکل این است که پیچیده بودن کار با فهرست ها می تواند اشتباهات مهمی را در نتیجه نهایی به وجود آورد. اشتباه در تنظیم درست فهرست ها معمولا ناشی از بی تجربه یا کم تجربه بودن و عدم دقت کافی است. اگر با دقت به تنظیم فهرست ها بپردازید می توانید از بسیاری از مشکلات ممکن جلوگیری کنید.
  • تصمیماتی ضعیف در طراحی
    لازمه عملکرد مناسب یک پایگاه داده، طراحی خوب آن است. اما با انتخاب نوع داده نامناسب، بایگانی بد فایل ها و پایگاه هایی بدون داشتن کلید اصلی یک پایگاه داده خوب به یک پایگاه داده بد تبدیل می شود. ایجاد تغییر اساسی در پایگاه داده پس از طراحی آن کار ساده ای نیست و به همین دلیل انتخاب های مناسب در این زمینه می تواند نقش مهمی در کارایی پایگاه داده داشته باشد.
  • کدنویسی نامناسب
    نوشتن کدهای اشتباه و نامناسب می تواند باعث ایجاد مشکلاتی اساسی در پایگاه داده شود. تاثیر این اشتباه بر روی مدیریت و دسترسی به این داده ها می تواند ضرر بزرگی را به طراح پایگاه داده وارد کند. با این که زبان برنامه نویسی MS SQL Server همان SQL است اما به دلیل پیچیده تر بودن محیط برنامه نویسی MS SQL Server منجر به گیج شدن برنامه نویسان تازه کار شود. این مشکل MS SQL Server نیست ولی طراحی نامناسب می تواند بر روی کار افراد بی تجربه تاثیر گذار باشد.
  • استفاده از تنظیمات پیش فرض
    در نصب MS SQL Server و همین طور ایجاد پایگاه داده استفاده از تنظیمات پیش فرض مخصوصا بین تازه کاران بسیار رایج است. این تنظیمات در ابتدا، کار شما را راحت می کنند ولی استفاده از تنظیمات نامناسب می تواند در عملکرد نهایی پایگاه داده شما تاثیر منفی بگذارد. سعی کنید اطلاعات کافی درباره تنظیمات MS SQL Server به دست آورده و هنگام ایجاد یک پایگاه داده از تنظیمات مناسب استفاده کنید. همیشه بهتر است با اندکی زحمت بیشتر کار حرفه ای و سطح بالا تحویل داد.

مشکلات تکنیکی و فنی MS SQL Server

  • پردازش کوئری ها بیشتر از حد معمول زمان میبرد
    این مشکل معمولا زمانی پیش می آید که پردازش جدیدی به سیستم اضافه شده یا فشار بار سیستم افزایش می یابد.
    راه حل: شما با استفاده از تحلیل گر کوئری ها و فرمان SP_WHO2 می توانید این مشکل را برطرف کنید. در نتیجه اجرای این فرمان، شما فیلد BlkBY را مشاهده خواهید کرد که اعداد SPID را در صورتی که مسدود شده باشند نمایش می دهد.
  • خطاهای مربوط به حافظه پایگاه داده
    ممکن است شما پیام هایی دریافت کنید که به شما می گوید پایگاه داده شما خالی است. این مسئله دو دلیل ممکن است داشته باشد. اول این که درایو فیزیکی که داده ها را در خود ذخیره می کند یا گزارش تراکنش های آن خالی باشد. برای حل این مشکل درایو مورد نظر یا هر درایوی که حاوی فایل در حال رشد است را باید بررسی کنید.
    دومین دلیل ممکن است این باشد که درایو مورد نظر دارایی سقفی برای اندازه فایل ها است. برای حل این مشکل کافی است سقف اندازه فایل ها را افزایش دهید. دلیل دیگر ممکن است این باشد که tempdb پر است. برای حل این مشکل MS SQL Server کافی است برنامه را ری استارت کنید. ری استارت برنامه باعث می شود tempdb از ابتدا ایجاد شود. مطمئن شوید tempdb دارای حداکثر اندازه باشد و در صورت نیاز آن را افزایش دهید تا از ایجاد مشکلات در آینده جلوگیری شود.
  • مجوز ها پس از اعطا به روش ذخیره شده رد می شوند
    زمانی که شما مجوز اجرای یک روش ذخیره شده را به کاربر می دهید، همراه آن باید مجوز های مربوط به اشیای مرتبط با آن را نیز بدهید. فرض کنید یک روش ذخیره شده با استفاده از جدول مشتریان کاری را انجام می دهد. هنگام اعطای مجوز به این روش ذخیره شده، باید مجوز جدول مشتریان را نیز بدهید.
  • مشتریان ارتباط خود با SQL Server را از دست می دهند
    مشکل قطع ارتباط با سرور چندان رایج نیست ولی در صورت وقوع SPID را کلا مسدود می کند تا جلوی استفاده غیرمجاز از منابع را بگیرد. این مشکل معمولا برای کسانی پیش می آید که از نسخه های قدیمی Microsoft Access استفاده می کنند. برای برطرف کردن این مشکل از فرمان های SP_WHO2 و KILL برای حذف فرایند مخرب استفاده کنید. راه حل دیگر این است که زمان دسترسی مشتری به سرور را محدود کنید.
  • کل سیستم به بن بست می خورد
    سیستم هنگامی به وضعیت بن بست می خورد که چند کوئری درباره درباره قفل کردن اطلاعات باشد و هیچ کدام کامل نشود. هنگامی که این مشکل حل شود سیستم گزارش دهی SQL Server گزارشی درباره وضعیت کنونی سیستم می دهد. راه حل دیگر این مشکل MS SQL Server فعال کردن flag-t1204 است. با این کار شما گزارش کاملی از وضعیت سیستم خود دریافت می کنید.

نتیجه گیری

MS SQL Server یکی از برترین سیستم های مدیریت داده است که به شکل گسترده ای در کسب و کار های کوچک و بزرگ استفاده می شود. مزایای استفاده از این برنامه باعث شده که به یکی از محبوب ترین برنامه ها در این زمینه تبدیل شود. سعی کردیم شما را با SQL که پایه و اساس MS SQL Server است آشنا کنیم و سپس به سراغ خود MS SQL Server برویم. بعد از آن به چند مشکل MS SQL Server اشاره کردیم و روش حل هر کدام را ارائه دادیم. امیدواریم محتوای گردآوری شده در این مقاله برای شما مفید بوده باشد.