У меня есть машина Windows 10 Pro с установленным SQL Server 2016 Dev. На компьютере есть две локальные учетные записи: [WORK \ admin] и [WORK \ erop]. Сначала была создана учетная запись [WORK \ erop] без подключения к Microsoft. Но позже я подключу его к моей учетной записи MS. Аккаунт [WORK \ erop] был добавлен в роль sysadmin при установке SQL Srv.SQL Srv 2016: Ошибка входа для пользователя 'MicrosoftAccount ...'
Теперь я пытаюсь подключиться к SQL SRV например, с SSMS как [WORK \ EROP], но получить:
Login failed for user 'MicrosoftAccount\<my_MS_account>'. Reason: Could not find a login matching the name provided. [CLIENT: <local machine>]
и Error: 18456, Severity: 14, State: 5.
которые means "Invalid идентификатор пользователя".
Как я думаю, SSMS запускается под учетной записью MS, и поскольку учетная запись MS не имеет логина на экземпляре SQL Srv, она отказывается от соединения.
я выполнил
CREATE LOGIN [MicrosoftAccount\<MS_account>] FROM WINDOWS WITH DEFAULT_DATABASE=[master], DEFAULT_LANGUAGE=[us_english]
GO
ALTER SERVER ROLE [sysadmin] ADD MEMBER [MicrosoftAccount\MS_account]
GO
и все в порядке. Но мне интересно, есть ли более разумный способ сопоставления MS_account с локальным пользователем, который имеет учетную запись на SQL Srv-экземпляре?
у вас было какое-нибудь решение? –
Мое решение - это фрагмент кода выше. Но если вы имели в виду желаемый «более умный способ» ... нет, к сожалению, нет. – erop
Похоже, вы поняли это. Мои 2 цента - я бы сказал, что учетная запись, которую вы хотите как ADMIN для SQL Server, вы должны настроить учетную запись как ADMIN на самом компьютере и войти с этой учетной записью (вы всегда можете снизить права доступа позже, однако я никогда не do), потому что я предполагаю, что вы хотите, чтобы SQL-службы запускались с этой конкретной учетной записью и устанавливали SQL Server. Затем добавьте логины безопасности после настройки SQL Server, как вы это делали выше. – Moojjoo