ไม่สามารถเชื่อมต่อจากระยะไกลผ่าน SQL Server Management Studio


13

ฉันตั้งค่าอินสแตนซ์ของ SQL Server 2008 Express บน Windows Server 2008 เฉพาะที่โฮสต์โดย 1and1.com ฉันไม่สามารถเชื่อมต่อระยะไกลกับเซิร์ฟเวอร์ผ่านสตูดิโอการจัดการ ฉันได้ทำตามขั้นตอนต่อไปนี้แล้วและอยู่เหนือความคิดอื่นใดเพิ่มเติม ฉันได้ค้นคว้าเว็บไซต์และไม่สามารถหาสิ่งอื่นได้ดังนั้นโปรดยกโทษให้ฉันหากฉันพลาดสิ่งที่เห็นได้ชัด แต่ฉันกำลังจะบ้า นี่คือการลดลง

อินสแตนซ์ SQL Server กำลังทำงานและทำงานได้อย่างสมบูรณ์แบบเมื่อทำงานในพื้นที่

ใน Studio จัดการเซิร์ฟเวอร์ SQL ฉันได้ทำเครื่องหมายที่กล่อง "อนุญาตการเชื่อมต่อระยะไกลไปยังเซิร์ฟเวอร์นี้"

ฉันได้ลบการตั้งค่าไฟร์วอลล์ฮาร์ดแวร์ภายนอกจากแผงควบคุม 1and1 แล้ว

ไฟร์วอลล์ Windows บนเซิร์ฟเวอร์ถูกปิดใช้งาน แต่สำหรับ kicks ฉันเพิ่มกฎขาเข้าที่อนุญาตให้เชื่อมต่อกับพอร์ต 1433 ทั้งหมด

ในการกำหนดค่า SQL Native Client เปิดใช้งาน TCP / IP ฉันยังแน่ใจว่า "IP1" ที่มีที่อยู่ IP ของเซิร์ฟเวอร์มี 0 สำหรับพอร์ตแบบไดนามิก แต่ฉันลบและเพิ่ม 1433 ในฟิลด์พอร์ต TCP ปกติ ฉันยังตั้งค่าพอร์ต TCP "IPALL" เป็น 1433

ในการกำหนดค่าไคลเอ็นต์ดั้งเดิมของ SQL เบราว์เซอร์เซิร์ฟเวอร์ SQL จะทำงานด้วยและ

ฉันยังลองเพิ่ม ALIAS ใน

ฉันรีสตาร์ทเซิร์ฟเวอร์ SQL หลังจากฉันตั้งค่านี้

การทำ "netstat -ano" บนเครื่องเซิร์ฟเวอร์จะคืนค่า a

TCP 0.0.0.0:1433 LISTENING UDP 0.0.0.0:1434 LISTENING

ฉันทำการสแกนพอร์ตจากคอมพิวเตอร์ของฉันและมันบอกว่าพอร์ตนั้นถูกกรองแทนที่จะเป็น LISTENING ฉันพยายามเชื่อมต่อจากสตูดิโอการจัดการในเครื่องของฉันและมันกำลังโยนข้อผิดพลาดการเชื่อมต่อ ลองชื่อเซิร์ฟเวอร์ต่อไปนี้ด้วย SQL Server และ Windows Authentication ที่ทำเครื่องหมายไว้ในความปลอดภัยฐานข้อมูล

IPADDRESS \ SQLEXPRESS, 1433

IPADDRESS \ SQLEXPRESS

ที่อยู่ IP

IPADDRESS, 1433

TCP: IPADDRESS \ SQLEXPRESS

TCP: IPADDRESS \ SQLEXPRESS, 1433


ฉันพนันได้เลยว่ามีข้อมูลเพียงพอในคำตอบเพื่อแก้ไขปัญหานี้อย่างสมบูรณ์ แจ้งให้เราทราบว่าคุณติดอยู่ที่ไหน
djangofan

คำตอบ:


5

ฉันคิดว่าฉันสามารถบอกคุณได้อย่างชัดเจนว่าปัญหาคืออะไรฉันใช้เวลา 48 ชั่วโมงในการจัดเรียงสิ่งนี้ ไม่พบสิ่งใดบนอินเทอร์เน็ต ยังเกิดขึ้นกับ 1and1

