На прошлой неделе я установил Microsoft SQL Server 2014 Developer Edition на свой компьютер разработчика и сразу столкнулся с проблемой, которую я никогда раньше не видел.
Я устанавливал различные версии SQL Server бесчисленное количество раз, и обычно это безболезненная процедура. Установите сервер, запустите консоль управления, это так просто. Однако после завершения этой установки, когда я попытался войти на сервер с использованием SSMS, я получил ошибку, подобную приведенной ниже:
Ошибка входа в SQL Server 18456
«Ошибка входа пользователя… (Microsoft SQL Server, ошибка: 18456)»
Я привык видеть эту ошибку, если при входе в систему вводил неверный пароль - но это только если я использую смешанный режим (аутентификация Windows и SQL). В этом случае сервер был настроен только с проверкой подлинности Windows, а учетная запись пользователя была моей. Я все еще не уверен, почему он не добавил моего пользователя в роль SYSADMIN во время установки; возможно я пропустил шаг и забыл добавить его. Во всяком случае, не вся надежда была потеряна.
Способ исправить это, если вы не можете войти в систему с какой-либо другой учетной записью на SQL Server, - добавить сетевой вход в систему через интерфейс командной строки. Чтобы это работало, вам нужно быть администратором в Windows на компьютере, на котором вы вошли.
Остановите службу MSSQL.
Откройте командную строку с помощью запуска от имени администратора.
Перейдите в папку, содержащую EXE-файл SQL Server; по умолчанию для SQL Server 2014 используется «C: \ Program Files \ Microsoft SQL Server \ MSSQL12.MSSQLSERVER \ MSSQL \ Binn».
Выполните следующую команду: «sqlservr.exe –m». Это запустит SQL Server в однопользовательском режиме.
Оставляя эту командную строку открытой, откройте еще одну, повторяя шаги 2 и 3.
Во втором окне командной строки запустите «SQLCMD –S Server_Name \ Instance_Name»
В этом окне запустите следующие строки, нажимая Enter после каждой:
1
СОЗДАТЬ ВХОД [domainName \ loginName] ИЗ WINDOWS
2
ИДТИ
3
SP_ADDSRVROLEMEMBER 'LOGIN_NAME', 'SYSADMIN'
4
ИДТИ
Используйте CTRL + C, чтобы завершить оба процесса в окнах командной строки; Вам будет предложено нажать Y, чтобы завершить процесс SQL Server.
Перезапустите службу MSSQL.
Это оно! Теперь вы можете войти в систему, используя сетевой вход.