ไม่สามารถเชื่อมต่อกับเซิร์ฟเวอร์ sql ในโหมดผู้ใช้คนเดียว


10

ฉันได้เริ่มต้นของฉันSQL Server 2008 sqlcst02\inst01ในSingle User Modeโดยการผนวกไปยังจุดสิ้นสุดของพารามิเตอร์การเริ่มต้นระบบเช่นนี้;-m SQL Server Configuration Managerฉันได้หยุดSQL Server Agentสำหรับinst01อินสแตนซ์ บัญชีของฉันเป็นสมาชิกคนหนึ่งของDomain Admin groupฉันและฉันได้พยายามที่จะเข้าสู่ระบบการใช้sqlcmd -S sqlcst02\inst01และให้ได้รับข้อผิดพลาดที่ให้บริการอยู่ในSingle User Modeและมีเพียงหนึ่งผู้ดูแลระบบสามารถเข้าสู่ระบบ. ฉันพยายามเพิ่ม;-m"sqlcmd"พารามิเตอร์การเริ่มต้นที่จะ จำกัด การเชื่อมต่อไปเพียงsqlcmdแต่ฉันได้รับ ผลลัพธ์เดียวกัน ฉันได้ลองนี้เข้าสู่ระบบในฐานะบัญชีของตัวเองและเข้าสู่ระบบในฐานะบัญชีผู้ดูแลท้องถิ่น ฉันเริ่มพร้อมท์คำสั่งด้วยตนเองและในฐานะผู้ดูแล แต่ฉันได้รับผลลัพธ์เดียวกัน ฉันได้พยายามเชื่อมต่อใช้ในADMIN:sqlcst02\inst01 SSMSไม่มีโชค.

ฉันพยายามรีเซ็ตsaรหัสผ่านเนื่องจากไม่มีผู้ดูแลระบบคนก่อนหน้านี้เหลือข้อมูลนี้ไว้ นี่มันน่าคลั่ง ฉันเคยทำสิ่งนี้มาก่อนในเครื่องอื่น ๆ ที่ไม่มีปัญหา


1
บัญชีโดเมนของคุณ (อย่างชัดเจนหรือผ่านกลุ่ม) เป็นสมาชิกของบทบาทเซิร์ฟเวอร์ดูแลระบบบนอินสแตนซ์ SQL Server หรือไม่
Brian Knight

ฉันไม่รู้ ฉันรู้ว่าฉันเป็นสมาชิกของกลุ่ม Domain Admin และกลุ่ม SQL ADMINS และกลุ่ม SQL ADMINS เป็นสมาชิกของบทบาทดูแลระบบบนเซิร์ฟเวอร์อื่นทั้งหมด แต่ฉันพนันได้ว่าไม่ใช่กรณีของเครื่องนี้

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

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

คำตอบ:


6

อีกทางเลือกหนึ่งในการกู้คืนการเข้าถึง SQL Server มีการสรุปไว้ในบทความนี้และไม่จำเป็นต้องรีสตาร์ทในโหมดผู้ใช้คนเดียว:

http://www.mssqltips.com/sqlservertip/2682/recover-access-to-a-sql-server-instance/

เป็นหลักดาวน์โหลด PSExecแล้วเรียกใช้ด้วยบรรทัดคำสั่งต่อไปนี้ (กรอกตำแหน่งของคุณเป็น SSMS.exe):

PsExec -s -i "C:\Program Files (x86)\...\ssms.exe"

คุณจะได้รับแจ้งให้เชื่อมต่อ - โหมดการตรวจสอบจะได้รับการรับรองความถูกต้องของ Windows NT AUTHORITY\SYSTEMและยากรหัสเพื่อ เมื่อเชื่อมต่อแล้วคุณจะสามารถเข้าสู่ระบบความปลอดภัยและแก้ไขรหัสผ่าน sa เพิ่มตัวคุณเป็นผู้ดูแลระบบเพิ่มผู้ดูแลระบบอื่น ๆ

บทความข้างต้นมีข้อควรระวังหลายประการที่คุณควรอ่านก่อนลองทำเช่นนี้และคุณอาจต้องการตรวจสอบความคิดเห็นที่ด้านล่าง


1

ฉันเพิ่งถูกมันกัด สิ่งที่ฉันลืมคือเรียกใช้พรอมต์ CMD ในฐานะผู้ดูแลระบบ นี่ไม่ใช่ค่าเริ่มต้นใน Windows 2008 R2 เมื่อฉันทำทั้งหมดนี้เป็นไปด้วยดี หนึ่งในเพื่อนร่วมงานของฉันแนะนำปัญหานี้และเฮ้ presto ทั้งหมดได้รับการแก้ไข ฉันรู้สึกเหมือนคนงี่เง่า แต่ฉันคิดว่าฉันจะแบ่งปันเพื่อช่วยผู้อื่น


0

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


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

0

ฉันมีปัญหาที่คล้ายกันซึ่งฉันมีคลัสเตอร์ล้มลงเพราะฉันตั้งค่า maxmem เป็น 12 (แทนที่จะเป็น 120000 ศูนย์ของฉันก็แตกหัก)

ฉันสังเกตเห็นว่าเมื่อฉันใช้พรอมต์พารามิเตอร์การเริ่มต้นตามปกติและ sqlcmd -AI ได้รับเวลาในการเข้าสู่ระบบและข้อความแสดงข้อผิดพลาดบอก DAC ไม่น่าจะเชื่อมต่อ

ฉันเริ่มบริการ sql โดยการคัดลอกพารามิเตอร์เริ่มต้นจากตัวจัดการการกำหนดค่าลงในพรอมต์การจัดการ powershell และเพิ่มพารามิเตอร์ -cf

ในหน้าต่างอื่นฉันสามารถใช้ sqlcmd ได้ แต่ไม่ใช่ด้วยพารามิเตอร์ -A เพียงการเชื่อมต่อมาตรฐาน

ณ จุดนี้ฉันสามารถเรียกใช้แบบสอบถามและ sp_configured วิธีของฉันออก นี่คือด้วยบัญชีโดเมน

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