SQL Server 2012 Tidak Dapat masuk dengan akun mesin

11

Kami memigrasikan situs IIS / SQL Server dari 2008 hingga 2012, dan saya mengalami masalah dengan otentikasi. Kami menggunakan Otentikasi Windows untuk mengautentikasi DOMAIN\COMPUTER$, tetapi ini tidak berfungsi, memberikan kesalahan yang mengatakan:

Gagal masuk untuk pengguna 'DOMAIN \ COMPUTER $'. Alasan: Tidak dapat menemukan info masuk yang cocok dengan nama yang disediakan. [KLIEN: <mesin lokal>]

Saya telah memverifikasi bahwa akun itu ada, dan bahkan menghapus dan membuatnya kembali

create login "DOMAIN\COMPUTER$" from windows

Jika saya melakukannya lagi, saya mendapat respons:

Msg 15025, Level 16, State 2, Line 1
Prinsipal server 'DOMAIN \ COMPUTER $' sudah ada.

( DOMAIN\COMPUTERdiganti dengan nama domain dan komputer sebenarnya)

Jadi tampaknya situs meminta SQL Server, tetapi SQL Server tidak melihat loginnya sangat sulit.

Apa yang saya lewatkan?

alt
sumber

Jawaban:

6

Kemungkinan besar bukan $ DOMAIN \ komputer sama sekali. Pesan ini diketahui menyesatkan. Saya pikir semua yang ia inginkan adalah "NT AUTHORITY \ NETWORK SERVICE" diberikan akses server. Buka properti masuk SQL Server dan tambahkan akun ini. Juga, periksa apa yang digunakan pengguna di IIS untuk menyamar sebagai pengguna anonim, itu harus seperti "IUSR_ServerName". Berikan akses ke pengguna ini juga

cha
sumber
1
"NT AUTHORITY \ NETWORK SERVICE" sudah memiliki akses server. IIS menyamar sebagai "IUSR" (no _ServerName). Sejauh yang saya ketahui ini bukan akun nyata - dan saya tidak bisa memberikan akses ke "DOMAIN \ IUSR" atau "DOMAIN \ IUSR" karena akun ini tidak ada.
alt
Ini bekerja untuk saya untuk layanan Windows
user919426
Setelah berjuang sepanjang pagi dengan Copy Database Wizard, dan SQL Ekspor-Impor wizard, ini adalah satu-satunya jawaban yang membuatnya berfungsi. Terima kasih!
Zalakain
6

@Cha dan @alt keduanya memiliki petunjuk yang benar - pesan kesalahan menyesatkan dan Application Pool Identityterlibat (well, setidaknya itu dalam kasus saya).

Jika kumpulan aplikasi aplikasi IIS Anda menggunakan Application Pool Identity, akun pengguna yang perlu Anda tambahkan ke SQL Server IIS APPPOOL\your_app_pool_name. Catatan: jangan gunakan Search...tombol di Properti Login untuk menemukan pengguna ini - itu akan menemukannya, tetapi akan menggantikannya dengan MACHINE_NAME\your_app_pool_nameyang tidak akan berfungsi - cukup ketik IIS APPPOOL\your_app_pool_namesebagai nama login.

Jakub Januszkiewicz
sumber
1
Ini hanya berfungsi ketika server web Anda dan server sql berada di kotak yang sama.
maxisam
1
Tentu, akun identitas kumpulan aplikasi bersifat lokal ke mesin AFAIK, jadi Anda tidak dapat menggunakannya di komputer lain. Cukup gunakan otentikasi SQL Server dalam kasus itu atau jalankan aplikasi web pada akun domain.
Jakub Januszkiewicz
3

Masalah ini harus ditangani secara berbeda tergantung pada pengaturan server.

  1. SQL dan IIS server berada di mesin yang sama.

    Sebuah. ubah Application Pool Identity menjadiNetwork Service

    b. tambahkan NT AUTHORITY\NETWORK SERVICEke login server SQL Anda

  2. SQL dan IIS server berada di mesin yang berbeda.

    Sebuah. tambahkan akun mesin DOMAIN\computer-name$,, ke login server SQL Anda.

    b. Application Pool Identity tetap adaApplication Pool Identity

maxisam
sumber
1

Saya berhasil membuatnya bekerja dengan mengubah situs di IIS untuk menggunakan Application Pool Identity, lalu mengubah Application Pool Identity menjadi Network Service. Jangan ragu untuk mengomentari masalah keamanan yang mungkin timbul.

alt
sumber
Mengapa tidak menggunakan pengguna domain untuk kumpulan aplikasi karena Anda memiliki AD di tempat atau bahkan akun layanan yang lebih baik?
Sporri
0

Saya mendapatkan kesalahan yang sama. Logon Error: 18456, Severity: 14, State: 5. Menonaktifkan CEIP dari SQL Server Error dan Penggunaan Reporting menyelesaikan masalah untuk saya.

Ayan Mullick
sumber
1
Bisakah Anda menguraikan sedikit jawaban Anda? Bisakah Anda mengutip sumber daya yang relevan? Jawaban Anda muncul sebagai Berkualitas Rendah karena panjang dan kontennya dan dapat dihapus karena itu.
John aka hot2use