Я пытаюсь использовать установленный набор сборщиков данных, чтобы начать регистрацию счетчиков perfmon в локальной базе данных SQL (в локальном экземпляре SQL). Однако вот как выглядит моя текущая установка:
И когда я пытаюсь запустить набор сборщиков данных, я получаю следующую ошибку:
Call to SQLAllocConnect failed with %1.
Поэтому я думаю, что имя моего источника данных может быть отформатировано неправильно, но я не могу найти ничего хорошего в TechNet, чтобы помочь мне в этом. Я создал базу данных «PerfMon» в экземпляре SQL и убедился, что пользователь, выполняющий ведение журнала, имеет права DBO на эту базу данных (а также является системным администратором). В этом поле есть только один экземпляр SQL, поэтому мне не нужно его указывать.
Что мне не хватает?
У меня была аналогичная проблема. Я решил это:
В конфигурации DSN системы ODBC на SQL Server нажмите «Конфигурация клиента», откроется диалоговое окно «Добавить конфигурацию сетевой библиотеки». Убедитесь, что НЕ установлен флажок «Динамически определять порт».
В SSMS добавьте [NT Authority \ SYSTEM] в качестве входа в Windows и убедитесь, что у него есть доступ на запись к базе данных, которую вы определили в приведенном выше системном DSN ODBC.
Надеюсь, это кому-то поможет.
Павел
Только проверка подлинности Windows работает, когда PerfMon использует odbc для хранения данных на сервере SQL. Так что создание дополнительных SQL-логинов не поможет, лучше используйте учетную запись домена Windows.