Tentukan apakah auth mode campuran diaktifkan tanpa masuk?


Jawaban:


15

Pendekatan lain adalah mencoba masuk, menggunakan otentikasi SQL, dengan akun palsu yang jelas tidak akan berhasil. Anda kemudian dapat menggunakan notepad untuk membuka ERRORLOGfile C:\Program Files\Microsoft SQL Server\$instance folder$\MSSQL\Log\dan melihat kesalahan ini ...

Kesalahan: 18456, Tingkat Permasalahan: 14, Negara: 58 .
Gagal masuk untuk pengguna 'polly_wants_a_cracker'. Alasan: Upaya untuk masuk menggunakan otentikasi SQL gagal. Server dikonfigurasi untuk otentikasi Windows saja.

Ini berarti otentikasi mode campuran tidak diaktifkan .

... atau yang ini ...

Kesalahan: 18456, Tingkat Permasalahan: 14, Negara: 5 .
Gagal masuk untuk pengguna 'polly_wants_a_cracker'. Alasan: Tidak dapat menemukan info masuk yang cocok dengan nama yang disediakan.

Ini berarti otentikasi mode campuran diaktifkan .

Saya tidak tahu bahwa mungkin ada cara untuk mengatakannya tanpa:

  • login berhasil
  • memiliki akses fisik ke kotak (atau registri jauh) untuk memeriksa konfigurasi registri (seperti yang dijelaskan Julien ) atau log galat untuk status / pesan saat masuk dengan tidak berhasil

18

Anda dapat memeriksanya di registri:

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

Mode saat ini direkam pada LoginModetombol.

Nilai (DWORD) dapat berupa:

  • 1 = Mode Otentikasi Windows
  • 2 = mode SQL Server dan Windows Authentication

catatan:

  • 0 setara dengan 2
  • Anda masih memerlukan akses ke Registry (dan server)

2

Anda juga dapat melakukan ini melalui PowerShell:

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

Ini akan mengembalikan output seperti ini:

masukkan deskripsi gambar di sini

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.