SQL Server 2012 Неможливо увійти в систему за допомогою облікового запису машини


11

Ми переміщуємо сайт IIS / SQL Server з 2008 по 2012 рік, і у мене виникають проблеми з автентифікацією. Ми використовуємо автентифікацію Windows для аутентифікації як DOMAIN\COMPUTER$, але це не працює, повідомляючи про помилку:

Помилка входу для користувача "DOMAIN \ COMPUTER $". Причина: не вдалося знайти логін, що відповідає вказаному імені. [КЛІЄНТ: <місцева машина>]

Я перевірив, що обліковий запис існує, і навіть видалив і відтворив його

create login "DOMAIN\COMPUTER$" from windows

Якщо я знов це зроблю, я отримую відповідь:

Повідомлення 15025, рівень 16, стан 2, рядок 1
Принциповий сервер "ДОМЕЙН \ КОМП'ЮТЕР $" вже існує.

( DOMAIN\COMPUTERзамінюється на справжнє домен та ім’я комп'ютера)

Отже, здається, що сайт запитує SQL Server, але SQL Server не дуже сильно дивиться на свої входи.

Що я пропустив?

Відповіді:


6

Це, швидше за все, не DOMAIN \ computer $ взагалі. Відомо, що це повідомлення є оманливим. Я думаю, що все, що потрібно, - це те, щоб "NT AUTHORITY \ NETWORK SERVICE" було надано доступ до сервера. Відкрийте властивості входу в SQL Server та додайте цей рахунок. Крім того, перевірте, який користувач використовується в IIS для видавання себе за анонімного користувача, це має бути щось на зразок "IUSR_ServerName". Надати доступ і цьому користувачеві


1
"NT AUTHORITY \ NETWORK SERVICE" вже має доступ до сервера. IIS видає себе за "IUSR" (немає _ServerName). Наскільки мені було відомо, це не справжній обліковий запис - і я не можу надати доступ ні до "DOMAIN \ IUSR", ні "DOMAIN \ IUSR", оскільки ці акаунти не існують.
alt

Це працювало для мене для сервісу Windows
user919426

Після довгого бою з майстром копіювання баз даних та майстром експорту-імпорту SQL, це єдина відповідь, яка змусила його працювати. Спасибі!
Залакаїн

6

І @cha, і @alt мають правильні підказки - повідомлення про помилку вводить в оману і Application Pool Identityбере участь (ну, принаймні, це було в моєму випадку).

Якщо ви використовуєте пул додатків програми IIS Application Pool Identity, обліковий запис користувача, який потрібно додати до SQL Server, є IIS APPPOOL\your_app_pool_name. Примітка: не використовуйте Search...кнопку у Властивості входу, щоб знайти цього користувача - він знайде його, але замінить його, MACHINE_NAME\your_app_pool_nameякий не буде працювати - просто введіть IIS APPPOOL\your_app_pool_nameім’я для входу.


1
Він працює лише тоді, коли ваш веб-сервер і сервер sql знаходяться в одному полі.
maxisam

1
Звичайно, облікові записи ідентифікаторів пулу додатків локальні для машини AFAIK, тому ви не можете використовувати їх на інших машинах. Просто використовуйте аутентифікацію SQL Server у такому випадку або запустіть веб-додаток у доменному акаунті.
Якуб Янушкевич

3

Цю проблему слід вирішувати по-різному, залежно від налаштування сервера.

  1. Сервер SQL і IIS знаходяться на одній машині.

    а. змінити ідентифікатор пулу додатків наNetwork Service

    б. додати NT AUTHORITY\NETWORK SERVICEдо свого входу на SQL-сервер

  2. Сервери SQL і IIS працюють на різних машинах.

    а. додати обліковий запис машини DOMAIN\computer-name$, до вашого входу на SQL-сервер.

    б. Ідентифікатор пулу додатків залишаєтьсяApplication Pool Identity


1

Мені вдалося змусити його працювати, змінивши сайт в IIS на користування Application Pool Identity, а потім змінивши Ідентифікатор пулу додатків на Network Service. Не соромтесь коментувати будь-які проблеми із безпекою, які можуть виникнути.


Чому б не скористатися користувачем домену для пулу додатків, якщо у вас є AD або ще краще керований обліковий запис служби?
Spörri

0

Я отримував таку ж помилку. Помилка входу в систему: 18456, тяжкість: 14, стан: 5. Вимкнення CEIP від ​​повідомлення про помилки та використання SQL Server вирішило проблему для мене.


1
Не могли б ви трохи розібратися у своїй відповіді? Чи можете ви навести якісь відповідні ресурси? Ваша відповідь з’явилася як низькоякісна через її довжину та вміст, і її можна було б видалити через це.
Джон ака hot2use
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.