ไคลเอ็นต์ sql Server อาจเปลี่ยนโพรโทคอลเมื่อไคลเอ็นต์คอมพิวเตอร์ที่คุณได้พยายามเชื่อมต่อกับอินสแตนซ์ของ SQL Server

การแปลบทความ การแปลบทความ
หมายเลขบทความ (Article ID): 328383 - ผลิตภัณฑ์ที่เกี่ยวข้องในบทความนี้
ขยายทั้งหมด | ยุบทั้งหมด

เนื้อหาบนหน้านี้

สรุป

ไคลเอ็นต์คอมพิวเตอร์ที่มี Microsoft Data Access คอมโพเนนต์ (MDAC) เวอร์ชัน 2.6 หรือรุ่นใหม่ กว่า สามารถลองหลายโพรโทคอลหรือกลไกการสื่อสาร Interprocess (IPC) เพื่อสร้างการเชื่อมต่อกับ SQL Server

ข้อมูลเพิ่มเติม

การเพิ่มประสิทธิภาพได้ถูกทำราไคลเอ็นต์ด้านเครือข่ายรี Dbnetlib.dll สำหรับ MDAC เวอร์ชัน 2.6 และรุ่นที่ใหม่กว่า ด้วย MDAC รโต 2.6 และรุ่นที่ใหม่ กว่า ถ้าหลายรุ่นมีพร้อมใช้งาน ล้มเหลวของความพยายามในการเชื่อมต่อกับโพรโทคอลแรก แอพลิเคชันไคลเอนต์ทันทีพยายามที่จะใช้โปรโตคอลอื่น ๆ อย่างใดอย่างหนึ่ง

โดยค่าเริ่มต้น ไคลเอนต์มี TCP และเนมไปป์เป็นโพรโทคอลที่มีอยู่ คุณสามารถจัดการโพรโทคอลในการสั่งซื้อ โดยใช้โปรแกรมอรรถประโยชน์ของไคลเอ็นต์ของ SQL Server แอพลิเคชันไคลเอนต์ใช้โพรโทคอลที่ในใบสั่งระบุไว้ในคอมพิวเตอร์ไคลเอนต์ ใบสั่งโพรโทคอลที่ถูกเก็บไว้ในการรีจิสทรีคีย์ตำแหน่งต่อไปนี้ภายใต้ค่าProtocolOrder:
HKLM\Software\Microsoft\MSSQLServer\Client\SuperSocketNetLib

ถ้าคุณใช้ SQL Server 2005 ใบสั่งโพรโทคอลที่เก็บอยู่ในนั้นProtocolOrderรายการรีจิสทรีภายใต้คีย์ย่อยของรีจิสทรีต่อไปนี้:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Client\SNI9.0


ตัวอย่างเช่น ถ้าคอมพิวเตอร์แบบไคลเอ็นต์มีทั้ง TCP และ เนมไปป์อยู่ และใบสั่ง เป็น:
  • TCP
  • เนมที่มีชื่อ
เมื่อไคลเอ็นต์คอมพิวเตอร์ที่คุณได้พยายามทำการเชื่อมต่อ TCP ไปยังเซิร์ฟเวอร์ และความพยายามในการเชื่อมต่อส่งกลับรหัสการส่งคืนสินค้าไม่ใช่ศูนย์ ไคลเอนต์ transparently พยายามเชื่อมต่อ โดยใช้โพรโทคอลถัดไปในรายการ ซึ่งก็คือเนมไปป์ ในสถานการณ์สมมตินี้ ไคลเอ็นต์ไม่สามารถทำการเชื่อมต่อ TCP ทำอย่างไรก็ตาม ไคลเอ็นต์เสร็จเรียบร้อยแล้วให้มีการเชื่อมต่อผ่านเนมไปป์

หมายเหตุ:ไคลเอ็นต์ไม่ได้รับข้อผิดพลาดที่ระบุล้มเหลวของโพรโทคอลแรก

ถ้าแอพลิเคชันไคลเอนต์ใช้โพรโทคอลสอง และจะส่งกลับข้อผิดพลาดยัง ข้อผิดพลาดถูกส่งกลับไปยังไคลเอนต์

ถ้าคุณทำการนามแฝง โดยใช้วิธีการต่อไปนี้อย่างใดอย่างหนึ่ง แอพลิเคชันไคลเอนต์ใช้รายละเอียดของนามแฝงในการสร้างการเชื่อมต่อกับเซิร์ฟเวอร์ และไม่สามารถใช้โพรโทคอลเพิ่มเติมใด ๆ
  • โดยใช้โปรแกรมอรรถประโยชน์ของเครือข่ายของไคลเอ็นต์เซิร์ฟเวอร์ SQL
  • โดยใช้ตัวจัดการการตั้งค่าคอนฟิกการเซิร์ฟเวอร์ของ SQL (SQL Server 2005)
  • เมื่อคุณสร้างข้อ ODBC ชื่อแหล่งข้อมูล (DSN)