ดูการตั้งค่าเหล่านี้:

นโยบายความปลอดภัยของ IP

ซึ่งเปิดกล่อง ............... คุณสมบัติตัวกรองแพ็คเก็ตใกล้กับด้านล่างของรายการมีช่องที่ถูกเรียกว่า:

'ปิด MSDE (TCP / UDP)' (ฉันกำลังสันนิษฐานว่า MSDE = โปรแกรมฐานข้อมูล Microsoft SQL ใช่ไหม) เลือกแก้ไขกด ...

กล่องที่เปิด ............... แก้ไขคุณสมบัติของกฎเลือก (อีกครั้ง) >> 'ปิด MSDE (TCP / UDP)' กดแก้ไข ...

ซึ่งเปิดกล่อง ................ รายการตัวกรอง IP จากนั้นคุณจะเห็นรายการพอร์ต tcp 1433, udp 1434 {นั่นคือรายการของพอร์ตทั้งหมดของเราตามกฎการบล็อก ... .. }

ฉันคิดว่าสิ่งที่ต้องทำจากที่นี่ก็คือ ....

ปิดหน้าจอนั้น .. ตัวกรอง IP รายการบนหน้าจอแก้ไขคุณสมบัติกฎมีแท็บตัวกรองการกระทำสามารถเปลี่ยนสิ่งนั้นจากบล็อกเป็นใบอนุญาตได้หรือไม่ (อาจเปลี่ยนเป็นอนุญาตจะทำให้เราติ๊กตัวเลือก "Block All" อีกครั้ง - ซึ่งฟังดูปลอดภัยกว่า แต่ฝ่ายสนับสนุนกล่าวว่ามีข้อผิดพลาดที่ทราบดังนั้นอาจไม่ทำงาน)

หรือ

บนคุณสมบัติตัวกรองแพ็คเก็ต

เพียงยกเลิกการเลือกกฎ 'ปิด MSDE (TCP / UDP)'

คุณอาจต้องยกเลิกการเลือกกฎ "บล็อกทั้งหมด" เพื่อให้ทำงานได้

อาจเป็นไปได้ว่าการมาสายนี้จะช่วยคุณ แต่หวังว่าจะช่วยคนอื่นในเรื่องเดียวกัน


1
ขอขอบคุณ! นั่นคือสิ่งที่เป็นปัญหา! คุณเป็นอัจฉริยะขอบคุณที่โพสต์ข้อความนั้น ฉันจะทำเครื่องหมายว่าเป็นคำตอบ แต่ไม่มีคะแนนชื่อเสียงใด ๆ (ลงชื่อสมัครใช้ accouont เพียงเพื่อขอบคุณ)

ฉันประหลาดใจที่การตั้งค่า windows เหล่านั้นอ้างถึง SQL 2008 เป็น "MSDE" นั่นคือชื่อโรงเรียนที่เก่าแก่มากสำหรับเซิร์ฟเวอร์ sql express
djangofan

3
สวัสดีฉันพบข้อผิดพลาดประเภทเดียวกันและฉันไม่พบหน้าเว็บที่เราสามารถเปลี่ยนการตั้งค่าเหล่านี้ได้ คุณสามารถให้ลิงค์หรือภาพที่แสดงการตั้งค่าได้หรือไม่?
Vivekh

คุณสมบัติเหล่านี้อยู่ที่ไหนกันแน่?
Alisson

5

อันดับแรกในสตูดิโอการจัดการตรวจสอบการจัดการเซิร์ฟเวอร์บันทึก sql ปัจจุบัน - คุณต้องการค้นหาข้อความที่ระบุว่า 'เซิร์ฟเวอร์กำลังฟัง [' ใด ๆ '1433] ถ้าไม่ใช่ให้ไปที่เริ่มต้นโปรแกรมทั้งหมด, SQL Server 2008, เครื่องมือกำหนดค่า, ตัวจัดการการกำหนดค่าเซิร์ฟเวอร์ sql เลือก 'การกำหนดค่าเครือข่ายเซิร์ฟเวอร์ sql \ protocols สำหรับ MSSQLServer \ SQLExpress' ตรวจสอบให้แน่ใจว่าเปิดใช้งาน TCP / IP แล้ว ควรขึ้นอยู่กับผลลัพธ์ของ netstat -ano แต่ ...

