Как создать SQL Server войти в учетную запись службы в Windows, отличной от английского?

В системе 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

, который работает ...

7
задан MarnixKlooster ReinstateMonica 27 June 2011 в 17:15
поделиться