ตรวจสอบว่าการตรวจสอบโหมดผสมถูกเปิดใช้งานโดยไม่ต้องเข้าสู่ระบบหรือไม่


12

เป็นไปได้ใน SQL Server เพื่อตรวจสอบว่ามีการเปิดใช้งานการรับรองความถูกต้องของโหมดผสมโดยไม่ต้องเข้าสู่ระบบ SQL Server หรือไม่

คำตอบ:


15

อีกวิธีหนึ่งคือลองลงชื่อเข้าใช้โดยใช้การรับรองความถูกต้องของ SQL ด้วยบัญชีปลอมที่เห็นได้ชัดว่าไม่ประสบความสำเร็จ จากนั้นคุณสามารถใช้แผ่นจดบันทึกเพื่อเปิดERRORLOGไฟล์C:\Program Files\Microsoft SQL Server\$instance folder$\MSSQL\Log\และดูข้อผิดพลาดนี้ ...

ข้อผิดพลาด: 18456 ความรุนแรง: 14 สถานะ: 58
การเข้าสู่ระบบล้มเหลวสำหรับผู้ใช้ 'polly_wants_a_cracker' สาเหตุ: ความพยายามในการเข้าสู่ระบบโดยใช้การพิสูจน์ตัวตน SQL ล้มเหลว เซิร์ฟเวอร์ได้รับการกำหนดค่าสำหรับการรับรองความถูกต้องของ Windows เท่านั้น

ซึ่งหมายความว่าการตรวจสอบโหมดผสมไม่ได้เปิดใช้

... หรืออันนี้ ...

ข้อผิดพลาด: 18456 ความรุนแรง: 14 สถานะ: 5
การเข้าสู่ระบบล้มเหลวสำหรับผู้ใช้ 'polly_wants_a_cracker' สาเหตุ: ไม่พบชื่อล็อกอินที่ตรงกับชื่อที่ให้ไว้

ซึ่งหมายความว่าการตรวจสอบโหมดผสมถูกเปิดใช้งาน

ฉันไม่ทราบว่าอาจมีวิธีที่จะบอกได้หากไม่มี:

  • เข้าสู่ระบบสำเร็จ
  • มีการเข้าถึงกล่อง (หรือรีโมตรีโมตทางกายภาพ) เพื่อตรวจสอบการกำหนดค่ารีจิสตรี (ตามที่Julien อธิบาย ) หรือบันทึกข้อผิดพลาดสำหรับสถานะ / ข้อความเมื่อเข้าสู่ระบบไม่สำเร็จ

18

คุณสามารถตรวจสอบได้ในรีจิสทรี:

HKLM\Software\Microsoft\Microsoft SQL Server\ [instancename] \MSSqlServer

โหมดปัจจุบันจะถูกบันทึกไว้ในLoginModeปุ่ม

ค่า (DWORD) สามารถ:

  • 1 = โหมดการพิสูจน์ตัวจริงของ Windows
  • 2 = โหมด SQL Server และ Windows Authentication

บันทึก:

  • 0 เทียบเท่ากับ 2
  • คุณยังต้องเข้าถึง Registry (และเซิร์ฟเวอร์)

2

คุณสามารถทำได้ผ่าน PowerShell:

import-module sqlserver
$sqlserver = "ServerName"
$srv = Get-SqlServer -sqlserver $sqlserver
$srv.LoginMode

นี่จะส่งคืนผลลัพธ์เช่นนี้:

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

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