ผู้ดูแลระบบเพียงคนเดียวเท่านั้นที่สามารถเชื่อมต่อได้ในขณะนี้ (MS SQL Server 18461 error)


14

ฉันกำลังทดลองผลของการให้ SQL Server มีหน่วยความจำเพียงเล็กน้อยที่ฉันคิดว่ามันกำลังจะกู้คืน

ฉันกำหนดค่า SQL Server ให้ใช้หน่วยความจำ 200MB ในขณะนี้ไม่ต้องการเริ่มต้นฉันค้นหาบางอย่างบนอินเทอร์เน็ตและฉันแนะนำให้เริ่ม SQL Server ในโหมดผู้ใช้คนเดียว อย่างไรก็ตามฉันได้รับข้อผิดพลาด

การเข้าสู่ระบบล้มเหลวสำหรับผู้ใช้ A. เหตุผล: เซิร์ฟเวอร์อยู่ในโหมดผู้ใช้คนเดียว ผู้ดูแลระบบเพียงคนเดียวเท่านั้นที่สามารถเชื่อมต่อได้ในขณะนี้ (Microsoft SQL Server, ข้อผิดพลาด: 18461)

ป้อนคำอธิบายรูปภาพที่นี่

ฉันหยุดตัวแทนเซิร์ฟเวอร์ SQL


2
ทำไมหน่วยความจำ 200MB เท่านั้นคุณต้องมีอย่างน้อย 512MB สำหรับรุ่นด่วน msdn.microsoft.com/en-us/library/ms143506(v=sql.120).aspx#pmosr
McNets

ตรวจสอบลิงค์นี้: dba.stackexchange.com/questions/50797/cannot-use-sqlcmd
CR241

คำตอบ:


23

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

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

เมื่อเริ่มต้น SQL Server ในโหมดผู้ใช้คนเดียวคุณมีตัวเลือกในการระบุแอปพลิเคชันไคลเอนต์ดังนั้นเฉพาะแอปพลิเคชันที่สามารถเชื่อมต่อได้

ดูที่ตัวเลือกบรรทัดคำสั่งที่แสดง:

-m "ชื่อแอปพลิเคชันไคลเอนต์"

เมื่อคุณใช้ตัวเลือก -m กับ SQLCMD หรือ SQL Server Management Studio คุณสามารถ จำกัด การเชื่อมต่อกับแอปพลิเคชันไคลเอนต์ที่ระบุ ตัวอย่างเช่น -m "SQLCMD" จำกัด การเชื่อมต่อกับการเชื่อมต่อเดียวและการเชื่อมต่อนั้นจะต้องระบุว่าตัวเองเป็นโปรแกรมไคลเอนต์ SQLCMD ใช้ตัวเลือกนี้เมื่อคุณเริ่ม SQL Server ในโหมดผู้ใช้คนเดียวและแอปพลิเคชันไคลเอนต์ที่ไม่รู้จักกำลังทำการเชื่อมต่อที่มีอยู่เท่านั้น ในการเชื่อมต่อผ่าน Query Editor ใน Management Studio ให้ใช้ -m "Microsoft SQL Server Management Studio - Query"

ชื่อแอปพลิเคชันไคลเอนต์เป็นกรณี ๆ ไป

หากคุณสามารถเชื่อมต่อด้วยวิธีนี้เปลี่ยนหน่วยความจำเซิร์ฟเวอร์สูงสุดเป็นสิ่งที่สมเหตุสมผล ฉันคิดว่าคุณจะสามารถเชื่อมต่อได้เพราะไม่เช่นนั้นคุณอาจได้รับบางสิ่งบางอย่างจาก "ไม่มีกระบวนการที่ปลายอีกด้านหนึ่งของไพพ์" ดังนั้นฉันจะถือว่าเซิร์ฟเวอร์ของคุณทำงานอยู่

หากคุณไม่สามารถเข้าสู่ระบบ SQL Server ได้เนื่องจากการกำหนดค่าหน่วยความจำของคุณไม่อนุญาตให้ใช้คุณสามารถเริ่มต้น SQL Server ด้วยการกำหนดค่าขั้นต่ำโดยใช้-fตัวเลือก

-f

เริ่มต้นอินสแตนซ์ของ SQL Server ด้วยการกำหนดค่าขั้นต่ำ สิ่งนี้มีประโยชน์หากการตั้งค่ากำหนดค่า (ตัวอย่างเช่นหน่วยความจำที่จ่ายเกิน) ทำให้เซิร์ฟเวอร์ไม่สามารถเริ่มทำงานได้ การสตาร์ท SQL Server ในโหมดการกำหนดค่าน้อยที่สุดจะวาง SQL Server ในโหมดผู้ใช้คนเดียว สำหรับข้อมูลเพิ่มเติมดูคำอธิบายสำหรับ -m ที่ตามมา

สำหรับการอ้างอิง: SQL Server ไม่สามารถเริ่มหลังจากตั้ง "หน่วยความจำเซิร์ฟเวอร์สูงสุด" เป็น 0 โดยไม่ตั้งใจ


7
  • เริ่ม SQL Instance ในโหมดการกำหนดค่าน้อยที่สุด

    NET START MSSQLSERVER /f
  • เชื่อมต่อกับอินสแตนซ์จากหน้าต่าง cmd เดียวกันและเปลี่ยนการตั้งค่าหน่วยความจำสูงสุด:

    SQLCMD -S Server/Instance -E

    คุณควรเห็นข้อความแจ้งที่มีลักษณะดังนี้:

    1> 

ตามค่าเริ่มต้นการตั้งค่าหน่วยความจำสูงสุดอาจไม่พร้อมใช้งานสำหรับการดูและการเปลี่ยนแปลง หากต้องการแก้ไขพฤติกรรมนี้ให้ใช้แบบสอบถามด้านล่าง:

sp_configure 'show advanced options', 1;  
GO  
RECONFIGURE;  
GO  
sp_configure 'max server memory', 4096;  
GO  
RECONFIGURE;  
GO  

รีสตาร์ทอินสแตนซ์จากเครื่องมือจัดการการกำหนดค่า


ทางออกที่ดีที่สุดสำหรับ <SQL Server ไม่สามารถเริ่มหลังจากตั้งค่า "หน่วยความจำเซิร์ฟเวอร์สูงสุด" เป็น 0> โดยไม่ตั้งใจและ "ไม่มีกระบวนการในส่วนอื่น ๆ ของปลายท่อ" ข้อผิดพลาด
faza

-1

ฉันประสบปัญหาคล้ายกัน ฉันจัดการเพื่อแก้ไขได้โดยหยุด "SQL Server (MSSQLSERVER)" จากนั้นเริ่มต้นใหม่อีกครั้ง หลังจากรีสตาร์ทกระบวนการฉันสามารถเชื่อมต่อได้โดยไม่มีปัญหา


-1

ไม่สามารถเปิดหน้าต่างตัวแก้ไขแบบสอบถามใน SSMS หลังจากเริ่ม SQL Server ในโหมดผู้ใช้คนเดียว ดู: https://www.sqlservercentral.com/forums/topic/unable-to-open-ssms-in-single-user-mode


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