สิ่งที่สำคัญที่สุด - จากลูกค้าระยะไกลคุณได้ลองเข้าสู่ระบบผ่าน

sqlcmd -S1.2.3.4\SQLExpress -U sa -P Password
?


นี่คือสิ่งที่ทำให้ฉันแก้ไขปัญหาที่คล้ายกันมาก ชุดความปลอดภัยที่เราติดตั้งแบบสุ่มพอร์ต SQL Server ไปยังพอร์ตช่วงสูง 50000 ปรากฏขึ้นในบันทึก เมื่อเราเปิดขึ้นและเชื่อมต่อกับพอร์ตนี้เราจะไม่มีวันคาดเดาได้เรามาขอบคุณ
Chris Moschini

1

คุณสามารถลอง www.firebind.com สามารถทดสอบว่ามีพอร์ต TCP 1433 บล็อกใด ๆ ในทิศทางขาออกไปยัง 1 และ 1

http://www.firebind.com/1433จะทดสอบทันที


1

ฉันปวดหัวเหมือนกันกับการเชื่อมต่อกับ SSMS จากพีซีไคลเอนต์ไปยัง SQL Server ระยะไกล ดูเหมือนว่าไฟร์วอลล์ท้องถิ่นจะบล็อกการเชื่อมต่อเซิร์ฟเวอร์ขาเข้า ปัญหาได้รับการแก้ไขโดยการกำหนดกฎขาเข้าสำหรับ SSMS สำหรับไฟร์วอลล์พีซีไคลเอนต์ ที่เดียวที่ฉันพบวิธีทำคือhttps://msdn.microsoft.com/en-us/library/cc646024(v=sql.120).aspx

1. ใน Windows Firewall ที่มีการรักษาความปลอดภัยขั้นสูงในบานหน้าต่างด้านซ้ายคลิกขวากฎขาเข้าแล้วเลือกกฎใหม่ในบานหน้าต่างการกระทำ

2. ในกล่องโต้ตอบประเภทกฎเลือกโปรแกรมแล้วคลิกถัดไป

3. ในกล่องโต้ตอบโปรแกรมให้เลือกเส้นทางของโปรแกรมนี้และสำหรับ SQL Server Management Studio ให้ป้อนเส้นทางแบบเต็มไปยัง ssms.exe โดยค่าเริ่มต้นจะมีการติดตั้งในC: \ Program Files (x86) \ Microsoft SQL Server \ 120 \ Tools \ Binn \ Management Studio \ ssms.exe

สิ่งนี้ช่วยฉัน หวังว่าคุณเช่นกัน


0

คุณสามารถ telnet ไปยังพอร์ต 1433 จากเวิร์กสเตชันของคุณได้หรือไม่? นี่เป็นวิธีที่ง่ายในการตรวจสอบว่าคุณมีการเชื่อมต่อเครือข่ายในพอร์ตนั้นหรือไม่ อาจเป็นไปได้ว่าผู้ให้บริการของคุณกำลังบล็อกการเชื่อมต่อกับอุปกรณ์ของพวกเขาอยู่ที่ไหนสักแห่งในสาย

ความจริงที่ว่าคุณเห็นพอร์ตในขณะที่ตัวกรองทำให้ฉันคิดว่าพวกเขากำลังบล็อกบางแห่งในบรรทัด คุณอาจต้องการตรวจสอบกับพวกเขาเนื่องจากพวกเขาอาจไม่ต้องการอนุญาตให้เซิร์ฟเวอร์ SQL เชื่อมต่อจากระยะไกลหรือบล็อกพอร์ตที่รู้จักกันดี tcp / 1433 เป็นพอร์ตที่รู้จักกันดีและมีเวิร์มที่เกี่ยวข้องกับ SQL Server บางตัวที่กำหนดเป้าหมายโดยตรง


0

