Добрый день.
Существует ли какой-нибудь подробный мануал по настройке связки MSSQL 2016 в режиме AlwaysOn (2 сервера) с кластером 1С 8.3?
На данный момент застрял на подключении сервера 1с к базе через прослушиватель SQL на отдельном IP. Показывает ошибку подключения под любым пользователем, как доменным, в т.ч. owner, так и sa.
Настраивать доступ к базе в режиме для чтения не нужно, второй сервер только на подхвате в случае сбоя первого.
Я как понимаю у вас группа доступность always on? Просто под этим наименованием скрываются 2 разные технологии. Если да, то в консоли кластера Windows чекните роль которая соответствует always on, активна ли она.
А так подключение 1с к группе доступности не имеет какой то особой настройки, просто подмимается кластер / группа доступности always on и в качестве бд указывается зарезервированое имя прослушивателя (именно имя, т.к. Ip меняются у него) , например my-bd.mydomain.local
(2) что вы такое рассказываете???
При регистрации прослушивателя указывается его IP (новый свободный адрес, или выдается автоматом). Он не совпадает ни с одной нодой.
При подключении хоть по имени, хоть по IP мы попадаем на активную ноду.
Точно так же себя ведет регистрация точки входа в самом wsfc - выделяется отдельный ip.
(16) перечитал. Вы написали что ip у прослушивается меняется
Поясните это. Потому что он фиксированный.
Про подключение к еду к ноде напрямую я не писал тоже.
в качестве бд указывается зарезервированое имя прослушивателя (именно имя, т.к. Ip меняются у него)
1. В качестве БД прослушиватель не может указываться. Он указывается как СЕРВЕР БД. (Ну это и так все поняли).
имя прослушивателя (именно имя, т.к. Ip меняются у него)
2. Теперь вы видите?
Что у него меняется? Что вы здесь имели ввиду?
По-моему здесь никакой двусмысленности нет, чтобы я мог как-то неверно трактовать ваши слова. Можете как-то пояснить - поясните. Я с радостью впитаю ваши знания и опыт. Только давайте в рамках приличий.
(20) я вас не так понял, это меня поплавило после перелёта, щас дошло, соре)
Ip действительно может меняьтся, по умолчанию там вообще динамический, а так даже если будет статика, но ноды в разных подсетях при падении главной ноды будет айпи из подсети второй ноды
(21) теперь и я вас понял )
для прослушивателя ведь задается не один IP, а несколько, для каждой подсети (так?)
Я и забыл...) Просто не делал так никогда.
1 скрин - попытка создания/подключения к существующей базе через доменного пользователя (для теста взял пока админа домена, он же владелец существующей базы, право входа в SQL есть)
2 скрин - попытка через sa
3 скрин - окно настройки подключения. Запись имени пользователя как domain\user, user@domain.local, равно как и прописывание DNS имени слушателя роли не играет.
(6) видимо только у SA есть доступ к базе, да и по всей видимости MS SQL Native Client у вас отстуствует на сервере, где кластер 1С крутится, поэтому и SA не может подключится у вас.
В целом попробуйте следущее
1) Установить MS SQL Native Client и попробывать с SA.
2) Если все ок, настройте права для юзера через которого хотите подключатся к базе.
Кстати к обычной базе коннект идет с этого же сервера?
Еще в добавок сразу пару советов.
1) не юзайте IP адреса при коннекте, не знаю как там в 1й подсети, но в 2 разных подсетях ip адреса разные, в зависимости от активной ноды зарезервированное DNS имя меняет свой IP , пример на скрине.
2) Добавте Witness сервер в кластер винды (свидетель кворума, рус), достаточно в виде файловой шары (File Share Witness), иначе эта вся отказоустойчивость будет очень не стабильно восстанавливаться, при падении активной ноды.
Кажется, нашел причину, но понятнее от этого не стало.
"попытка использования имени учетной записи NT при проверке подлинности SQL Server." на SQL сервере. Но аутентификация установлена смешанная, с чего такая ошибка может вообще возникать?
Вкратце опишу ситуацию: При настроенном Always On сервер 1С подключается к скулю через адрес прослушивателя группы доступности. Если подключение к скулю делать через учетку sql, то все работает до того момента как происходит отработка отказа в Always On (SQL переключается на резервный сервер). На резервном SQL локальная sql-учетка не имеет прав на эту БД даже если ее создать с таким же именем и паролем.
Следовательно решаем, что подключать сервер 1С с MS SQL надо через доменную учетку. При вводе в настройках базы на сервер 1С учетки вида DOMAIN\User при подключении получается ошибка
Ошибка при выполнении операции с информационной базой
Ошибка СУБД:
Microsoft SQL Server Native Client 10.0: Ошибка входа пользователя "DOMAIN\User".
HRESULT=80040E4D, SQLSrvr: SQLSTATE=28000, state=1, Severity=E, native=18456, line=1
Решение было найдено на этой страничке https://www.forum.mista.ru/topic.php?id=639014 Проблема в том,что если указать имя пользователя и пароль админке кластеров, то 1Ска пытается юзать SQL авторизацию.
Решается так:
1. Создаёшь пользователя DOMAIN\1CSQL
2. Пользователю DOMAIN\1CSQL даёшь все нужные права на SQL Server.
3. От имени пользователя DOMAIN\1CSQL запускаешь службу сервера 1С.
4. Создаёшь базу в кластере серверов 1С. Имя пользователя и пароль пользователя СУБД оставляешь пустыми!
Всё, к этой базе сервер 1С будет подключаться под пользователем DOMAIN\1CSQL
(9)может у вас авторизация по сертификату пользователя SQL, проверьте настройки безопасности на SQL сервере, для соединения c 1C используйте отдельного пользователя.
настройки делаете симметрично на обоих нодах?
Подключитесь по имени прослушивателя из SSMS - будет понятно куда стучитесь.
Кстати, службы под доменной учеткой? Или заморочились сертификатами? Пароли совпадают на нодах?
В самой консоли 1с вы не можете прописывать доменного пользователя. Будет всегда ошибка.
Вы можете подключиться или под недоменным именем входа SQL, или под текущим доменным (не указывая его в настройках базы).
(Если это не так - прошу рассказать как указывать доменного пользователя не получая ошибку)
Что касается ошибки по SA - забейте на 1c, проверяйте авторизацию сначала самим скулем, студией.
Добрый день, подскажите, реализовал на 1с подключение к кластеру always on, настроил маршрутизацию только для чтения на вторичные реплики, но не очень понятно, как в кластере 1с указать параметр подключения только для чтения,
майкрософт говорит, что должен указываться параметр вида ApplicationIntent=ReadOnly, но как его задать в консоли кластера, не пойму.
Подскажите, в какую сторону копать