จะแก้ไขข้อผิดพลาด 'ข้อผิดพลาดที่เกี่ยวข้องกับเครือข่ายหรืออินสแตนซ์เฉพาะที่เกิดขึ้นขณะสร้างการเชื่อมต่อกับ SQL Server' ได้อย่างไร



ลองใช้เครื่องมือของเราเพื่อกำจัดปัญหา

“ เกิดข้อผิดพลาดเกี่ยวกับเครือข่ายหรือเฉพาะอินสแตนซ์ขณะสร้างการเชื่อมต่อกับ SQL Server ไม่พบเซิร์ฟเวอร์หรือไม่สามารถเข้าถึงได้ ตรวจสอบว่าชื่ออินสแตนซ์ถูกต้องและมีการกำหนดค่า SQL Server ให้อนุญาตการเชื่อมต่อระยะไกล (ผู้ให้บริการ: Named Pipes Provider ข้อผิดพลาด: 40 - ไม่สามารถเปิดการเชื่อมต่อกับ SQL Server) (Microsoft SQL Server ข้อผิดพลาด: 53)”



เกิดข้อผิดพลาดเกี่ยวกับเครือข่ายหรือเฉพาะอินสแตนซ์ขณะสร้างการเชื่อมต่อกับ SQL Server



บทความนี้กล่าวถึงรายการวิธีการแก้ไขปัญหาโดยละเอียดที่สามารถใช้เพื่อเชื่อมต่อกับเซิร์ฟเวอร์ SQL ก่อนอื่นเราจะพูดถึงปัญหาที่เกิดขึ้นเมื่อคุณต้องการ เชื่อมต่อกับเซิร์ฟเวอร์ระยะไกลโดยใช้ที่อยู่ IP เนื่องจากเป็นสาเหตุที่พบบ่อยที่สุด ขั้นตอนเหล่านี้เขียนไว้ใน“ SQL Server 2008 R2″ บน ' Windows 10″ แต่สามารถใช้กับเวอร์ชันอื่นได้เช่นกันโดยมีการแก้ไขเล็กน้อย



ข้อผิดพลาดมักจะหมายความว่า ' ไม่พบเซิร์ฟเวอร์ SQL” หรือ ' พอร์ต TCP ไม่ทราบหรือผิด” , หรือ สามารถบล็อกได้โดย“ ไฟร์วอลล์”

วิธีที่ 1: รวบรวมข้อมูลเกี่ยวกับอินสแตนซ์ของ SQL Server

ในส่วนนี้เราจะพูดถึงวิธีการตรวจสอบอินสแตนซ์ของไฟล์ เซิร์ฟเวอร์ SQL ใช้งานได้หรือไม่พร้อมวิธีการแก้ไขหากใช้งานไม่ได้

ขั้นตอนที่ 1. ตรวจสอบว่าอินสแตนซ์ของ SQL Server ติดตั้งและใช้งานได้หรือไม่

ก่อนอื่นล็อกอินเข้าสู่คอมพิวเตอร์ที่โฮสต์อินสแตนซ์เซิร์ฟเวอร์ SQL ตอนนี้ทำตามขั้นตอนเหล่านี้เพื่อเปิดบริการใน Windows



  1. คลิกที่ 'เมนูเริ่มต้น' แล้วชี้ไปที่ 'ทุกโปรแกรม' .
  2. ตอนนี้ชี้ไปที่ SQL Server แล้วชี้ไปที่ “ เครื่องมือกำหนดค่า”
  3. คลิก “ ตัวจัดการการกำหนดค่าเซิร์ฟเวอร์ SQL” .
  4. ตอนนี้เลือก “ บริการ SQL Server” และตรวจสอบในบานหน้าต่างด้านขวาว่าอินสแตนซ์ของเครื่องมือฐานข้อมูลกำลังทำงานอยู่หรือไม่
  5. นอกจากนี้ยังสามารถเปิดได้โดยตรงโดยการพิมพ์ “ services.msc” ใน วิ่ง แล้วคลิก ตกลง . หน้าจอต่อไปนี้จะปรากฏขึ้น

การเปิดบริการโดยพิมพ์“ services.msc” ในช่อง RUN

