Из режима Предприятие получить адрес и тип используемого SQL сервера, название базы данных

1. ardn 628 29.05.13 09:37 Сейчас в теме
Ну собственно вопрос в заголовке темы.
Возможно такое или нет?
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. ediks 336 29.05.13 09:44 Сейчас в теме
СтрокаСоединенияИнформационнойБазы() Вам поможет.

Возвращает значение типа "Строка соединения" информационной базы, которая может содержать все необходимые параметры. Другое дело, что не все параметры являются обязательными :(
3. ardn 628 29.05.13 09:52 Сейчас в теме
возвращает адрес сервера 1С и название базы 1С. А как получить адрес сервера SQL и название базы SQL, используемой в данной базе 1С?
4. ediks 336 29.05.13 09:58 Сейчас в теме
А гляньте мою обработку "Управление сервером предприятия 1С.8Х"
Что-то я там похожее натворил.
5. ardn 628 29.05.13 16:00 Сейчас в теме
Прекрасная обработка!
Для получения нужной информации мы фактически пользуемся консолью сервера 1С. Отлично!

Возник вопрос - я не администратор кластера или сервера 1С, но в консоли имею доступ к серверу без аутентификации. (Точнее, наверное аутентифицируюсь с пустым пользователем/паролем). Но в обычной консоли для получения данных об информационной базе я ввожу пользователя-администратора с паролем этой базы.
В этой же обработке мы аутентифицируемся на кластере, а для идентификации на конкретной базе кода нет. Как это грамотнее сделать?

Получаем список баз из GetInfoBases. Прочитал в СП: "... для чтения значений всех их свойств, кроме Name, необходимы административные права.". Как это сделать?
6. ardn 628 29.05.13 17:37 Сейчас в теме
Так.
Перед получением списка соединений и свойств базы прописал СоединениеРП.AddAuthentication с несколькими вариантами пользователей (у разных баз - разные пользователи).
Соединения выводятся, свойства баз не выдают ошибки, но по прежнему выводят только имя информационной базы, но не сервер SQL и прочее.
7. HIgor 21 30.08.23 12:04 Сейчас в теме
GetInfoBases() получаем не из рабочего процесса, в РП делаем авторизацию пользователем базы с админ правами.
	Коннектор = Новый COMОбъект("V83.COMConnector");
	Агент = Коннектор.ConnectAgent(Сервер);
	Кластеры = Агент.GetClusters();
	Для каждого Кластер из Кластеры Цикл
    	АдминистраторКластера = "";
    	ПарольКластера = "";
    	Агент.Authenticate(Кластер, АдминистраторКластера, ПарольКластера);
    	Процессы = Агент.GetWorkingProcesses(Кластер);
    	Для каждого Процесс из Процессы Цикл
            Порт = Процесс.MainPort;
            // теперь есть адрес и порт для подключения к рабочему процессу
	    РабПроц = Коннектор.ConnectWorkingProcess(Сервер + ":" + СтрЗаменить(Порт, Символы.НПП, ""));
    	    РабПроц.AddAuthentication("Админ в базе", "Пароль админа");

    	    Базы = РабПроц.GetInfoBases();
	        Для каждого База из Базы Цикл
				Попытка
					Сообщить("-------------");
					Сообщить(База.name);
					Сообщить(База.DBName);
					Сообщить(База.ScheduledJobsDenied);
                                        //...
				Исключение	
					Сообщить("-------------");
					Сообщить(База.name);
					Сообщить("-------------");
				КонецПопытки;	
	        КонецЦикла;
	    КонецЦикла;
	КонецЦикла;
Показать
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот