SQL Server 2008 ไม่สามารถเข้าสู่ระบบด้วยผู้ใช้ที่สร้างขึ้นใหม่


200

ฉันกำลังใช้ Windows Vista และฉันมีปัญหาในการเข้าสู่ระบบด้วยผู้ใช้ที่เพิ่งสร้างใหม่

  1. ฉันเปิด Studio จัดการเซิร์ฟเวอร์ SQL
  2. ฉันสร้างการเข้าสู่ระบบใหม่โดยคลิกขวาที่ความปลอดภัย -> เข้าสู่ระบบ
    ตรวจสอบ: การพิสูจน์ตัวจริงของเซิร์ฟเวอร์ SQL
    ชื่อล็อกอิน: เครื่องทดสอบ
    รหัสผ่าน: ทดสอบ
    คลิกตกลง
  3. ฉันเพิ่มผู้ใช้รายนี้ในการจับคู่ผู้ใช้ไปยังฐานข้อมูลที่ฉันเลือก
  4. คลิกไฟล์ -> เชื่อมต่อ Object Explorer เลือกการรับรองความถูกต้องของเซิร์ฟเวอร์ SQL และป้อนผู้ทดสอบ / ทดสอบและคลิกเชื่อมต่อ

ฉันได้รับข้อผิดพลาด:

Login failed for user 'tester'. (Microsoft SQL Server, Error: 18456" 
with Severity = 14 and State = 1.

อะไรเป็นสาเหตุของข้อผิดพลาดนี้และฉันจะเข้าสู่ระบบด้วยผู้ใช้ของฉันได้อย่างไร

คำตอบ:


480

SQL Server ไม่ได้รับการกำหนดค่าให้อนุญาตการตรวจสอบแบบผสม

นี่คือขั้นตอนในการแก้ไข:

  1. คลิกขวาที่อินสแตนซ์ของ SQL Server ที่รูทของ Object Explorer คลิกที่ Properties
  2. เลือกความปลอดภัยจากบานหน้าต่างด้านซ้าย
  3. เลือกปุ่มตัวเลือกโหมดเซิร์ฟเวอร์ SQL และ Windows การรับรองความถูกต้องแล้วคลิกตกลง

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

  4. คลิกขวาที่อินสแตนซ์ของ SQL Server เลือกรีสตาร์ท (หรือเปิดบริการและเริ่มบริการ SQL Server ใหม่)

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


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

4
การตอบคำถามของคุณเองนั้นไม่เลวเลย แม้หลังจากหลายปีข้อมูลคำตอบของคุณก็มีประโยชน์สำหรับฉัน!
johanvdw

4
ผมมีปัญหาเหมือนกัน. กำลังมองหาทางออกเป็นเวลาหลายชั่วโมง พยายามทุกอย่างเท่าที่ทำได้เพื่อแก้ปัญหา แต่ไม่ได้เกิดขึ้น จากนั้นฉันเห็นโพสต์นี้ ฉันคิดว่าการเริ่มบริการเป็นสิ่งที่ฉันไม่ได้ลอง ดังนั้นฉันเริ่มบริการใหม่และใช้งานได้! จากนั้นฉันเข้าสู่ระบบเพียงเพื่อพูดว่า ... ขอบคุณ
Answer_42

16
ความผิดควรอยู่ในข้อความแสดงข้อผิดพลาดที่ไร้สาระ ถ้ามันพูดอะไรบางอย่างเช่น "ไม่สามารถเข้าสู่ระบบไม่ได้รับอนุญาตการพิสูจน์ตัวจริงของเซิร์ฟเวอร์ SQL เซิร์ฟเวอร์ได้รับการกำหนดค่าให้อนุญาตการพิสูจน์ตัวจริงของ Windows เท่านั้นโปรดติดต่อ ... " มันจะช่วยให้เจ็บปวดมาก
rpattabi

5
@ Tony ที่น่าสนใจ ขอบคุณ ถึงกระนั้นฉันก็ไม่เชื่อว่าการรักษาความปลอดภัยเป็นข้อแก้ตัวที่ถูกต้องเพื่อขัดขวางการใช้งาน อาจมีบางอย่างในข้อความเพื่อชี้ผู้ใช้ไปยังการแก้ไขปัญหา
rpattabi

14

หากคุณยังไม่ได้รีสตาร์ทเซิร์ฟเวอร์ฐานข้อมูล SQL ของคุณหลังจากที่คุณทำการเปลี่ยนแปลงการเข้าสู่ระบบแล้วให้แน่ใจว่าคุณทำเช่นนั้น Start-> Programs-> Microsoft SQL Server-> Configuration tools-> ->SQL Server configuration managerRestart Server

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


ขอบคุณสำหรับการสังเกต .. ฉันลืมพูดถึงว่าฉันแก้ไขการแมปผู้ใช้การทำเช่นนี้
Travis Heseman

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

2

คุณอาจต้องตรวจสอบบันทึกข้อผิดพลาดของ SQL Server เพื่อตรวจสอบสถานะจริง (ไม่ได้รายงานไปยังลูกค้าเพื่อเหตุผลด้านความปลอดภัย) ดูที่นี่เพื่อดูรายละเอียด


ขอบคุณ .. ฉันเคยไปที่หน้านั้นแล้ว สังเกตว่ามันไม่ได้พูดถึงความหมายของ State = 1 Grr ... แต่ตอนนี้ฉันสบายดีแล้ว
Travis Heseman

ตามที่อธิบายในหน้าสถานะที่บันทึกไว้ในบันทึกข้อผิดพลาด SQL Server ของคุณจะแตกต่างจากสถานะที่รายงานไปยังผู้ใช้
GuyBehindtheGuy

1

เข้าสู่ระบบเซิร์ฟเวอร์ในฐานะผู้ดูแลระบบ

ไปที่ความปลอดภัย> เข้าสู่ระบบ> เข้าสู่ระบบใหม่

ขั้นตอนที่ 1:

Login Name : SomeName

ขั้นตอนที่ 2:

Select  SQL Server / Windows Authentication.

ข้อมูลเพิ่มเติมเกี่ยวกับ ความแตกต่างระหว่างการรับรองความถูกต้องของเซิร์ฟเวอร์ sql และการรับรองความถูกต้องของ windows คืออะไร?

เลือกฐานข้อมูลเริ่มต้นและภาษาที่คุณเลือก

คลิกตกลง

ลองเชื่อมต่อกับข้อมูลรับรองผู้ใช้ใหม่มันจะแจ้งให้คุณเปลี่ยนรหัสผ่าน เปลี่ยนและเข้าสู่ระบบ

หรือ

ลองค้นหาด้วย:

USE [master] -- Default DB
GO

CREATE LOGIN [Username] WITH PASSWORD=N'123456', DEFAULT_DATABASE=[master], DEFAULT_LANGUAGE=[us_english], CHECK_EXPIRATION=ON, CHECK_POLICY=ON
GO

--123456 is the Password And Username is Login User 
ALTER LOGIN [Username] enable -- Enable or to Disable User
GO
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.