ตอนนี้ตรวจสอบว่าเอ็นจินฐานข้อมูลได้รับการกำหนดค่าให้ยอมรับการเชื่อมต่อระยะไกลหรือไม่ ในการตรวจสอบให้ทำตามขั้นตอนต่อไปนี้

  1. หลังจากเปิดบริการแล้วคุณจะเห็นเครื่องมือฐานข้อมูลในบานหน้าต่างด้านขวา “ MSSQLSERVER” เป็นอินสแตนซ์ที่ไม่มีชื่อเริ่มต้น อินสแตนซ์เริ่มต้นสามารถเป็นได้เพียงหนึ่งรายการ
  2. ในกรณีของ “ SQL Express” อินสแตนซ์เริ่มต้นจะเป็น “ SQLEXPRESS” เว้นแต่จะมีคนเปลี่ยนชื่อระหว่างการติดตั้ง
  3. ตรวจสอบว่าอินสแตนซ์ที่คุณพยายามเชื่อมต่อมีชื่อเดียวกับที่ระบุในบริการหรือไม่
  4. นอกจากนี้ให้ตรวจสอบว่าสถานะของอินสแตนซ์เป็นอย่างไร 'วิ่ง' .
  5. ยิ่งไปกว่านั้นหากคุณพยายามเชื่อมต่อกับชื่อทันทีให้ตรวจสอบอีกครั้งว่า “ บริการ SQL Server Browser” กำลังทำงานอยู่ ดังนั้นคุณต้องตรวจสอบว่าไฟล์ “ บริการ SQL Server Browser” เริ่มทำงานบนเซิร์ฟเวอร์ที่ติดตั้ง SQL Server
  6. ในกรณีที่เอ็นจินฐานข้อมูลไม่ทำงานคุณต้องรีสตาร์ท เพื่อเริ่มต้น “ เครื่องมือฐานข้อมูล” ในบานหน้าต่างด้านขวาคลิกขวาที่ไฟล์ “ Database Engine” (“ MSSQLSERVER” ค่าเริ่มต้น) แล้วคลิก “ เริ่ม” .

ตรวจสอบว่า“ บริการ SQL Server Browser” ทำงานอยู่หรือไม่

ขั้นตอนที่ 2. รับที่อยู่ IP ของคอมพิวเตอร์

ให้ทำตามขั้นตอนต่อไปนี้

  1. ก่อนอื่นจากเมนูเริ่มคลิก 'วิ่ง' และพิมพ์ “ cmd” แล้วกด ตกลง .
  2. ใน พร้อมรับคำสั่ง ประเภทหน้าต่าง “ ipconfig” และจดบันทึก IPV4 และ ที่อยู่ IPV6 . คนส่วนใหญ่ใช้ ที่อยู่ IPV4

รับที่อยู่ IPv4

ขั้นตอนที่ 3. รับหมายเลขพอร์ต TCP ที่ใช้โดยเซิร์ฟเวอร์ SQL

ทำตามขั้นตอนต่อไปนี้เพื่อรับหมายเลขพอร์ต TCP ที่ใช้โดยเซิร์ฟเวอร์ SQL

  1. การใช้ “ สตูดิโอจัดการเซิร์ฟเวอร์ SQL” ( SSMS) เชื่อมต่อกับอินสแตนซ์ของเซิร์ฟเวอร์ SQL
  2. จาก “ นักสำรวจวัตถุ” ขยาย “ การจัดการ” , ขยาย “ บันทึกเซิร์ฟเวอร์ SQL” และคลิกที่บันทึกปัจจุบันที่คุณต้องใช้ตัวกรอง
  3. ในการใช้ filer คลิกใช้ตัวกรองและพิมพ์ ” เซิร์ฟเวอร์กำลังฟังอยู่” ในข้อความมีกล่องข้อความ คลิกใช้ตัวกรองแล้วกดตกลง

    กำลังใช้ตัวกรอง 'เซิร์ฟเวอร์กำลังฟังอยู่'

  4. ข้อความเช่น “ เซิร์ฟเวอร์กำลังรับฟังบน ['any' 1433] ' ควรจะแสดง ข้อความแสดงว่าอินสแตนซ์ SQL Server กำลังรับฟังบนคอมพิวเตอร์ทุกเครื่องที่มี ที่อยู่ IP IPv4 และ พอร์ต TCP คือ 1433 (ค่าเริ่มต้น) .
  5. สำหรับพอร์ต TCP มากกว่าหนึ่งอินสแตนซ์จะแตกต่างกันสำหรับแต่ละอินสแตนซ์

    ข้อความที่แสดงว่าเซิร์ฟเวอร์กำลังรับฟังบน IPv4 และพอร์ต 1433

  6. หากไม่ใช่กรณีให้คลิก 'ทุกโปรแกรม' ชี้ไปที่เครื่องมือกำหนดค่าเซิร์ฟเวอร์ MS SQL “ การจัดการการกำหนดค่าเซิร์ฟเวอร์ SQL” แล้วคลิกขวา “ TCP IP” และคลิกเปิดใช้งานและรีสตาร์ทเซิร์ฟเวอร์ SQL เพื่อให้การเปลี่ยนแปลงสร้างผลกระทบ

วิธีที่ 2: การเปิดใช้งานโปรโตคอลสำหรับพอร์ต 1433

