Вызов sqlallocconnect завершился с ошибкой 1

Инструкция по включению записи замеров счетчиков оборудования и настройки инструмента «Мониторинг оборудования»

1. Необходимо на сервере баз данных SQL, на котором предполагается запись замеров, создать базу данных, например «PerfmonData», именно в этой базе будут сохраняться данные замеров по выбранным счетчикам

hardwaresetup1

2. На компьютерах (серверах приложений 1с, серверах баз данных и т.д.) , на которых предполагается снимать показания счетчиков, необходимо описать источник данных ODBC.
ODBC

hardwaresetup2

hardwaresetup3

hardwaresetup4

Указать созданную в пункте 1 базу

hardwaresetup5

И по окончании работы мастера можно протестировать настраиваемое нами соединение. Если все сделано правильно тест пройдет успешно.

3. На следующем шаге нам необходимо открыть «Системный монитор » (Perfmon) и создать новую группу сборщиков данных

hardwaresetup6

hardwaresetup7

Добавить счетчики необходимые нам для дальнейшего анализа, при этом можно основывать свой выбор на следующих счетчиках представленные в нашем классификаторе

Если названия счетчиков в вашей системе на русском языке, можно ориентироваться на следующие названия счетчиков на русском:

Просьба обратить внимание, что показатели Physical disk требуется настраивать не на _Total (когда выдаётся общий суммарный показатель для всех логических дисков системы), а на * (когда фиксируются показатели каждого логического диска отдельно).

Настроить расписание запуска группы сборщиков данных

hardwaresetup9

На закладке «Общие» необходимо указать пользователя от имени которого будет производится запуск сборщика счетчиков

hardwaresetup10

ВАЖНО! Пользователь, от имени которого (на скриншоте Администратор)  работает сборщик, должен быть прописан в MS SQL Server с доступом к базе данных PerfmonData.

В свойствах счетчика производительности для поля «Формат журнала» указать значение «SQL» и в поле «Имя источника данных» выбрать имя ранее нами созданного системного источника ODBC.

hardwaresetup11

В случае если при запуске сборщика счетчиков вы столкнетесь с ошибкой

«Вызов SQLAllocConnect завершился с ошибкой %1.»
Тогда необходимо проверить, что в качестве пользователя, от имени которого запущен сборщик счетчиков и в качестве пользователя указанного в настройках источника ODBC используется доменный пользователь и он имеет доступ в сам сервер SQL на котором размещена база данных для сбора значений счетчиков «PerfmonData».

Кроме того, убедитесь что название драйвера источника данных не содержит «Native Client». Пример выбора правильного драйвера источника данных:

4.  Далее в клиент-серверной базе основанной на конфигурации HardwareClient82.cf  необходимо произвести настройку.

Создание нового кластера 1с
Создание нового кластера 1с

Рекомендуется устанавливать конфигурацию в отдельный кластер сервера 1с , а не в кластер где располагаются рабочие базы. Цель рекомендации  минимизировать любые риски, связанные с нештатным поведением платформы и изолировать взаимное влияния продуктивных баз и базы  нашего инструмента. 

В справочнике  «Рабочие станции» необходимо создать элементы (Сервера) для которых будет производится загрузка счетчиков. На закладке «Настройки» должны быть указаны следующие настройки:

1) «База хранения счетчиков» — для получения данных из созданной нами на 1 шаге базы SQL

2) «Сервер SQL базы счетчиков» на котором расположена база хранения счетчиков (в качестве которого выступает элемент этого же справочника с заполненными параметрами Аутентификации для подключения к SQL серверу);

3) Имя  набора счетчиков

4) GUID набора счетчиков

5) «Загружать данные счетчиков производительности» — признак устанавливается в том случае если для сервера требуется загружать  данные замеров счетчиков производительности  и отправлять эти данные по веб-сервису

hardwaresetup12

Если SQL Server находится не локально, то нужно создать запись в «рабочих станциях» с его именем.

Получить информацию о GUID, Имени набора счетчиков можно нажав кнопку «Получить информацию по счетчикам» и при корректном заполнении данных в полях «Сервер SQL базы счетчиков», «База  хранения счетчиков»  в таблицу будет выведена информация обо всех настроенных наборов счетчиков в эту базу хранения.

