PRB: หัวข้อ "การแก้ไขปัญหาผู้ใช้ที่ Orphaned ออก" ในหนังสือออนไลน์จะไม่สมบูรณ์

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

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

อาการ

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

บทความนี้อธิบายถึงวิธีแก้ไขผู้ใช้ที่ไม่ได้ใช้งาน

สถานะ

Microsoft ยืนยันว่า ปัญหานี้เป็นปัญหาที่เกิดขึ้นกับผลิตภัณฑ์ของ Microsoft ซึ่งมีการระบุไว้ในตอนต้นของบทความนี้

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

ถึงแม้ว่าการเข้าสู่ระบบของเงื่อนไขและผู้ใช้มักถูกใช้แทนกันได้ พวกเขาจะแตกต่างกันมาก การเข้าสู่ระบบที่ใช้สำหรับการรับรองความถูกต้องของผู้ใช้ และมีใช้บัญชีผู้ใช้ฐานข้อมูลสำหรับการตรวจสอบการเข้าถึงและสิทธิ์ของฐานข้อมูล ล็อกอินเกี่ยวข้องกับผู้ใช้ โดยการระบุความปลอดภัย (SID) ล็อกอินที่ถูกต้องสำหรับการเข้าถึงเซิร์ฟเวอร์ SQL Server กระบวนการของการตรวจสอบว่า การเข้าสู่ระบบเฉพาะที่ถูกใช้งานเรียกว่า "การรับรองความถูกต้อง" การเข้าสู่ระบบนี้ต้องเกี่ยวข้องกับผู้ใช้ฐานข้อมูล SQL Server คุณสามารถใช้บัญชีผู้ใช้เพื่อควบคุมกิจกรรมที่ดำเนินการในฐานข้อมูล ถ้าไม่มีบัญชีผู้ใช้ที่มีอยู่ในฐานข้อมูลสำหรับการเข้าสู่ระบบเฉพาะ ผู้ใช้ที่ใช้เข้าสู่ระบบที่ไม่สามารถเข้าฐานข้อมูลถึงแม้ว่าผู้ใช้อาจไม่สามารถเชื่อมต่อกับเซิร์ฟเวอร์ SQL Server ข้อยกเว้นที่เดียวกับสถานการณ์นี้คือเมื่อฐานข้อมูลประกอบด้วยบัญชีผู้ใช้ "guest" เข้าสู่ระบบที่ไม่มีบัญชีผู้ใช้ที่เกี่ยวข้องจะได้รับการแมปไปยังผู้ใช้ที่เป็นแขก ในทางกลับกัน ถ้าผู้ใช้ฐานข้อมูลที่มีอยู่ แต่ไม่มีล็อกอินไม่เกี่ยวข้อง ผู้ใช้จะไม่สามารถบันทึกลงในเซิร์ฟเวอร์ SQL Server

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

ผู้ใช้ที่ไม่ได้ใช้งานในการแก้ไขปัญหา

เมื่อคุณคืนค่าสำเนาสำรองของฐานข้อมูลไปยังเซิร์ฟเวอร์อื่น คุณอาจพบปัญหากับผู้ใช้ที่ไม่ได้ใช้งาน สถานการณ์สมมติต่อไปนี้แสดงให้เห็นถึงปัญหา และแสดงวิธีการแก้ไขปัญหานี้
  1. เพิ่มการล็อกอินฐานข้อมูลหลัก และระบุฐานข้อมูลเริ่มต้นเป็น Northwind:
    Use master go sp_addlogin 'test', 'password', 'Northwind'
    						
  2. ให้การเข้าถึงผู้ใช้ที่คุณเพิ่งสร้างขึ้น:
    Use Northwind go sp_grantdbaccess 'test'
    						
  3. สำรองฐานข้อมูล
    BACKUP DATABASE Northwind
    TO DISK = 'C:\MSSQL\BACKUP\Northwind.bak'
    						
  4. คืนค่าฐานข้อมูลไปยังเซิร์ฟเวอร์ SQL Server ที่แตกต่างกัน:
    RESTORE DATABASE Northwind
    FROM DISK = 'C:\MSSQL\BACKUP\Northwind.bak'
    						
    ฐานข้อมูลที่มีการกู้คืนข้อมูลประกอบด้วยผู้ใช้ที่ชื่อว่า "ทดสอบ" โดยไม่มีการล็อกสอดคล้องกันอิน ซึ่งผลลัพธ์ใน "ทดสอบ" กำลัง orphaned
  5. ขณะนี้ การตรวจสอบผู้ใช้ที่ไม่ได้ใช้งาน เรียกใช้รหัสนี้:
    Use Northwind go sp_change_users_login 'report'
    						
    ผลลัพธ์แสดงรายการทั้งหมดล็อก ซึ่งมีรายการตรงกับในเครื่องsysusersตารางระบบ ของฐานข้อมูล Northwind และการsysxloginsตารางระบบในฐานข้อมูลหลัก