การเชื่อมต่อกับไฟล์ “ เครื่องมือฐานข้อมูล” จากคอมพิวเตอร์เครื่องอื่นไม่ได้รับอนุญาตในหลาย ๆ “ เซิร์ฟเวอร์ SQL” การใช้งานเว้นแต่ผู้ดูแลระบบจะใช้ “ เครื่องมือจัดการการกำหนดค่า” เพื่ออนุญาต ควรทำตามขั้นตอนต่อไปนี้เพื่อดำเนินการนี้

  1. คลิกที่ 'เมนูเริ่มต้น' แล้วชี้ไปที่ 'ทุกโปรแกรม'
  2. ชี้ไปที่ “ SQL Server 2008 R2”
  3. ชี้ไปที่ “ เครื่องมือกำหนดค่า” และหลังจากคลิกนี้ “ ตัวจัดการการกำหนดค่าเซิร์ฟเวอร์ SQL” .
  4. ขยาย“ การกำหนดค่าเครือข่ายเซิร์ฟเวอร์ SQL”
  5. เลือก“ โปรโตคอล สำหรับเซิร์ฟเวอร์ MSSQL” . คลิกที่ “ TCP IP” ในแผงด้านขวา

    การเปิด“ แท็บโปรโตคอล”

  6. ในแท็บ 'มาตรการ' ตั้งค่าเปิดใช้งานเป็น 'ใช่' .
  7. เลือก “ แท็บที่อยู่ IP” จากหน้าต่างและตั้งค่า“ พอร์ต TCP” เท่ากับ ' 1433″ ใน “ IP ทั้งหมด” รายการ.

    ตั้งค่าหมายเลขพอร์ตใน“ แท็บที่อยู่ IP”

  8. ตอนนี้รีสตาร์ทเอ็นจินฐานข้อมูลเพื่อทำการเปลี่ยนแปลงออกจากผลกระทบ ในการดำเนินการนี้จากบานหน้าต่างด้านซ้ายให้เลือกบริการเซิร์ฟเวอร์ SQL จากนั้นจากบานหน้าต่างด้านขวาคลิกขวาที่อินสแตนซ์เครื่องมือฐานข้อมูลแล้วกด 'เริ่มต้นใหม่' .

วิธีที่ 3: สร้างข้อยกเว้นไฟร์วอลล์