5. Для отправки данных с целью дальнейшего анализа и вывода информации на нашем сервере необходимо заполнить настройки:

hardwaresetup13

Идентификатор базы: — содержится в письме

Веб-сервис: http://info.gilev.ru/hardware/ws/hardware.1cws?wsdl

Пользователь (Веб-сервис): ws

Пароль (Веб-сервис): ws

Логин и пароль указанные в письме не нужно использовать для указания подключения по Веб-сервису!!!

Если возникло сообщение об ошибке:
hardwaresetup14

{ОбщийМодуль.СчетчикиПроизводительности.Модуль(20)}: Ошибка при вызове метода контекста (Open)
RecSet.Open(ТекстЗапроса,SQLServer,3,1,1);
по причине:
Произошла исключительная ситуация (Microsoft OLE DB Provider for SQL Server): Conversion failed when converting from a character string to uniqueidentifier.

То скорее всего это произошло по причине что наборы счетчиков и идентификатор GUID указан неверно или вообще не указан.
Нужно указать, пример на скриншоте

IMG_05062015_115703

При возникновении сообщения о нарушении прав доступа к операции Web-сервиса вроде

ошибкасвязи

скорее всего изменили стандартный логин ws и не читали эту инструкцию сначала, верните исходные настройки )

Отсутствие доступа в интернет

Сообщение типа

Значение не является значением объектного типа (WebAccess)

означает что нет доступа в интернет у учетной записи службы сервера 1С

Диагностика ошибок

Ошибка вида [DBNETLIB][ConnectionOpen (SECCreateCredentials()).]SSL Security error:

Если возникает ошибка вида [DBNETLIB][ConnectionOpen (SECCreateCredentials()).]SSL Security error при обращении к MSSQL серверу, то решение следующее:
Необходимо установить значение Enable параметру групповой политики безопасности
Local Security Policy —> Local Policies —> Security Options —> ‘System cryptography: Use FIPS compliant algorithms for encryption, hashing, and signing

Затем от имени администратора выполнить в командной строке:
gpupdate /force

Если на Windows Server 2019 ваши сборщики счётчиков не стартуют по расписанию, как положено, в качестве обхода проблемы можете стартовать эти сборщики из командной строки командой
logman start <[-n] > [options]

Интернет прокси-сервер

Возможна отправка данных через интернет используя прокси, это штатная возможность платформы, для этого необходимо настроить служебный файл платформы inetcfg.xml.

Содержимое файла должно быть примерно следующим:
<InternetProxy
protocols="http=10.1.0.8:8080 10.1.0.9:8080"
user="proxyUser"
password="proxyPassword"
bypassOnLocal="true"
bypassOnAddresses="127.0.0.1 *.master"

/>

Подробнее смотрите в документации к 1С или на ИТС

Интерпретация значений счетчиков

процессор http://www.gilev.ru/countproc/
память http://www.gilev.ru/countmem/
диски http://www.gilev.ru/countio/
сеть http://www.gilev.ru/countnet/

По всем возникающим вопросам по работе и настройке инструмента, сразу же пишите мы обязательно поможем.

skype: gilev_slava

  • Remove From My Forums
  • Question

  • Windows 2008

    Sql server 2008 R2

    I am trying to create an ODBC connection to server A from server B , where performance counters from server B has to be logged into a sql database on server A.

    After creating a data collector set in performance monitor on server B, and configured it to log to SQL database, it errors out to say ‘when attempting to start the Data Collector set the following Error occurred :call to SqlAllocConnect failed with
    %1

    where am I going wrong ?

    Thanks,

    Club140

Answers

  • never mind . figured it out. permissions issue

    • Marked as answer by

      Thursday, September 9, 2010 7:53 PM

I am trying to do following task and I donot know it is possible in this setup or not?

I am trying to setup performance counter on a non-domain server (Server1)

All the performance counter values I want to capture in other sql server (DomainServer2)

In this task I donot want to establish any kind of connectivity from Server2 to Server1 (sql or windows), but I want to push data from Server1 to Server2.

— I have a sql login (monitoruser) in Server2 with sysadmin role

— and created a ODBC connection (perfmon) in Server1 using monitoruser (successfully tested)

— created a datacollector set on Server1 running as local administrator (localMachinesqlmon)

When I an trying to start this collector set, it throws «Error: Call to SQLAllocConnect failed with %1» on Server1

