خانه/ وبلاگ/ Cannot Connect to SQL Server
SQL Server

رفع خطای Cannot Connect to SQL Server در SSMS

عیب‌یابی ۲۶ مرداد ۱۴۰۴ ۹ دقیقه مطالعه

خطای «Cannot connect to [نام سرور]» در SSMS، برخلاف خطای Login Failed، معمولاً به معنای این است که SSMS اصلاً نتوانسته به موتور SQL Server وصل شود — یعنی مشکل قبل از مرحله‌ی احراز هویت رخ می‌دهد. علت‌های آن معمولاً یکی از این چهار مورد است: سرویس اجرا نیست، نام سرور اشتباه است، اتصال از راه دور غیرفعال است، یا فایروال جلوی پورت را گرفته.

اگر پیام دقیق خطا شامل عبارت A network-related or instance-specific error occurred است، راهنمای اختصاصی رفع این خطای شبکه‌ای را هم ببین — همان ریشه دارد اما جزئیات بیشتری پوشش می‌دهد.

مرحله ۱ — مطمئن شو سرویس SQL Server در حال اجراست

ساده‌ترین و رایج‌ترین علت است. سرویس را از SQL Server Configuration Manager بررسی کن:

SQL Server Configuration Manager
SQL Server (MSSQLSERVER) ● Stopped
SQL Server Browser ● Running

اگر وضعیت Stopped بود، روی سرویس راست‌کلیک کن و Start را بزن. اگر سرویس مدام خاموش می‌شود، Event Viewer ویندوز را برای دلیل توقف بررسی کن.

مرحله ۲ — نام سرور را درست وارد کن

یکی از رایج‌ترین اشتباهات، فراموش‌کردن نام Instance در فیلد Server name است. اگر SQL Server را با یک نمونه‌ی نام‌گذاری‌شده (Named Instance) نصب کرده باشی (مثلاً نسخه‌ی Express)، باید از فرمت زیر استفاده کنی:

حالتمقدار فیلد Server name
Default Instance روی سیستم محلیlocalhost یا . یا (local)
Named Instance محلی (مثلاً Express)localhost\SQLEXPRESS
سرور روی شبکه با پورت پیش‌فرض192.168.1.10 یا نام کامپیوتر
سرور روی شبکه با پورت سفارشی192.168.1.10,1433

مرحله ۳ — فعال بودن Remote Connections (برای اتصال از سیستم دیگر)

اگر می‌خواهی از یک کامپیوتر دیگر به SQL Server وصل شوی، باید اتصال از راه دور فعال باشد. در SSMS روی سرور راست‌کلیک کن → Properties → Connections و مطمئن شو تیک Allow remote connections to this server فعال است.

مرحله ۴ — فعال بودن پروتکل TCP/IP

در SQL Server Configuration Manager → SQL Server Network Configuration → Protocols، پروتکل TCP/IP باید Enabled باشد. بعد از فعال‌کردنش، سرویس SQL Server را ری‌استارت کن.

مرحله ۵ — بررسی فایروال

اگر همه‌ی موارد بالا درست بودند اما همچنان از سیستم دیگری نمی‌توانی وصل شوی، احتمالاً فایروال ویندوز پورت SQL Server (پیش‌فرض 1433) را می‌بندد. یک قانون Inbound برای این پورت در Windows Defender Firewall اضافه کن، یا موقتاً فایروال را برای تست خاموش کن.

چک‌لیست سریع

بررسی کنابزار
سرویس SQL Server در حال اجراست؟SQL Server Configuration Manager
نام سرور/Instance درست وارد شده؟فیلد Server name در SSMS
Remote Connections فعال است؟Server Properties → Connections
پروتکل TCP/IP فعال است؟SQL Server Network Configuration
فایروال پورت 1433 را باز گذاشته؟Windows Defender Firewall

جمع‌بندی

خطای Cannot Connect تقریباً همیشه یک مشکل شبکه یا پیکربندی است، نه مشکل رمز عبور. با بررسی به‌ترتیب سرویس، نام سرور، تنظیمات Remote Connection، پروتکل TCP/IP و فایروال، در اکثر موارد مشکل رفع می‌شود. اگر بعد از این مراحل همچنان با پیام A network-related or instance-specific error occurred روبه‌رو هستی، راهنمای اختصاصی آن را ببین: رفع خطای A network-related or instance-specific error occurred.

می‌خوای SQL Server را از پایه یاد بگیری؟

دوره‌ی رایگان SQLFarsi را با درس معماری SQL Server شروع کن.

شروع یادگیری