พิมพ์ 'netstat -an' บนเครื่องเซิร์ฟเวอร์เพื่อดูว่าพอร์ต 1433 ใช้งานได้จริงหรือไม่ ตรวจสอบให้แน่ใจว่าเปิดใช้งานบัญชีผู้ใช้ที่คุณใช้อยู่และ "การรับรองความถูกต้องของ SQL" ดูแลการตั้งค่า "ตัวจัดการการกำหนดค่า SQL" ด้วย นอกจากนี้อนุญาตให้พอร์ต 1433 เป็นข้อยกเว้นในไฟร์วอลล์ WIndows ของคุณ โดยทั่วไปหากคุณยังไม่ได้แจ้งให้เซิร์ฟเวอร์ SQL อนุญาตการเชื่อมต่อระยะไกลจะไม่เกิดขึ้น


ตามที่กล่าวไว้ในคำถาม "การทำ" netstat -ano "บนเครื่องเซิร์ฟเวอร์ส่งคืน TCP 0.0.0.0:1433 การรับฟัง UDP 0.0.0.0:1434 การรับฟัง" ตามที่กล่าวไว้ในคำถาม "ใน SQL Server Management Studio ฉันมี ทำเครื่องหมายที่ช่อง "อนุญาตการเชื่อมต่อระยะไกลไปยังเซิร์ฟเวอร์นี้" ตามที่กล่าวถึงในคำถามการตั้งค่าตัวจัดการการกำหนดค่า sql ถูกเปิดใช้งานตามที่กล่าวถึงในคำถามไฟร์วอลล์ Windows จะถูกปิดใช้งาน
FAtBalloon

หากเป็นอินสแตนซ์ SQL แบบรีโมตคุณจะจัดการคำสั่ง netstat อย่างไร ฉันแค่บอกว่าดูเหมือนว่าคุณกำลังสับสนอินสแตนซ์ระยะไกลกับอินสแตนซ์ในท้องถิ่น
djangofan

0

ตัวแทนเซิร์ฟเวอร์ SQL กำลังทำงานอยู่หรือไม่ ถ้าไม่ใช่คุณมี SQL server รุ่นใด

ตรวจสอบความแตกต่างระหว่างรุ่นต่าง ๆ
http://www.microsoft.com/sqlserver/2008/en/us/editions-compare.aspx

หากคุณมี Express Edition หรือ Web edition พวกเขาจะถูกปิดใช้งานและไม่สามารถเรียกใช้


ตามที่ระบุไว้ SQL Server 2008 Express เป็นเวอร์ชัน เอเจนต์เซิร์ฟเวอร์ SQL ไม่ใช่ข้อกำหนดในการเรียกใช้การเชื่อมต่อระยะไกล
FAtBalloon

คุณต้องอัปเกรดเศร้าถ้าคุณต้องการคุณสมบัตินี้
Embreau

นี่ไม่เป็นความจริง. การเชื่อมต่อระยะไกลมีให้บริการในรุ่นด่วนปี 2008

0

ไอเดียสุดยอดชื่อผู้ใช้และรหัสผ่านของคุณถูกต้องไหม? คุณลงชื่อเข้าใช้ด้วยการรับรองความถูกต้องของ Windows หรือ SQL Server หรือไม่


0

มองหาความสัมพันธ์บน SQL-Express ของคุณ เปิดใช้งาน TCP / IP ตรวจสอบให้แน่ใจว่าพอร์ตถูกกำหนดค่าเป็น 1433 บน SQL-Express คุณติดตั้งอินสแตนซ์ที่มีชื่อหรือไม่?

พอร์ตนี้จะต้องถูกส่งต่อที่ 1 และ 1 ไปยังอินสแตนซ์ของเซิร์ฟเวอร์ SQL ของคุณ

โดยวิธีการตรวจสอบเว็บไซต์ของคุณเกี่ยวกับพอร์ต 1433 หากผู้ให้บริการของคุณบล็อกมันคุณไม่มีโอกาส


0

อะไรที่เหมาะกับฉัน:

http://blogs.msdn.com/b/sqlexpress/archive/2005/05/05/415084.aspx

ฉันพบว่าการกำหนดพอร์ตที่ต้องการในส่วน IPALL ของการตั้งค่า TCP / IP นั้นเป็นปัญหา ก่อนหน้านี้มันว่างเปล่าและฉันไม่คิดว่าฉันจะต้องป้อนค่าที่นี่เมื่อฉันไปลบบิต "ไดนามิกพอร์ต"

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.