On Server2 Eventlog says,

Login failed for user ». Reason: An attempt to login using SQL authentication failed. Server is configured for Windows authentication only. [CLIENT: xx.xx.xx.xx]

I have both the server running in mixed mode (I also restarted sql services on both)

I can connect Server2 from Server1 using SSMS with monitoruser login

What else I am missing here?

Thanks in advance

RBarryYoung

SSC Guru

Points: 143329

Are there any other SQL Server instances on these two servers? Is it possible that you are actually connecting (or trying) to one of them and that SQL instance has Windows-only authentication.

Daxesh Patel

Hall of Fame

Points: 3208

Thank you RBarryYoung

No, there is no other sql instance, only default instance

Daxesh Patel

Hall of Fame

Points: 3208

OK I tried to setup on both the server in same domain, still it gives me same error.

Anybody has tried to store perfmon data into remote SQL server using odbc (and sql login)?

Lynn Pettis

SSC Guru

Points: 442464

Daxesh Patel (5/21/2012)


I am trying to do following task and I donot know it is possible in this setup or not?

I am trying to setup performance counter on a non-domain server (Server1)

All the performance counter values I want to capture in other sql server (DomainServer2)

In this task I donot want to establish any kind of connectivity from Server2 to Server1 (sql or windows), but I want to push data from Server1 to Server2.

— I have a sql login (monitoruser) in Server2 with sysadmin role

— and created a ODBC connection (perfmon) in Server1 using monitoruser (successfully tested)

— created a datacollector set on Server1 running as local administrator (localMachinesqlmon)

When I an trying to start this collector set, it throws «Error: Call to SQLAllocConnect failed with %1» on Server1

On Server2 Eventlog says,

Login failed for user ». Reason: An attempt to login using SQL authentication failed. Server is configured for Windows authentication only. [CLIENT: xx.xx.xx.xx]

I have both the server running in mixed mode (I also restarted sql services on both)

I can connect Server2 from Server1 using SSMS with monitoruser login

What else I am missing here?

Thanks in advance

How do you have the ODBC connection configured? Can you show it to us?

Daxesh Patel

Hall of Fame

Points: 3208

Thanks Lynn,

I have attached word doc with screen shots

Lynn Pettis

SSC Guru

Points: 442464

Only thing I can suggest at this point is to double check your server properties.

Daxesh Patel

Hall of Fame

Points: 3208

Server properties looks fine

It is single instance (default only) SQL server

Mixed mode (using sql logins since long time on this server)

Login which I am using in odbc is active and it works fine when I am connecting using SSMS

Only it does not work when perfmon tries to use odbc (remote sql)

That’s why I asked, has anybody setup perfmon writing counter data to remote sql server? any special setting required for that?

And yes, I verified with our network admin, nothing is blocking at firewall side

Daxesh Patel

Hall of Fame

Points: 3208

I think I found the issue (not the solution)

odbc does not store sql login information (UID & PWD), and user needs to supply uid and pwd while using the odbc.

Only windows authentication works when PerfMon uses odbc to store data in SQL server

I think I cannot send Perfmon data to a different domain sql server since I cannot use windows authentication in this case.

I need to find out some workaround

craigvincent

SSC Enthusiast

Points: 111

Hi Daxesh,

I’ve been trying to do a similar thing to you — logging performance data to SQL for two separate machines, which were not part of a domain and have come to the same conclusion that you’re unable to use SQL Server Authentication.

Was just wondering if you had come across a workaround in the meantime?

Thanks,

Craig:-)

Daxesh Patel

Hall of Fame

Points: 3208

craigvincent (11/14/2012)


Hi Daxesh,

I’ve been trying to do a similar thing to you — logging performance data to SQL for two separate machines, which were not part of a domain and have come to the same conclusion that you’re unable to use SQL Server Authentication.

Was just wondering if you had come across a workaround in the meantime?

Thanks,

Craig:-)

Hi Craig,

Sorry I didnot update this post after I resolved the issue

— I added entry for remote domain machine in hosts file (C:WINDOWSsystem32driversetchosts)

— then created a windows account in both the machin with same UID + Password (as local administrator)

— created SystemDSN for this connection

Edit: — and run Perfom under this account

This worked for me

craigvincent

SSC Enthusiast

Points: 111

