Sql مخفف structured query language و یک زبان استاندارد برای دسترسی و نگهداری دیتابیس می باشد. همچنین این زبان برنامه نویسی جزء استاندارهای ANSI است. با وجود استاندارد بودن Sql نسخه های متفاوتی از آن وجود دارد.
خطاهای مختلف هنگام اتصال به دیتابیس جز مواردی هستند که اغلب اوقات برنامه نویسان را دچار مشکل می کنند. در ادامه مقاله رایج ترین مشکل دربرقراری ارتباط با sql server و رفع ارور sql server توضیح داده شده اند.
نحوه ی رفع مشکل اتصال به سرور در sql server
نحوه ی رفع مشکل در کانکت شدن sql server 2017 بدین صورت است که:
- ممکن است Sql هنوز اجرا نشده و یا به طور صحیح عمل نمی کند.
- مسیر شبکه بین سرویس گیرنده (کامپیوتر شما) و سرویس دهنده (سرور) شکسته و یا موقتا کار نمی کند.
- اکانت کاربری استفاده شده جهت اتصال به دیتابیس دارای مجوزهای دسترسی نمی باشد.
برای رفع خطای sql server در مورد دوم از منوی start گزینه run و سپس فرمان CMD را اجرا نمایید. در محیط command prompt دستور زیر را اجرا نمایید :
C:> telnet [severname] 1433
تا مطمئن شوید که Sql سرور روی پورت TCP ، شنود می کند. اگر ارتباط با پورت با موفقیت انجام شد مکان نما شروع به چشمک زدن کرده و صفحه command prompt پاک می شود در غیر اینصورت خطایی نمایش داده خواهد شد.عمده دلیل بسته بودن پورت مشکلات DNS می باشد که در این رابطه می توانید با مدیر شبکه مشاوره نمایید. همچنین تنظیمات Firewall هم می تواند باعث بسته شدن پورت TCP شده باشد.
برخی اوقات به دلیل مشکلات indexing بر روی دیتابیس و با توجه به اینکه دیتابیس آنلاین بوده و کاربران زیادی از آن استفاده نموده ، با ارسال queries های فراوان بر کارایی آن تاثیر می گذارند و سرور توانایی مدیریت درخواست ها را نخواهد داشت. راه حل مناسب در این حالت pause کردن sql است تا بتواند قبل از دریافت هرگونه درخواست جدیدی کارهای قبلی را به اتمام برساند.لازم است بدانید connectionها و سایر فرآیندها به کار خود ادامه خواهند داد اما Sql server هیچ گونه connection جدیدی را پذیرش نمی کند. با pause کردن sql میزان مصرف cpu کاهش پیدا می کند.
بعد از اتصال به سرور مجددا sql را در حالت pause قرار دهید در این حالت sql آماده ی دریافت کار جدید خواهد بود. این کار به رفع ارور sql server کمک می کند.
راه کارهای جلوگیری و رفع ارور sql server
برای رفع مشکل اتصال به سرور در sql server استفاده از آخرین نسخه ی sql server ، یکسان بودن پروتکل شبکه بین کامپیوتر شما و سرور مهم است. مثلا اگر client از پروتکل ipx/spx برای اتصال به دیتابیس استفاده می کند این پروتکل بر روی سرور هم نصب شده باشد در غیر اینصورت قادر به برقراری ارتباط نخواهد بود و مشکل دربرقراری ارتباط با sql server وجود دارد و علت عدم برقراری ارتباط با سرور عدم نصب پروتکل ipx/spx خواهد بود.
خطاهای رایج هنگام اتصال به دیتابیس
۱- خطای Specified SQL Server not found
برای رفع ارور sql server، مطمئن شوید نامی را که در قسمت sql servername وارد کرده اید درست بوده و سرویس sqlserver که به آن متصل شده اید در حالت start قرار داشته باشد و همچنین بررسی کنید که client و server از net –library یکسانی استفاده می کنند.
۲- عدم لاگین با سایر کاربران دیتابیس
مطمئن شوید که گزینه ی single user در حالت Off قرار داشته باشد. اگر این گزینه فعال باشد فقط یک کاربر می تواند به دیتابیس لاگین کند.
همچنین بررسی کنید کاربری که از طریق آن لاگین کرده اید در دیتابیس موجود و مجوزهای لازم را داشته باشد.
۳- فعال بودن گزینه ی DBO use only
اگر خطایی مبنی بر اینکه تنها مالک دیتابیس می تواند به آن دسترسی داشته باشد را دریافت کردید بدین معنی است که گزینه ی ‘DBO use only’ در وضعیت فعال قرار دارد بنابراین اگر می خواهید سایر کاربران هم به دیتابیس دسترسی داشته باشند آن را درحالت Off قرار دهید.
۴- مشکل وصل نشدن به دیتابیس در sql، خطای Assertion failed
اگر هنگام اتصال به sql server از طریق tcp /ip خطایی مانند Assertion failed را دریافت کردید اقدام به نصب Client for Microsoft Networks بر روی سرور نمایید.
۵- نمایش خطای Specified SQL Server not found در زمان اجرای برنامه
این پیام هنگام لودشدن فایل mdf سنگین ظاهر می شود. در این حالت قبل از اجرای کامل sql server، سرویس connection ایجاد شده و باعث بروز خطا می شود.
اگر هنگام اتصال به sql server از طریق QUERY ANALYZER با این خطا مواجه شدید در زمانهای دیگری اقدام به اتصال به sql نموده و یا SQL SERVER را از طریق Service manager دوباره اجرا کنید.
۶- خطای ۱۷۸۲۴
اگر خطای ۱۷۸۲۴ را دریافت کردید اتصلات شبکه را بررسی نموده و یا گزینه ی ‘priority boost’ در sql server را به مقدار پیش فرض آن تغییر دهید.
۷- خطا در خواندن از پایگاه داده – خطای Server Error in ‘/’ Application
خطا در برقراری ارتباط با پایگاهداده معمولا هنگامی رخ می دهد که شما connection string مناسب رو انتخاب نکرده باشید. برای حل مشکل server error in ‘/’ application، سایر فیلدهای آن را بررسی و از صحیح بودن آدرس دیتابیس سرور ، نام کاربری و کلمه ی عبور و نام دیتابیس اطمینان حاصل فرمایید. برای آشنایی با نحوه نوشتن connection string در ASP.Net بهتر است مقاله چگونگی ارتباط با دیتابیس را مطالعه کنید.