سؤال

حصل لي موقف غريب جدًا وأتمنى أن يعرف أحد هنا السبب.

لقد قمت بتمكين TCP/IP لجميع المنافذ على المنفذ الافتراضي 1433.

تتوافق جميع الاختبارات مع SQL Server Management Studio وبرنامجي.

هذا يعمل:

  • اسم الكمبيوتر\اسم المثيل
  • 127.0.0.1
  • 127.0.0.1,1433
  • 192.168.1.100
  • 192.168.1.100,1433

هذا لا يعمل:

  • 127.0.0.1\اسم المثيل

ملحوظة:أعلم أن الأمر لا يتعلق بجدار الحماية لأنه يمكنني الاتصال بـ 127.0.0.1 على المنفذ 1433.

ملاحظة 2:لا يهم سلسلة الاتصال نظرًا لأن الاختبارات متوافقة مع Management Studio، لكنني سأقدمها على أي حال: server={0};Integrated Security=True;Database=MyDatabase

أثناء قراءة MSDN، يبدو أنك يجب أن تكون قادرًا على الاتصال باسم المثيل عبر عنوان IP.

ما الذي يحدث هنا؟

هل كانت مفيدة؟

المحلول

اسم الشيئ تستمع مثيلات SQL على منفذ عشوائي بشكل افتراضي.انت تحتاج متصفح SQL بدأت الخدمة، وهذا يستمع إلى UDP على 1434 ويستجيب لطلبات اكتشاف المثيل لإرشاد العميل بمنفذ الاستماع الحقيقي.تحتاج أيضًا إلى السماح لجدار الحماية بإحداث ثغرات بناءً على اسم العملية، بحيث يمكن لـ SQL الارتباط في أي منفذ تريده.

وإلا فيجب عليك فرض المثيل المسمى بشكل صريح على المنفذ غير المسمى.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top