ขั้นตอนการแก้ไขผู้ใช้ที่ไม่ได้ใช้งาน

  1. เรียกใช้คำสั่งต่อไปนี้สำหรับผู้ใช้ที่ไม่ได้ใช้งานจากขั้นตอนก่อนหน้านี้:
    Use Northwind
    go
    sp_change_users_login 'update_one', 'test', 'test'
    						
    ข้อผิดพลาดนี้ relinks เซิร์ฟเวอร์การเข้าสู่ระบบ"ทดสอบ" โดยฐานข้อมูล Northwindผู้ใช้"การทดสอบ" ที่sp_change_users_loginกระบวนงานที่เก็บไว้สามารถทำการปรับปรุงของผู้ใช้ที่ไม่ได้ใช้งานทั้งหมดมีพารามิเตอร์ "auto_fix" แต่นี้ไม่แนะนำเนื่องจาก SQL Server พยายามจับคู่การล็อกอินและผู้ใช้ตามชื่อ สำหรับส่วนใหญ่ทำงาน อย่างไรก็ตาม ถ้าล็อกอินไม่ถูกต้องเกี่ยวข้องกับผู้ใช้ ผู้ใช้อาจมีสิทธิ์ที่ถูกต้อง
  2. หลังจากที่คุณเรียกใช้รหัสในขั้นตอนก่อนหน้านี้ ผู้ใช้สามารถเข้าถึงฐานข้อมูล ผู้ใช้นั้นเปลี่ยนแปลงรหัสผ่านกับเครื่องsp_passwordกระบวนงานที่เก็บไว้:
    Use master 
    go
    sp_password NULL, 'ok', 'test'
    						
    กระบวนงานที่เก็บไว้นี้ไม่สามารถใช้ได้สำหรับบัญชีความปลอดภัยของ Microsoft Windows NT มีการรับรองความถูกต้องผู้ใช้ที่เชื่อมต่อกับเซิร์ฟเวอร์ SQL Server ผ่านบัญชีผู้ใช้เครือข่ายของ Windows NT โดย Windows NT ดังนั้น รหัสผ่านจะสามารถเปลี่ยนใน Windows NT

    หน้าที่เฉพาะสมาชิกสามารถเปลี่ยนรหัสผ่านสำหรับการเข้าสู่ระบบของผู้ใช้อื่น

ข้อมูลอ้างอิง

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการแก้ไขปัญหาสิทธิ์เมื่อฐานข้อมูลถูกย้ายระหว่างเซิร์ฟเวอร์ คลิกหมายเลขบทความด้านล่างเพื่อดูบทความในฐานความรู้ของ Microsoft:
240872INF: วิธีการฐานแก้ไขสิทธิ์ปัญหาเมื่อมีข้อมูลถูกย้ายระหว่างเซิร์ฟเวอร์ SQL

คุณสมบัติ

หมายเลขบทความ (Article ID): 274188 - รีวิวครั้งสุดท้าย: 28 มกราคม 2554 - Revision: 5.0
ใช้กับ
  • Microsoft SQL Server 7.0 Standard Edition
  • Microsoft SQL Server 2000 Standard Edition
Keywords: 
kbcodesnippet kbpending kbprb kbmt KB274188 KbMtth
แปลโดยคอมพิวเตอร์
ข้อมูลสำคัญ: บทความนี้แปลโดยซอฟต์แวร์การแปลด้วยคอมพิวเตอร์ของ Microsoft แทนที่จะเป็นนักแปลที่เป็นบุคคล Microsoft มีบทความที่แปลโดยนักแปลและบทความที่แปลด้วยคอมพิวเตอร์ เพื่อให้คุณสามารถเข้าถึงบทความทั้งหมดในฐานความรู้ของเรา ในภาษาของคุณเอง อย่างไรก็ตาม บทความที่แปลด้วยคอมพิวเตอร์นั้นอาจมีข้อบกพร่อง โดยอาจมีข้อผิดพลาดในคำศัพท์ รูปแบบการใช้ภาษาและไวยากรณ์ เช่นเดียวกับกรณีที่ชาวต่างชาติพูดผิดเมื่อพูดภาษาของคุณ Microsoft ไม่มีส่วนรับผิดชอบต่อความคลาดเคลื่อน ความผิดพลาดหรือความเสียหายที่เกิดจากการแปลเนื้อหาผิดพลาด หรือการใช้บทแปลของลูกค้า และ Microsoft มีการปรับปรุงซอฟต์แวร์การแปลด้วยคอมพิวเตอร์อยู่เป็นประจำ
ต่อไปนี้เป็นฉบับภาษาอังกฤษของบทความนี้:274188

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

 

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