บางครั้งไฟร์วอลล์ Windows จะเปิดและบล็อกลิงก์จากคอมพิวเตอร์เครื่องอื่น ในการแก้ไขให้ทำตามขั้นตอนเหล่านี้

  1. คลิก 'เริ่ม' และเริ่มพิมพ์ “ Firewall.cpl” ในกล่องรัน

    การเปิด“ Firewall.cpl”

  2. คุณจะได้รับ 'กรอบการกำหนดค่า' สำหรับ Windows Firewall โดยเรียกใช้ไฟล์ “ firewall.cpl” คำสั่ง คุณอาจเปิดไฟร์วอลล์ 'เปิดปิด' โดยมีการใช้ข้อยกเว้นและการตั้งค่าอื่น ๆ ที่นี่ ตรวจสอบสถานะไฟร์วอลล์และเปิดเพื่อเปิดใช้งานหากไฟร์วอลล์ปิดอยู่ หากคุณเพิ่งเปิดใช้งานไฟร์วอลล์ของคุณจะบล็อกคำขอเชื่อมต่อ“ SQL Server” กับคอมพิวเตอร์ของคุณ ณ จุดนี้ คุณจะต้องกำหนดค่าไฟร์วอลล์เพื่ออนุญาตการเข้าถึงเอ็นจินฐานข้อมูล SQL Server ด้วยการสร้างข้อยกเว้นบางประการ
  3. คลิกที่ 'การตั้งค่าขั้นสูง'

    คลิกที่ตัวเลือกการตั้งค่าขั้นสูงเพื่อเปิดกฎไฟร์วอลล์

  4. เราจำเป็นต้องเรียนรู้เกี่ยวกับพอร์ตที่ใช้สำหรับ“ เซิร์ฟเวอร์ SQL ' และ ' เบราว์เซอร์เซิร์ฟเวอร์ SQL ” เมื่อจัดการกับการกำหนดค่าไฟร์วอลล์“ SQL Server” ทั้งสองมีส่วนร่วมในการจัดตั้ง“ ไฟร์วอลล์ ” สำหรับ “ เซิร์ฟเวอร์ SQL” . ดังนั้นจึงจำเป็นต้องแยกกันผ่านทั้งสองแนวคิด
  5. คุณอาจอนุญาตหรือบล็อกการจราจรความพยายามที่พบกันที่ข้อกำหนดในที่กฎถึงเข้าไปที่คอมพิวเตอร์.โดยค่าเริ่มต้น “ ขาเข้า การจราจร” คือปิดกั้นคุณความต้องการถึงสร้าง “ ขาเข้า กฎ” ถึงอนุญาตการจราจรถึงไปถึงคอมพิวเตอร์.แตะที่ขาเข้ากฎจากที่ซ้ายขนมปังของที่ “ Windowsไฟร์วอลล์ด้วยขั้นสูง ความปลอดภัย ” แล้วคลิกที่ใหม่กฎจากที่ “ การดำเนินการ” หน้าต่าง.

    การเลือกกฎใหม่จากหน้าต่าง 'การดำเนินการ'

  6. เลือก“ ท่าเรือ 'ภายใต้“ กฎ ประเภท 'และกด ' ต่อไป' ปุ่ม

    กำลังเลือกตัวเลือก 'พอร์ต'

  7. ตอนนี้เลือก “ พอร์ตท้องถิ่นเฉพาะ” และตั้งค่าเป็น 1433

    ตั้งค่า 'พอร์ตเฉพาะในเครื่อง' เป็น 1433

  8. ตอนนี้เลือก “ อนุญาตที่ การเชื่อมต่อ” ในที่ 'หนังบู๊' ไดอะล็อกและกดที่ต่อไปปุ่ม

    เลือก“ อนุญาตการเชื่อมต่อ”

  9. ให้ที่กฎถึง ' หัวข้อ' บนนี้เวทีและกดที่“ เสร็จสิ้น' ปุ่ม.

    ตั้งชื่อให้กับกฎ

  10. เลือก“ กฎที่กำหนดเอง” จาก “ กฎใหม่” แท็บ

    เลือก 'กฎที่กำหนดเอง' จากแท็บ 'กฎใหม่'

  11. คลิก “ ปรับแต่ง”

    คลิก 'ปรับแต่ง'

  12. เลือก“ ฐานข้อมูลเครื่องยนต์ตัวอย่าง บริการ' จากที่ “ ปรับแต่งบริการ การตั้งค่า” ภายใต้ “ สมัครถึงนี้ บริการ' และคลิกที่ 'ตกลง' ปุ่ม

    เลือก“ Database Engine Instance Service” จาก“ Customize Service Settings” ใต้“ Apply to this service” แล้วคลิกปุ่ม“ OK”

  13. ตั้งชื่อกฎแล้วคลิกเสร็จสิ้น

    ตั้งชื่อให้กับกฎใหม่

  14. ยังเพิ่ม “ sqlservr.exe” โดยทั่วไปจะอยู่ใน “ C: Program Files (x86) Microsoft SQL Server MSSQL.x MSSQL Bin” (หรือตรวจสอบเส้นทางโฟลเดอร์จริงของคุณ) ไปยังเส้นทางตรวจสอบการติดตั้งของคุณสำหรับเส้นทางโฟลเดอร์จริง) และพอร์ตที่มีค่าเริ่มต้นคือ '1433' . ตรวจสอบสตริงการเชื่อมต่อของคุณด้วย

วิธีที่ 4: ตรวจสอบการเชื่อมต่อภายใน

หนึ่งในสาเหตุของข้อผิดพลาดนี้คือหากเราระบุชื่อเซิร์ฟเวอร์ผิดจะทำให้เกิดข้อผิดพลาด ดังที่เห็นในรูปด้านล่างชื่อเซิร์ฟเวอร์ที่ระบุคือ “ เดสก์ท็อป UD88TLT1” ในขณะที่ชื่อเซิร์ฟเวอร์ที่ถูกต้องคือ “ เดสก์ท็อป - UD88TLT” . ดังนั้นจะไม่สามารถเชื่อมต่อกับเซิร์ฟเวอร์ซึ่งจะส่งผลให้เกิดข้อผิดพลาด “ ไม่สามารถเชื่อมต่อกับเซิร์ฟเวอร์” . นี่เป็นสาเหตุพื้นฐานที่สุดสำหรับข้อผิดพลาดดังนั้นเราควรตรวจสอบก่อนว่าทำงานในพื้นที่หรือไม่

ข้อผิดพลาดเกิดขึ้นขณะเชื่อมต่อกับเซิร์ฟเวอร์ SQL ภายในเครื่องด้วยชื่อเซิร์ฟเวอร์ที่ไม่ถูกต้องในกรณีที่คุณใช้ express edition ตามชื่อเซิร์ฟเวอร์ของคุณให้เพิ่ม “ SQLEXPRESS” ดังที่เห็นในรูปด้านล่าง

เชื่อมต่อกับเซิร์ฟเวอร์ SQL ในเครื่องขณะใช้งานรุ่นด่วน

อ่าน 5 นาที