ถ้าคุณต้องการควบคุมโพรโทคอลที่โปรแกรมประยุกต์ไคลเอ็นต์ที่ใช้สำหรับความพยายามในการเชื่อมต่อทุก และไม่อนุญาตให้ไคลเอนต์ให้ลองใช้โพรโทคอลหลาย คุณสามารถทำวิธีใดวิธีหนึ่งต่อไปนี้:
  • ใช้โปรแกรมอรรถประโยชน์ของเครือข่ายไคลเอ็นต์ SQL หรือโปรแกรมจัดการการตั้งค่าคอนฟิกเซิร์ฟเวอร์ SQL จะสร้างนามแฝง โดยระบุโพรโทคอลที่คุณต้องการ
  • ระบุโพรโทคอลในสายอักขระการเชื่อมต่อของคุณ ตัวอย่าง::
    "DSN=DSNName;SERVER=servername;DATABASE=YourDataBaseName;Network=DBMSSOCN;Address=IP_Address,1433;UID=YourUID;PWD=YourPassword;"
    ในตัวอย่างนี้ คุณสามารถระบุโพรโทคอลเครือข่ายได้เป็น "DBMSSOCN" ซึ่งหมายความ ว่า คุณต้องการใช้โพรโทคอล TCP/IP หากคุณระบุโพรโทคอลภายในสายอักขระการเชื่อมต่อของคุณ Dbnetlib ใช้โพรโทคอลที่ระบุเท่านั้น และไม่ลองคออื่น ๆ ในทำนองเดียวกัน การเปิดใช้งานโพรโทคอไปป์ Pipe เฉพาะ ใช้สายอักขระเชื่อมต่อเหมือนกับข้อความนี้:
    "DSN=DSNName;SERVER=servername;DATABASE=YourDataBaseName;Network=DBNMPNTW;Address=\\.\pipe\sql\query;UID=YourUID;PWD=YourPassword;"
  • ใช้โปรแกรมอรรถประโยชน์ของเครือข่ายไคลเอนต์เพื่อเอาโปรโตคอลอื่น ๆ

อ้างอิง:

SQL Server หนังสือออนไลน์ หัวข้อ: "โปรแกรมอรรถประโยชน์ของเครือข่ายของไคลเอ็นต์เซิร์ฟเวอร์ SQL"

คุณสมบัติ

หมายเลขบทความ (Article ID): 328383 - รีวิวครั้งสุดท้าย: 13 มกราคม 2554 - Revision: 5.0
ใช้กับ
  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft Data Access Components 2.6
  • Microsoft Data Access Components 2.7
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL 2005 Server Enterprise
  • Microsoft SQL Server 2005 Express Edition
  • Microsoft SQL 2005 Server Workgroup
Keywords: 
kbinfo kbmt KB328383 KbMtth
แปลโดยคอมพิวเตอร์
ข้อมูลสำคัญ: บทความนี้แปลโดยซอฟต์แวร์การแปลด้วยคอมพิวเตอร์ของ Microsoft แทนที่จะเป็นนักแปลที่เป็นบุคคล Microsoft มีบทความที่แปลโดยนักแปลและบทความที่แปลด้วยคอมพิวเตอร์ เพื่อให้คุณสามารถเข้าถึงบทความทั้งหมดในฐานความรู้ของเรา ในภาษาของคุณเอง อย่างไรก็ตาม บทความที่แปลด้วยคอมพิวเตอร์นั้นอาจมีข้อบกพร่อง โดยอาจมีข้อผิดพลาดในคำศัพท์ รูปแบบการใช้ภาษาและไวยากรณ์ เช่นเดียวกับกรณีที่ชาวต่างชาติพูดผิดเมื่อพูดภาษาของคุณ Microsoft ไม่มีส่วนรับผิดชอบต่อความคลาดเคลื่อน ความผิดพลาดหรือความเสียหายที่เกิดจากการแปลเนื้อหาผิดพลาด หรือการใช้บทแปลของลูกค้า และ Microsoft มีการปรับปรุงซอฟต์แวร์การแปลด้วยคอมพิวเตอร์อยู่เป็นประจำ
ต่อไปนี้เป็นฉบับภาษาอังกฤษของบทความนี้:328383

ให้ข้อเสนอแนะ

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com