เนื่องจากบางสถานการณ์ ฉันต้องยกเลิกการเข้าร่วมจากโดเมนเครื่องที่ใช้ Windows Server 2012 R2 ที่ติดตั้ง SQL Server 2014 Business Intelligence Edition เรียกมันว่า 'mydomain.local' จากนั้นฉันก็ติดตั้งบทบาท AD DS ใหม่ทั้งหมดบนเครื่องควบคุมโดเมน และสร้างโดเมน 'mydomain.local' ใหม่ตั้งแต่ต้น หลังจากนั้นเครื่อง SQL Server ก็เข้าร่วมอีกครั้งกับโดเมน 'mydomain.local' "ใหม่" ตอนนี้ฉันพยายามเชื่อมต่อกับ Database Engine ด้วย SSMS เป็น 'mydomain\Administrator' และได้รับข้อผิดพลาด:

Cannot connect to SQLSERVER.
ADDITIONAL INFORMATION: Login failed for user 'mydomain\Administrator'. (Microsoft SQL Server, Error: 18456) For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft%20SQL%20Server&EvtSrc=MSSQLServer&EvtID=18456&LinkId=20476

ข้อผิดพลาด 18456 มีหลายสถานะที่สามารถดูได้ในบันทึกข้อผิดพลาดของเซิร์ฟเวอร์ SQL และเป็นสถานะ 5 ในกรณีของฉัน ข้อผิดพลาดคำอธิบายรัฐจะได้รับที่นี่

ฉันยังคงสามารถเข้าสู่ระบบ SQL Server ในฐานะผู้ดูแลระบบภายในเครื่องได้ ฉันเข้าใจดีว่าสาเหตุของปัญหาคือการเข้าสู่ระบบ 'ใหม่' ที่มีชื่อเดียวกันมี sid ต่างกัน และฉันคิดว่าฉันควรยกเลิกการเข้าสู่ระบบ 'mydomain\Administrator' และเพิ่มการเข้าสู่ระบบ 'ใหม่' อีกครั้งและกำหนดบทบาทผู้ดูแลระบบให้กับมัน แต่การปล่อยการเข้าสู่ระบบก็เป็นปัญหาเช่นกันเนื่องจาก:

Login 'mydomain\Administrator' owns one or more database(s). Change the owner of the database(s) before dropping the login.

แน่นอน ฉันสามารถเปลี่ยนความเป็นเจ้าของฐานข้อมูลได้ เช่น ผู้ดูแลระบบในพื้นที่ และเปลี่ยนกลับหลังจากเพิ่มข้อมูลเข้าสู่ระบบสำหรับผู้ใช้โดเมนอีกครั้ง แต่ฉันอยากรู้ว่ามีวิธีใดที่ฉลาดกว่าในการแทนที่การเข้าสู่ระบบโดเมน 'เก่า' ด้วยโดเมน 'ใหม่'

answer

อาจมีวิธี "แฮ็ก" sys.syslogins แต่ฉันไม่แนะนำให้ลอง การสร้างบัญชีใหม่น่าจะง่ายกว่า