Thanks greatly for the speedy reply! I’ll experiment with that method later.

Best wishes to you,

Craig 🙂

craigvincent

SSC Enthusiast

Points: 111

Thanks again Daxesh, got that setup and working! It’s kind of a shame that it can’t be done using SQL Server Authentication, but am just glad it’s working!

C

ИМХО отчёт как раз лучше формировать экселем — возможностей для анализа больше. Благо он умеет с внешними данными работать.

Total votes 1: ↑1 and ↓0

+1

Дошел до пуска группы сборщика данных.

Не запускается с ошибкой «Вызов SQLAllocConnect завершился в ошибкой %1»

Журнал показал
Источник PDH, Код события 3041, в описании ошибки вот это:
Вызов SQLAllocConnect завершился с ошибкой [Microsoft][ODBC SQL Server Driver][SQL Server]Ошибка входа пользователя «»…

This comment wasn’t rated yet

0

Посмотрите свойства Группы сборщиков данных. А именно, от какого пользователя запускает процесс. Этот пользователь должен иметь права писать в базу.

This comment wasn’t rated yet

0

всё правильно, накосячил с правами пользователей!
Запустилось, работает :)

This comment wasn’t rated yet

0

Одно не пойму, как общие системные счетчики связанны с конкретным MS SQL сервером, а более того, конкретной базой, ибо нагрузка, в большинстве случаев, вполне конкретная.
Да и вообще, как анализировать, что я могу предположить, из этих данных, более конкретное про:
Первый сервер у меня с памятью DDR1, процессор 1.5 мегагерца и т.д., Второй сервер у меня DDR2 и процессору уже 1.5 гигагерца. Из опыта могу сказать, что вторая машинка будет работать быстрее, но насколько, как и т.д.? Ваш способ мне тоже не даст, ибо он субъективен в рамках машины.
Или я что-то не понимаю?:)

This comment wasn’t rated yet

0

Попробую что-то ответить :)
Я описал способ сбора статистики, запись в БД и последующий анализ. Общие, так сказать, моменты.
При этом, например, Вы ведь можете писать в одну (или в разные!) БД статистику и затем её сравнивать, сделав необходимый отчет? Да и количество счетчиков просто огромно, включая около 20 счетчиков, связанные именного c SQL (instance, agent и т.д.).

Еще раз повторюсь. Я описал простой пример записи данных счетчиков статистики в БД и последующий их анализ через отчеты.
1. Вы можете писать в одну базу данных с неограниченного количества серверов/компьютеров, плюс огромное количество счетчиков (вот прям откройте и посмотрите!) :)
2. Вы можете создать любые отчеты, которые Вам могут потребоваться через запросы к БД. Посмотрите варианты отчетов в SSDT! Там заблудиться можно.
Вы ведь можете сравнить и графически подтвердить, что второй ваш сервер при тех или иных задачах работает быстрее на столько-то и т.д. ЗАвисит от Вашей фантазии.

This comment wasn’t rated yet

0

Способ хороший когда у вас только один-два сервера и количество счетчиков 15-20. А вот когда начинаешь сбор данных с 15 сек. интервалом с 15-20 серверов, то БД получается уже не кислая и счет в таблицах идет на миллиарды строк — ворочать это все запросами очень тяжко. И… мы пошли дальше! Сделали обработку данных в OLAP кубе… =) Если из этого выдет что-то приличное — может быть тисну статью. ;-)

This comment wasn’t rated yet

0

I have setup the Sql 2008 Data Collection, and there are 3 default collection sets, yet when I try to setup the data collectors on a remote server (log perf counters to sql), I get:

WHen attempting to start the Data Collector Set the
following system error occured:

Call to SQLAllocConnect failed with %1.

My goal is to collect performance statistics from all my Windows 2008 machines in the PDW of the sql 2008 server.

Microsoft SQL Server 2008Windows Server 2008Windows 7

Возможно, вам также будет интересно:

  • Вызвать сервис 17 panasonic kx mb1500 сброс ошибки
  • Вызвав ошибку операционной системы 5 отказано в доступе
  • Вызвав ошибку операционной системы 5 отказано в доступе
  • Выделить ошибку на сайте клавиши
  • Выделить ошибку на сайте и нажать

  • Понравилась статья? Поделить с друзьями:
    0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии