เข้าสู่ระบบของผู้ใช้และสิทธิ์ในฐานข้อมูลอาจไม่ถูกต้องหลังจากที่มีการคืนค่าฐานข้อมูล

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

อาการ

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

นี้ ปัญหาอาจแสดงเองหลายวิธี:
  • ในขณะที่การเข้าสู่เซิร์ฟเวอร์ 6.x ผู้ใช้อาจได้รับการ ข้อผิดพลาดต่อไปนี้:
    ข่าวสารเกี่ยวกับ 4002 ระดับ 14 สถานะ 1 เซิร์ฟเวอร์ Microsoft SQL Server, 0 ของบรรทัด
    เข้าสู่ระบบล้มเหลว
    DB-ไลบรารี: การเข้าสู่ระบบ ไม่ถูกต้อง
  • ในขณะที่การเข้าสู่เซิร์ฟเวอร์ 7.0 ผู้ใช้อาจได้รับการ ข้อผิดพลาดต่อไปนี้:
    ข่าวสารเกี่ยวกับ 18456 ระดับ 14 สถานะ 1
    เข้าสู่ระบบ ล้มเหลวสำหรับผู้ใช้ '% ls'
  • ในขณะที่พยายามเข้าถึงวัตถุภายในฐานข้อมูล ผู้ใช้ อาจได้รับข้อผิดพลาดต่อไปนี้:
    ข่าวสารเกี่ยวกับ 229 ระดับ 14 สถานะ 1
    %s สิทธิ์บนวัตถุ% * s ฐานข้อมูล% * s เจ้าของ %.*s
  • ขณะพยายามที่จะสร้างล็อกอิน และอนุญาตให้เข้าถึง การคืนค่าฐานข้อมูล หรือเพิ่มผู้ใช้ไปยังฐานข้อมูล ข้อผิดพลาดต่อไปนี้อาจเป็น ได้รับ:
    Microsoft SQL-DMO (ODBC SQLState: 42000) ข้อผิดพลาด 15023: ผู้ใช้หรือบทบาท '% s' อยู่แล้วในฐานข้อมูลปัจจุบัน
  • ผู้ใช้อาจมีสิทธิ์บนวัตถุที่พวกเขา ก่อนหน้านี้ ไม่

สาเหตุ

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

หมายเหตุ ถ้าคุณกำลังใช้ Microsoft SQL Server 2005 ตารางsysloginsและsysusersตารางจะถูกนำมาใช้เป็นมุมมองความเข้ากันได้ มุมมองเหล่านี้คือsys.sysloginsและsys.sysusers สำหรับข้อมูลเพิ่มเติมเกี่ยวกับมุมมองความเข้ากันได้ ให้ดูหัวข้อ "มองความเข้ากันได้ (กลุ่ม-SQL)" ใน SQL Server 2005 Books Online

การหลีกเลี่ยงปัญหา

เมื่อต้องการหลีกเลี่ยงปัญหานี้ ทำต่อไปนี้:
  • ถ้าสคริปต์ปัจจุบันพร้อมใช้งานเมื่อต้องการเพิ่มการเข้าสู่ระบบ ผู้ใช้ และ การอนุญาต ฝาก และสร้างขึ้นใหม่จากสคริปต์ สำหรับตัวอย่างของการใช้สคริปต์ เมื่อต้องการโอนย้ายการล็อกระหว่างเซิร์ฟเวอร์ ให้ดูฐานความรู้ของ Microsoft ต่อไปนี้ บทความ:
    246133 วิธีการ: ถ่ายโอนล็อกอินและรหัสผ่านระหว่างอินสแตนซ์ของ SQL Server
    240872 วิธีการแก้ไขปัญหาสิทธิ์เมื่อฐานข้อมูลถูกย้ายระหว่างเซิร์ฟเวอร์ SQL
  • คุณสามารถใช้ได้ ขั้นตอนเพื่อ reassociate ความสัมพันธ์ระหว่างการจัดเก็บ sp_change_users_login การ ตาราง syslogins, sysusers และ sysalternates อย่างไรก็ตาม ทำขั้นตอนที่ดีที่สุด ประเมินการเชื่อมโยง และอาจทำให้ผู้ใช้สิทธิ์การเข้าถึงเกินจำนวนที่ระบุ การเรียกใช้กระบวนงานที่ มีตัวเลือกรายงานก่อนจะสร้างรายการ ผู้ใช้ที่จะเปลี่ยนแปลง หลังจากนี้ คุณควรตรวจสอบให้แน่ใจว่าการ ผู้ใช้ที่ได้รับผลกระทบมีสิทธิ์ที่เหมาะสม นอกจากนี้ ระวังที่ ขั้นตอน sp_change_users_login ไม่สามารถแก้ไขปัญหาเกี่ยวกับสิทธิ์ที่ได้มาจาก เข้าสู่ระบบและผู้ใช้ที่สร้างขึ้นในลำดับต่างไปบนฐานข้อมูลที่สำรองข้อมูล คืนค่า
  • การถ่ายโอนข้อมูลของการคืนค่า ฐานข้อมูลหลักจากเวลาของการถ่ายโอนข้อมูลผู้ใช้ฐานข้อมูลไปยังเซิร์ฟเวอร์ ก่อนที่จะโหลดฐานข้อมูลของผู้ใช้ การทำสิ่งนี้แก่ผู้ที่ข้อมูลของผู้ใช้ทั้งหมด ในผู้ใช้ ฐานข้อมูลเทียบอย่างถูกต้องกับตาราง syslogins ในหลัก

    คำเตือน:ฐานข้อมูลหลักที่ประกอบด้วยข้อมูลทั่วทั้งเซิร์ฟเวอร์ และ มีผลต่อฐานข้อมูลทั้งหมดบนเซิร์ฟเวอร์ ด้วยการเรียกคืนฐานข้อมูลหลัก คุณอาจ พบ Id ผู้ใช้เพิ่มเติมและ/หรือฐานข้อมูลที่สูญหาย หรือได้ไม่ถูกต้อง สิทธิ์ การเปลี่ยนแปลงใด ๆ กับต้นแบบที่เกิดขึ้นหลังจากเวลาของการ การสำรองข้อมูลจะหายไป ใช้วิธีนี้ก็ต่อเมื่อคุณแน่ใจว่าการสำรองข้อมูล รุ่นของฐานข้อมูลหลักที่ประกอบด้วยข้อมูลที่ถูกต้องสำหรับผู้ใช้ สอบถามฐานข้อมูลและฐานข้อมูลอื่น ๆ ทั้งหมดบนเซิร์ฟเวอร์
  • ใช้การโอนย้าย ผู้จัดการ (สำหรับ 6.x) หรือ DTS (สำหรับ 7.0) เมื่อต้องการคัดลอกการล็อกอิน โปรดทราบที่ รหัสผ่านจะไม่สามารถโอนย้ายโดยใช้วิธีการนี้
  • ผู้ติดต่อของคุณ ผู้ให้บริการสนับสนุนหลัก

คุณสมบัติ

หมายเลขบทความ (Article ID): 168001 - รีวิวครั้งสุดท้าย: 21 มีนาคม 2556 - Revision: 6.0
ใช้กับ
  • Microsoft SQL Server 6.0 Standard Edition
  • Microsoft SQL Server 6.5 Standard Edition
  • Microsoft SQL Server 7.0 Standard Edition
  • Microsoft SQL Server 2000 Standard Edition
  • 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: 
kbprb kbusage kbmt KB168001 KbMtth
แปลโดยคอมพิวเตอร์
ข้อมูลสำคัญ: บทความนี้แปลโดยซอฟต์แวร์การแปลด้วยคอมพิวเตอร์ของ Microsoft แทนที่จะเป็นนักแปลที่เป็นบุคคล Microsoft มีบทความที่แปลโดยนักแปลและบทความที่แปลด้วยคอมพิวเตอร์ เพื่อให้คุณสามารถเข้าถึงบทความทั้งหมดในฐานความรู้ของเรา ในภาษาของคุณเอง อย่างไรก็ตาม บทความที่แปลด้วยคอมพิวเตอร์นั้นอาจมีข้อบกพร่อง โดยอาจมีข้อผิดพลาดในคำศัพท์ รูปแบบการใช้ภาษาและไวยากรณ์ เช่นเดียวกับกรณีที่ชาวต่างชาติพูดผิดเมื่อพูดภาษาของคุณ Microsoft ไม่มีส่วนรับผิดชอบต่อความคลาดเคลื่อน ความผิดพลาดหรือความเสียหายที่เกิดจากการแปลเนื้อหาผิดพลาด หรือการใช้บทแปลของลูกค้า และ Microsoft มีการปรับปรุงซอฟต์แวร์การแปลด้วยคอมพิวเตอร์อยู่เป็นประจำ
ต่อไปนี้เป็นฉบับภาษาอังกฤษของบทความนี้:168001

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

 

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