Для системы Windows Server 2008 R2, в которой учетные записи служб используют не английский язык отображения, в SQL Server 2008 следующий оператор Transact-SQL завершается ошибкой:
CREATE LOGIN [NT AUTHORITY\NETWORK SERVICE] FROM WINDOWS ...
со следующей ошибкой:
Пользователь или группа Windows NT 'NT AUTHORITY \ NETWORK SERVICE' не найдена.Проверьте имя еще раз.
(или то же сообщение на неанглийском языке отображения для учетных записей служб, в зависимости от контекста).
Этот же оператор завершается успешно, если службаучетные записи используют английский в качестве языка отображения.
Причина, по-видимому, ясна: например, в немецкой системе отображаемое имя для этой учетной записи NT-AUTORITÄT\NETZWERKDIENST
, а имя NT AUTHORITY\NETWORK SERVICE
(с пробелом) нераспознан.Также не работает локализованное имя NT AUTHORITY\NETWORKSERVICE
(без пробела).
Мой вопрос: как мне переписать приведенное выше утверждение, чтобы оно работало независимо от языка отображения?Или я вынужден узнать локализованное имя (в моем случае в InstallScript)?Тогда я могу использовать
CREATE LOGIN [NT-AUTORITÄT\NETZWERKDIENST] FROM WINDOWS
, который работает работает ...