У меня есть сеть, в которой несколько пользователей используют Office Accounting 2009 в многопользовательском режиме клиент / сервер. OA построен на SQL Server. Один компьютер действует как «сервер» и имеет экземпляр сервера SQl, на других установлено только приложение, но не экземпляр SQL, все приложения удаленно подключаются к экземпляру SQL на «сервере».
Я использую термин «сервер» здесь в широком смысле, это обычная рабочая станция, которая назначается сервером и запускает экземпляр SQL. Нет домена NT, все учетные записи пользователей - локальные.
Способ, которым OA работает в многопользовательском режиме, заключается в том, что каждый пользователь должен иметь локальную учетную запись с одинаковым именем пользователя и паролем как на клиентском, так и на «серверном» ПК. Это работает хорошо, нет Windows 8. Я использую свою «учетную запись Microsoft» или LiveID для входа в Windows 8.
Office Accounting работает нормально и пытается подключиться к базе данных, но не удается: «у вас нет разрешения на выполнение этой операции».
В журналах SQL я получаю такую ошибку:
2012-10-28 17:54:01.32 Logon Error: 18456, Severity: 14, State: 11. 2012-10-28 17:54:01.32 Logon Login failed for user 'SERVER\Guest'. Reason: Token-based server access validation failed with an infrastructure
SERVER
это имя хоста сервера. Значит, он аутентифицируется как «Гость» ??
Чтобы проверить это, я включил гостевую учетную запись на «серверном» ПК, а затем добавил гостя в качестве разрешенного пользователя в Office Accounting (это просто создает пользователя в SQL и дает ему соответствующую роль в базе данных).
Разумеется, мой компьютер с Windows 8 смог подключиться к базе данных при использовании Office Accounting.
Ясно, что аутентификация пользователей как «Гость» воняет с точки зрения безопасности и аудита. Так что мне нужно несколько идей, как это обойти. Я пробовал переключить ПК с Windows 8 на «локальную учетную запись», и это тоже работает, но требует отказа от значительной функциональности на ПК с Windows 8. Что мне действительно нужно, так это способ заставить компьютер с Windows 8 использовать определенный набор учетных данных при подключении к удаленному экземпляру SQL. Office Accounting использует имя пользователя для входа в систему, которое является моим LiveID и не соответствует никакому имени пользователя Windows.
Кто-нибудь решил эту проблему?
Хотя Офисный бухгалтерия не допустит этого через свой пользовательский интерфейс, я обнаружил, что добавление вручную моего полного LiveID (полного формата адреса электронной почты) в качестве имени входа в базу данных (с соответствующими сопоставлениями и ролями пользователей в базе данных OA) позволяет мне успешно пройти аутентификацию на сервере базы данных. Вход был добавлен с использованием проверки подлинности SQL Server и того же пароля, который использовался для входа с помощью LiveID.
Я не уверен, почему я никогда не думал об этом раньше - может быть, потому, что это выглядит странно, имея адреса электронной почты в качестве логинов SQL.
Удалив офисный учет из уравнения, вы можете проверить это, войдя на свой компьютер с Windows 8 с локальным именем пользователя и паролем и подключившись к общему ресурсу на целевом компьютере. Обычно Windows пытается подключиться с текущими учетными данными. Если это не сработает, это может быть проблема Windows, не связанная с SQL или Office Accounting. Наверное, намного проще протестировать и локализовать.
Следующим шагом будет попытка сначала установить соединение, например net use x: \\targetcomputer\sharename
, а затем запустите Office Accounting.
похоже, что вам удалось открыть файл компании из Windows 8, войдя в систему с учетной записью Windows LiveID. Однако, согласно вашему предложению, я последовал за ним и создал новую учетную запись в Microsoft SQL Server Management Studio. К сожалению, мне еще не удалось все настроить и запустить.
Вот запись из журналов SQL-сервера. «Ошибка входа для пользователя». Пользователь не связан с доверенным соединением с SQL Server. [КЛИЕНТ: 192.168.1.102] »
Что ж, если я изменю учетную запись пользователя Windows 8 на локальную и создаю ту же учетную запись на сервере, которая работает в Windows XP, тогда все будет работать нормально.
Помощь в этом вопросе будет более чем приветствоваться.
С уважением, Sas