Sdscompany.ru

Компьютерный журнал
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Соединение с сервером баз данных разорвано администратором

Соединение с сервером баз данных разорвано администратором или Неопознанная ошибка HRESULT=80004005

Я думаю каждый хоть раз, но сталкивался с ошибкой 1С Соединение с сервером баз данных разорвано администратором Microsoft SQL Server Native Client 10.0: Неопознанная ошибка HRESULT=80004005

Вот некоторые способы, которые помогут решить данную проблему:
1. Проверить конфигурацию на наличие некорректной информации (мусора). Для этого следует выполнить команду “Проверка конфигурации” с установленным флажком “Проверка логической целостности конфигурации”. При выявлении проблем будет выдано сообщение. Некорректная информация при этом будет удалена автоматически, однако следует обеспечить доступность для изменения корневого объекта конфигурации (напимер, при работе с хранилищем его следует захватить).

2. Если Ваша конфигурация находится на поддержке, следует подобным образом проверить конфигурацию поставщика. Для этого в настройке поддержки следует сохранить конфигурацию поставщика в cf файл, загрузить его в новую базу и выполнить описанную в пункте 1 процедуру. В случае, если было получено сообщение об исправлении, значит конфигурация поставщика содержит некорректную информацию. В этом случае следует снять Вашу конфигурацию с поддержки и заново поставить путем объединения со свежим релизом конфигурации поставщика. В настоящее время все релизы выпускаемые 1С проходят проверку и выпускаются без данной проблемы.

3. Также с этой ситуацией пересекается следующая ситуация:
10007066 Запись данных, содержащих колонки типа ХранилищеЗначения
Проблема:
При использовании СУБД MS SQL SERVER при записи объекта базы данных, содержащего несколько колонок типа ХранилищеЗначения, данные для которых получены из файлов, может происходить ошибка
Ошибка СУБД:Microsoft OLE DB Provider for SQL Server: String data length mismatchHRESULT=80004005и аварийное завершение работы программы.

Включив технологический журнал на время загрузки, можно определить таблицу, в которой содержатся такие хранилища. Найдите средствами MS SQL Server Query Analizer в этой таблице колонки типа image. Для каждой колонки типа image выполните запрос вида:

S_elect top 10 DATALENGTH(_Fld4044)
from _InfoReg4038
order by DATALENGTH(_Fld4044) desc

Нюансы: обратите внимание, что ”Стандартные проверки” платформой (chdbfl, в конфигураторе) упорно говорят, что с базой все ОК.

Суть проблемы: важно, что под это сообщение об ошибке могут подпадать разные причины, но у них есть общая часть для 1С – это не достаточно оперативной памяти. А еще точнее неэффектиное использование ресурсов памяти. Отсюда косвенные способы победить проблему: путем рестарта сервера (на некотрое время становиться больше доступной памяти) или перейти на 64-разрядный сервер приложений.

1С:Предприятие 8.2. Лицензия на сервер (x86-64)

По опыту проблема связана с хранением данных в реквизите хранилище значений либо наличием в таблице config двоичных данных БОЛЬШЕ 120 mb.

Обобщенные рекомендации, если рекомендации от 1С не помогли (проделать следующие действия в указанном порядке):

1. Выключить все фоновый задачи у всех баз
В 8.1.11 появился переключатель “запрет на фоновые задания” в
момент создания базы.

Готов пояснить, фоновые задания сами по себе не зло, но регламентные процедуры
с полнотекстовым поиском – вещь в себе – и память она может через какое время
съедать ресурсы rphost.exe, что на другие операции не останеться, и просто
базу блокировать
т.е. другими словами, после первого шага уже можно проверять – возможно проблема “уйдет”.

2. Перезапустить сервер
Второй шаг является частным случаем для вашего случая и после него тоже
есть смысл проверять работоспособность. Однако поскольку существуют утечки памяти http://www.gilev.ru/1c/memleak, то через некоторое время после рестарта пролема может вернуться.

3) делаем бэкап средствами sql
Делать резервное копирование рекомендую при любых действиях, когда может потребоваться “возврат” к предыдущему состоянию данных

4) снимаем базу с поддержки, выгружаем cf
убиваем в менеджмент консоли базе данных в таблице config запись более 120Мб, делаем “загрузить конфигурацию” (не объединение) убиваем в менеджмент консоли базе данных в таблице config запись более 120Мб, делаем “загрузить конфигурацию” (не объединение)

вот пример работоспособности этого приема
http://partners.v8.1c.ru/forum/thread.jsp?id=543293

1. Открыть конфигратор;
2. Снял конфигурацию с поддержки, ПРИ ЭТОМ КОНФИГУРАЦИЮ НЕ СОХРАНЯЛ!
3. Далее Сохранить конфигурацию в файл (не сохраняя измененной конфигурации);
4. В SQL для требуемой базы выполнил следующую команду:
DELETE FROM dbo.Config WHERE DataSize > 125829120
5. Загрузить сохраненную конфигурацию обратно.

Взято с http://www.forum.mista.ru/topic.php?id=465608

можно попробовать и более радикальный шаг здесь:
удаляем (в менеджмент консоли) в базе данных таблицу “config”
D_rop TABLE [dbo].[Config]

5) делаем “загрузить конфигурацию” (не объединение) из cf
после этого проверяем, проблема уходит.

6) Ошибка :»Соединение с сервером баз данных разорвано администратором
Microsoft OLE DB Provider for SQL Server: Неопознанная ошибка
HRESULT=80004005″

Имеем : 1C 8.1.13.41 УПП 1.2.19.21 на MS SQL 2005 SP3 на Win2003 Server Enterprise на компе 4Gb физ. памяти (SQL настроен на Max Memory 2Gb)

Решение в моем случае:
Виндовс по-умолчанию 2Гб берет себе, а 2 отдает нам. SQL почти всю остальную память поедал (в настройках стоит 2Gb) и оставлял для всех остальных только 128Мб физ. памяти(как и положено SQL- он не должен забирать ВСЁ, должен 128 оставить). Ошибка 1С начала проявляться после перехода на релиз 1.2.21.1. Да, действительно, в релизе 1.2.19.1 в файле dbo.Config не было записей больше 120Мб. А вот после обновления на 1.2.21.1 такая запись (примерно 135мб )появляется. При снятии с поддержки запись исчезает сама, и ничего удалять не приходится. При постановке на поддержку -снова появляется. Я так понял, что это и есть конфигурация поставщика.
Если SQL оставляет всего 128, а надо целых 135, то вывод- надо дать рабочим процессам живую физическую память. Moжно урезать SQL. А можно винды. Установив в boot.ini ключ /3GB я тем самым отдал виндам 1Gb, а всему остальному 3Gb, а не 2/2 как по умолчанию. После перезагрузки — все ОК.

У Вас есть свое решение!? оставьте его в комментариях)

Неопознанная ошибка HRESULT=80004005 или почему не выгружаются базы данных в dt

На ИТС часто даются описания кодов ошибок, но они не всегда исчерпывающие. В этой статье мы будем пытаться продолжать «исчерпывать»

При эсклуатации баз данных 1С вы можете сталкнуться с такой ситуацией:

Сеанс работы завершен администратором.
по причине:
Соединение с сервером баз данных разорвано администратором
Microsoft OLE DB Provider for SQL Server: Неопознанная ошибка
HRESULT=80004005

Признаки проблемы: нельзя выгрузить в dt

Внимание! Ошибок с кодом 80004005 уйма, более подробно классофикацию я описал здесь http://www.gilev.ru/1c/mssql/errsql.htm . Здесь же мы говорим именно о «неопознанной ошибке»

Сотрудники 1С рекомендуют решать проблему так:

1. Проверить конфигурацию на наличие некорректной информации (мусора). Для этого следует выполнить команду «Проверка конфигурации» с установленным флажком «Проверка логической целостности конфигурации». При выявлении проблем будет выдано сообщение. Некорректная информация при этом будет удалена автоматически, однако следует обеспечить доступность для изменения корневого объекта конфигурации (напимер, при работе с хранилищем его следует захватить).

2. Если Ваша конфигурация находится на поддержке, следует подобным образом проверить конфигурацию поставщика. Для этого в настройке поддержки следует сохранить конфигурацию поставщика в cf файл, загрузить его в новую базу и выполнить описанную в пункте 1 процедуру. В случае, если было получено сообщение об исправлении, значит конфигурация поставщика содержит некорректную информацию. В этом случае следует снять Вашу конфигурацию с поддержки и заново поставить путем объединения со свежим релизом конфигурации поставщика. В настоящее время все релизы выпускаемые 1С проходят проверку и выпускаются без данной проблемы.

3. Также с этой ситуацией пересекается следующая ситуация:

10007066 Запись данных, содержащих колонки типа ХранилищеЗначения
Проблема:
При использовании СУБД MS SQL SERVER при записи объекта базы данных, содержащего несколько колонок типа ХранилищеЗначения, данные для которых получены из файлов, может происходить ошибка
Ошибка СУБД:Microsoft OLE DB Provider for SQL Server: String data length mismatchHRESULT=80004005и аварийное завершение работы программы.
Дата публикации: 2008-11-13

Включив технологический журнал на время загрузки, можно определить таблицу, в которой содержатся такие хранилища. Найдите средствами MS SQL Server Query Analizer в этой таблице колонки типа image. Для каждой колонки типа image выполните запрос вида:

Читать еще:  Libreoffice межстрочный интервал

select top 10 DATALENGTH(_Fld4044)
from _InfoReg4038
order by DATALENGTH(_Fld4044) desc

Нюансы: обратите внимание, что «Стандартные проверки» платформой (chdbfl, в конфигураторе) упорно говорят, что с базой все ОК.

Суть проблемы: важно, что под это сообщение об ошибке могут подпадать разные причины, но у них есть общая часть для 1С — это не достаточно оперативной памяти. А еще точнее неэффектиное использование ресурсов памяти. Отсюда косвенные способы победить проблему: путем рестарта сервера (на некотрое время становиться больше доступной памяти) или перейти на 64-разрядный сервер приложений.

1С:Предприятие 8.2. Лицензия на сервер (x86-64)

По опыту проблема связана с хранением данных в реквизите хранилище значений либо наличием в таблице config двоичных данных БОЛЬШЕ 120 mb.

Обобщенные рекомендации, если рекомендации от 1С не помогли (проделать следующие действия в указанном порядке):
1. Выключить все фоновый задачи у всех баз

В 8.1.11 появился переключатель «запрет на фоновые задания» в
момент создания базы.

Готов пояснить, фоновые задания сами по себе не зло, но регламентные процедуры
с полнотекстовым поиском — вещь в себе — и память она может через какое время
съедать ресурсы rphost.exe, что на другие операции не останеться, и просто
базу блокировать
т.е. другими словами, после первого шага уже можно проверять — возможно проблема «уйдет».
2. Перезапустить сервер

Второй шаг является частным случаем для вашего случая и после него тоже
есть смысл проверять работоспособность. Однако поскольку существуют утечки памяти http://www.gilev.ru/1c/memleak, то через некоторое время после рестарта пролема может вернуться.
3) делаем бэкап средствами sql

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

4) снимаем базу с поддержки, выгружаем cf

убиваем в менежмент консоли базе данных в таблице config запись более 120Мб, делаем «загрузить конфигурацию» (не объединение) убиваем в менежмент консоли базе данных в таблице config запись более 120Мб, делаем «загрузить конфигурацию» (не объединение)

вот пример работоспособности этого приема

1. Открыть конфигратор;
2. Снял конфигурацию с поддержки, ПРИ ЭТОМ КОНФИГУРАЦИЮ НЕ СОХРАНЯЛ!
3. Далее Сохранить конфигурацию в файл (не сохраняя измененной конфигурации);
4. В SQL для требуемой базы выполнил следующую команду:
DELETE FROM dbo.Config WHERE DataSize > 125829120
5. Загрузить сохраненную конфигурацию обратно.

Взято с http://www.forum.mista.ru/topic.php?id=465608

можно попробывать и более радикальный шаг здесь:
удаляем (в менежмент консоли) в базе данных таблицу «config»

DROP TABLE [dbo].[Config]
5) делаем «загрузить конфигурацию» (не объединение) из cf

после этого проверяем, проблема уходит.

Неопознанная ошибка HRESULT=80004005 или почему не выгружаются базы данных в dt : 5 комментариев

спасибо, огромное, тут день программиста, а у буха база не выгружалась, теперь можно идти бухать со спокойной совестью.

Соединение с сервером баз данных разорвано администратором

Помогите, пожалуйста!
Пытаюсь установить PHPBB

Про установке форума выдает:
Warning: mysql_connect() [function.mysql-connect]: Access denied for user ‘spoolka.mysql’@’10.1.89.115’ (using password: YES) in /home/spoolka/bullka.ru/docs/bullclub/db/mysql4.php on line 48

Warning: mysql_error(): supplied argument is not a valid MySQL-Link resource in /home/spoolka/bullka.ru/docs/bullclub/db/mysql4.php on line 330

Warning: mysql_errno(): supplied argument is not a valid MySQL-Link resource in /home/spoolka/bullka.ru/docs/bullclub/db/mysql4.php on line 331
phpBB : Critical Error

Could not connect to the database

Ввожу следующие параметры:
Тип базы данных:MySQL 4/5
Имя сервера БД / DSN: spoolka.mysql
Название базы данных: spoolka_bullka
Имя пользователя БД: spoolka_mysql

БД отвалилась
Joomla
«Сайт недоступен.
Пожалуйста, сообщите об этом Администратору
Невозможно подключиться к серверу базы данных»
через myadmin базу видно кстати.

надеюсь эту ветку кто прочитает, все-таки работать надо, а сайт лежит.

БД отвалилась
Joomla
«Сайт недоступен.
Пожалуйста, сообщите об этом Администратору
Невозможно подключиться к серверу базы данных»
через myadmin базу видно кстати.

надеюсь эту ветку кто прочитает, все-таки работать надо, а сайт лежит.

Судя по логину в PMA необходимо указывать данные:
host: infosoft.mysql
login: infosoft_mysql
pass: ****

Вы указываете правильные данные?

]$ mysql -h yuranix.mysql -u yuranix_mysql -p******
ERROR 1045 (28000): Access denied for user ‘yuranix_mysql’@’IP’ (using password: YES)

Подведем итог: с одного аккаунта вы пробуете подключиться к БД другого хостинга?
Это возможно только есть вы ставленые соответствующие права, т.е. 2 хостинга размещены на одном договоре и есть соответствующие настройки в панели управления хостингом в разделе СУБД.
А хостинги infosoft и yuranix на разных договорах. Так что импортируйте БД на новый хостинг и указываейте в скриптах корректные параметры подключения.

при попытке зайти в phpmyadmin, и при вводе:
Сервер: vitaly.mysql
Пользователь: vitaly_mysql
Пароль: ****

. выдает ошибку:
#2005 — Unknown MySQL server host ‘vitaly.mysql’ (1)

— может я что-то упустил ?

Такая же проблема. Только в ПХПМуадмин заходит, а вот через шелл никак:

]$ mysql -h kovalyov.mysql
ERROR 2005 (HY000): Unknown MySQL server host ‘kovalyov.mysql’ (1)

Сап молчит уже почти 2 часа.

При регистрации нового хостинга одна и та же проблема. Потом «проходит само»:

идентификатор хостинга: zhogoff
«Ошибка соединения с сервером баз данных. Проверьте правильность введенных параметров. Unknown MySQL server host ‘zhogoff.mysql’ (1)»

Хостинг зарегистрирован сегодня, в районе 1:00. Аналогичная проблема была с хостингом omegus в первый день после подключения. При этом сайт доступен через web и ftp.

При регистрации нового хостинга одна и та же проблема. Потом «проходит само»:

идентификатор хостинга: zhogoff
«Ошибка соединения с сервером баз данных. Проверьте правильность введенных параметров. Unknown MySQL server host ‘zhogoff.mysql’ (1)»

Хостинг зарегистрирован сегодня, в районе 1:00. Аналогичная проблема была с хостингом omegus в первый день после подключения. При этом сайт доступен через web и ftp.

Joomla 1.5
Login: namiks
договор 400724/NIC-D

аналогично при установке не видит mysql
исправьте пожалуйста

Не могу установить соединение с БД.
В панели управления постоянно перескакивает права доступа пользователя БД на «Доступ закрыт».

По почте никто не отвечает. По телефону сказали что до 10 числа у вас выходной.

Сайты не работают.

upd: ftp тоже не работает

Заработало всё.
Это плохо что быват перебои, народ вон жалуется на форуме. А я всем вас хвалил.

Не могу установить соединение с БД.
В панели управления постоянно перескакивает права доступа пользователя БД на «Доступ закрыт».
По почте никто не отвечает. По телефону сказали что до 10 числа у вас выходной.
Сайты не работают.
upd: ftp тоже не работает

Заработало всё.
Это плохо что быват перебои, народ вон жалуется на форуме. А я всем вас хвалил.

В панели управления в разделе СУБД -> MySQL -> Базы данных
>> Ошибка при получении списка баз данных MySQL.

При попытке создания нового пользователя (базы)
>> Ошибка при создании базы данных.Внутренняя ошибка при обработке задания синхронизации данных о пользователях MySQL.Не указаны базы данных для удаления.

При попытке рестарта сервера:
>> При перезапуске Mysql произошла ошибка: could not translate host name «db.hostfm01.sys» to address: hostname nor servname provided, or not known

Подскажите способы решения данной проблемы

Аналогичная проблема. Как решить?

В панели управления в разделе СУБД -> MySQL -> Базы данных
>> Ошибка при получении списка баз данных MySQL.

При попытке создания нового пользователя (базы)
>> Ошибка при создании базы данных.Внутренняя ошибка при обработке задания синхронизации данных о пользователях MySQL.Не указаны базы данных для удаления.

При попытке рестарта сервера:
>> При перезапуске Mysql произошла ошибка: could not translate host name «db.hostfm01.sys» to address: hostname nor servname provided, or not known

В общем чем то похожая проблемма но решить ее не удалось CMS Joomla 1.5.4

var $dbtype = ‘mysql’;
var $host = ‘localhost’;
var $user = ‘capital_mysql’;
var $password = ‘*******’;
var $db = ‘capital_gkcp’;
var $dbprefix = ‘jos_’;

Читать еще:  Администрирование active directory

А нет искры! пароль в пхпмуадмин работет, права у пользователя capital_mysql выставленны, базу импортировал. в чем проблемма?
Ну оч срочна надо решить, заказчик нервный. configuration.php все прописал.

Я так думаю здесь должно быть capital.mysql , т.е. идентификатор хостинга.mysql

Знаю на мастерхосте и ютексе localhost катит, здесь нет.

Добрый день!
Joomla 1.5, та же проблема как у многих.
4-й шаг установки «Конфигурация базы данных»
Тип базы данных : mysql
Название хоста : mediapage.mysql
Имя пользователя : mediapage_mysql
Пароль : ****504*
Имя базы данных : mediapage_db

Unable to connect to the database:Could not connect to MySQL

Та же проблема на новом хостинге

/meeu.me/docs]$ mysql -h meeu.mysql
ERROR 2005 (HY000): Unknown MySQL server host ‘meeu.mysql’ (1)

Установщик joomla тоже не может подключится.

Та же проблема на новом хостинге

/meeu.me/docs]$ mysql -h meeu.mysql
ERROR 2005 (HY000): Unknown MySQL server host ‘meeu.mysql’ (1)

Установщик joomla тоже не может подключится.

Добрый день!
Joomla 1.5, та же проблема как у многих.
4-й шаг установки «Конфигурация базы данных»
Тип базы данных : mysql
Название хоста : mediapage.mysql
Имя пользователя : mediapage_mysql
Пароль : ****504*
Имя базы данных : mediapage_db

Unable to connect to the database:Could not connect to MySQL

Joomla 1.5, та же проблема как у многих.
4-й шаг установки «Конфигурация базы данных»
Тип базы данных : mysql
Название хоста : logotex.mysql
Имя пользователя : logotex_adm
Пароль : ****ln**
Имя базы данных : logotex_base

Unable to connect to the database:Could not connect to MySQL

К PhpMyAdmin доступ есть.

Здравствуйте!
Вчера создал субдомен и попробовал сделать сайт на CMS. Ничего не получилось и я сайт удалил.
Потом, в связи с обнаружением на своем компе вирусов решил поменять пароли, в том числе и к MySQL. После смены паролей обнаружил, что не открывается форум (phpBB, до вчерашнего дня работал уже почти год без проблем). Браузер выдает ошибки:

Warning: mysql_connect() [function.mysql-connect]: Access denied for user ‘sk16rus_mysql’@’10.1.7.240’ (using password: YES) in /home/sk16rus/sk16.ru/docs/forum/db/mysql4.php on line 48

Warning: mysql_error(): supplied argument is not a valid MySQL-Link resource in /home/sk16rus/sk16.ru/docs/forum/db/mysql4.php on line 330

Warning: mysql_errno(): supplied argument is not a valid MySQL-Link resource in /home/sk16rus/sk16.ru/docs/forum/db/mysql4.php on line 331

phpBB : Critical Error
Could not connect to the database

Служба поддержки посоветовала «. проверить правильно ли Вы указали пароль для соединения с базой данных в файле конфигурации форума.»

По ряду причин сейчас я не имею возможности зайти в панель управления хостингом и попробовать разобраться в проблеме. Тем более, очень смутно представляю, что и где я должен посмотреть (образования, к сожалению, не хватает).

Если не сложно, объясните (желательно пошагово), что мне надо сделать, чтобы устранить проблему?
И еще — связана ли эта проблема с моими вчерашними действиями — созданием и удаление сайта и сменой пароля доступа к БД, или это совпадение?

Спасибо
С уважением
Красильников Сергей

1С 8.1: Неопознанная ошибка HRESULT=80004005 или почему не выгружаются базы данных в dt

При эсклуатации баз данных 1С вы можете сталкнуться с такой ситуацией:

Сеанс работы завершен администратором.
по причине:
Соединение с сервером баз данных разорвано администратором
Microsoft OLE DB Provider for SQL Server: Неопознанная ошибка
HRESULT=80004005

Признаки проблемы: нельзя выгрузить в dt

Внимание! Ошибок с кодом 80004005 уйма, более подробно классофикацию я описал здесь http://www.gilev.ru/1c/mssql/errsql.htm . Здесь же мы говорим именно о «неопознанной ошибке»

Сотрудники 1С рекомендуют решать проблему так:

1. Проверить конфигурацию на наличие некорректной информации (мусора). Для этого следует выполнить команду «Проверка конфигурации» с установленным флажком «Проверка логической целостности конфигурации». При выявлении проблем будет выдано сообщение. Некорректная информация при этом будет удалена автоматически, однако следует обеспечить доступность для изменения корневого объекта конфигурации (напимер, при работе с хранилищем его следует захватить).

2. Если Ваша конфигурация находится на поддержке, следует подобным образом проверить конфигурацию поставщика. Для этого в настройке поддержки следует сохранить конфигурацию поставщика в cf файл, загрузить его в новую базу и выполнить описанную в пункте 1 процедуру. В случае, если было получено сообщение об исправлении, значит конфигурация поставщика содержит некорректную информацию. В этом случае следует снять Вашу конфигурацию с поддержки и заново поставить путем объединения со свежим релизом конфигурации поставщика. В настоящее время все релизы выпускаемые 1С проходят проверку и выпускаются без данной проблемы.

Нюансы: обратите внимание, что «Стандартные проверки» платформой (chdbfl, в конфигураторе) упорно говорят, что с базой все ОК.

Также с этой ситуацией пересекается следующая ситуация:

10007066 Запись данных, содержащих колонки типа ХранилищеЗначения
Проблема:
При использовании СУБД MS SQL SERVER при записи объекта базы данных, содержащего несколько колонок типа ХранилищеЗначения, данные для которых получены из файлов, может происходить ошибка
Ошибка СУБД:Microsoft OLE DB Provider for SQL Server: String data length mismatchHRESULT=80004005и аварийное завершение работы программы.
Дата публикации: 2008-11-13

Суть проблемы: важно, что под это сообщение об ошибке могут подпадать разные причины, но у них есть общая часть для 1С — это не достаточно оперативной памяти. А еще точнее неэффектиное использование ресурсов памяти. Отсюда косвенные способы победить проблему: путем рестарта сервера (на некотрое время становиться больше доступной памяти) или перейти на 64-разрядный сервер приложений. По опыту проблема связана с хранением данных в реквизите хранилище значений либо наличием в таблице config двоичных данных БОЛЬШЕ 120 mb.

Обобщенные рекомендации, если рекомендации от 1С не помогли (проделать следующие действия в указанном порядке):
1. Выключить все фоновый задачи у всех баз

В 8.1.11 появился переключатель «запрет на фоновые задания» в
момент создания базы.

Готов пояснить, фоновые задания сами по себе не зло, но регламентные процедуры
с полнотекстовым поиском — вещь в себе — и память она может через какое время
съедать ресурсы rphost.exe, что на другие операции не останеться, и просто
базу блокировать
т.е. другими словами, после первого шага уже можно проверять — возможно проблема «уйдет».

2. Перезапустить сервер

Второй шаг является частным случаем для вашего случая и после него тоже
есть смысл проверять работоспособность. Однако поскольку существуют утечки памяти http://www.gilev.ru/1c/memleak, то через некоторое время после рестарта пролема может вернуться.

3) делаем бэкап средствами sql

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

4) снимаем базу с поддержки, выгружаем cf

убиваем в менежмент консоли базе данных в таблице config запись более 120Мб, делаем «загрузить конфигурацию» (не объединение) убиваем в менежмент консоли базе данных в таблице config запись более 120Мб, делаем «загрузить конфигурацию» (не объединение)

вот пример работоспособности этого приема

можно попробывать и более радикальный шаг здесь:
удаляем (в менежмент консоли) в базе данных таблицу «config»

DROP TABLE [dbo].[Config]

5) делаем «загрузить конфигурацию» (не объединение) из cf

Соединение с сервером баз данных разорвано администратором

set username=пользователь_1С_с_админскими_правами
set userpass=*******
set server_name=сервер
set p_b=P:1c-backup
set p_rar=»M:Program filesWinrarrar.exe»
set p_1c=»M:Program Files1Cv77BIN1cv7s.exe»

taskkill /F /IM 1cv7s.exe /T
del /F /Q %p_b%Temp*.*

set base_name=lina-base
%p_1c% config /m /d \%server_name%%base_name% /n %username% /p %userpass% /@ %p_b%cmdexport-%base_name%.cfg
%p_rar% a -ilog%p_b%Temp1c-backup-data-%base_name%.log -r -x*.CDX %p_b%Temp1c-backup-data-%base_name%.rar \%server_name%%base_name%
%p_rar% a -ilog%p_b%1c-daily1c-backup-%base_name%.log -ep -agA %p_b%1c-daily1c-backup-%base_name%- %p_b%Temp
del /F /Q %p_b%Temp*.*

Все юзера работаю через цитрикс, поэтому просто убивается процесс 1С-ки. Скрипт по сети обращается к базе по-привычке. Убивание процессов 1С запущеных по сети не предусмотрено, но думаю можно банально рестартануть мускуль.

Добавлено:
Запускать из шедулера, не забыть указать логин с которого запускать задание

Поставь WSH (Windows Script Host) и будет тебе счастье!

On Error Resume Next

Set WshShell = CreateObject(«WScript.Shell»)
Set objFSO = CreateObject(«Scripting.FileSystemObject»)

strDateStart = Date ‘ Дата старта
strTimeStart = Time ‘ Время старта
aDate = split(strDateStart, «.»)
nDays = 7 ‘ Количество дней для хранения суточных выгрузок
nWeeks = 4 ‘ Количество недель для хранения еженедельных выгрузок
nMonths = 6 ‘ Количество месяцев для хранения ежемесячных выгрузок
nYears = 5 ‘ Количество лет =ъ для хранения ежегодичных выгрузок
strDataPath = «F:1cdb» ‘ Путь к выгружаемой БД
strDataDailyFileName = «1c8-accounting_db_» & aDate(2) & «-» & aDate(1) & «-» & aDate(0) ‘ Шаблон имени создаваемой выгрузки (без расширения)
strPathArchiveLocal = «C:backupertmp» ‘ Локальный ресурс для хранения выгрузок
strPathArchiveRemote = «\192.168.0.2f$backups1c-dbs» ‘ Сетевой ресурс для хранения выгрузок
strDirDaily = «daily» ‘ Подпапка для хранение ежедневных выгрузок
strDirWeekly = «weekly» ‘ Подпапка для хранение еженедельных выгрузок
strDirMonthly = «monthly» ‘ Подпапка для хранение ежемесячных выгрузок
strDirYearly = «yearly» ‘ Подпапка для хранение ежегодичных выгрузок
strLogFile = «C:backuperlogs» & strDataDailyFileName & «.log» ‘ Имя лог-файла скрипта (полное)
strArcErrLogFile = strPathArchiveLocal & strDataDailyFileName & «_1с.log» ‘ Имя лог-файла 1С (полное)
strPathToArchiver = «%ProgramFiles%1cv81bin1cv8.exe» ‘ Путь до 1cv8.exe
strPathToBlat = «C:backuperblat262fullblat.exe» ‘ Путь до blat.exe
strRecipientEmail = «email@server.com» ‘ e-mail, на который слать ошибочные логи скрипта
strSMTPUsr = «admin@server.com» ‘ SMTP пользователь
strSMTPPwd = «password» ‘ SMTP пароль
strSMTPSrv = «smtp.server.com» ‘ SMTP сервер

Читать еще:  Активатор для microsoft office 2020 professional

If objFSO.FolderExists(strPathArchiveLocal) = False Then
objFSO.CreateFolder(strPathArchiveLocal) ‘ Проверка путей
End If
If objFSO.FolderExists(strPathArchiveRemote) = False Then
objFSO.CreateFolder(strPathArchiveRemote) ‘ Проверка путей
End If
If objFSO.FolderExists(strPathArchiveRemote & strDirDaily) = False Then
objFSO.CreateFolder(strPathArchiveRemote & strDirDaily) ‘ Проверка путей
End If
If objFSO.FolderExists(strPathArchiveRemote & strDirWeekly) = False Then
objFSO.CreateFolder(strPathArchiveRemote & strDirWeekly) ‘ Проверка путей
End If
If objFSO.FolderExists(strPathArchiveRemote & strDirMonthly) = False Then
objFSO.CreateFolder(strPathArchiveRemote & strDirMonthly) ‘ Проверка путей
End If
If objFSO.FolderExists(strPathArchiveRemote & strDirYearly) = False Then
objFSO.CreateFolder(strPathArchiveRemote & strDirYearly) ‘ Проверка путей
End If
If objFSO.FileExists(strLogFile) = True Then
objFSO.DeleteFile(strLogFile) ‘ Проверка существования лога скрипта и его удаление (сегодняшнего)
End If

WriteTextFiles Now & » ==> СТАРТ СКРИПТА » & WScript.ScriptFullName, strLogFile

‘==========
‘ Выгрузка
‘==========
WriteTextFiles Now & » Выгрузка: » & strDataPath & » ===> » & strPathArchiveLocal &_
strDataDailyFileName & «.dt», strLogFile
Set objFolder = objFSO.GetFolder(strDataPath)
WriteTextFiles Now & » Размер базы: » & Round(objFolder.Size / 1048576,2) & » Mb», strLogFile ‘ Вычисление размера базы
WshShell.Run chr(34) & strPathToArchiver & chr(34) &_
«CONFIG /F» & chr(34) & strDataPath & chr(34) & » /DumpIB» & chr(34) & strPathArchiveLocal &_
strDataDailyFileName & «.dt» & chr(34) & » /WA+ » & «/Out» & chr(34) & strArcErrLogFile &_
chr(34), 0, True ‘ Запуск выгрузки
If objFSO.FileExists(strPathArchiveLocal & strDataDailyFileName & «.dt») = True Then ‘ Вычисление размера выгрузки
Set objTestFile = objFSO.GetFile(strPathArchiveLocal & strDataDailyFileName & «.dt»)
WriteTextFiles Now & » Размер выгрузки: » & Round(objTestFile.Size / 1048576,2) & » Mb», strLogFile
Else
WriteTextFiles Now & » ОШИБКА. ФАЙЛ: » & strPathArchiveLocal & strDataDailyFileName & «.dt» &_
» НЕ СОЗДАН!», strLogFile
objFSO.MoveFile strLogFile, strLogFile & «.err»
strResult = ReportIssueByMail (strLogFile & «.err»)
WScript.Quit
End If

‘==========================================
‘ Перемещение созданной выгрузки и лога 1С
‘==========================================
strReturn = MoveNewArcFiles (strPathArchiveLocal & strDataDailyFileName & «.dt»,_
strPathArchiveRemote & strDirDaily & strDataDailyFileName & «.dt») ‘ На сетевой ресурс в папку ежедневных выгрузок
strReturn = MoveNewArcFiles (strArcErrLogFile, strPathArchiveRemote & strDirDaily &_
strDataDailyFileName & «_1с.log») ‘ Лог 1С туда же

‘=======================
‘ Рассовываем по папкам
‘=======================
If (WeekDay(strDateStart, 2) = 1) And (Day(strDateStart) <> 1) Then
WriteTextFiles Now & » Перемещение в папку еженедельных выгрузок», strLogFile
strReturn = MoveNewArcFiles (strPathArchiveRemote & strDirDaily & strDataDailyFileName & «.dt»,_
strPathArchiveRemote & strDirWeekly & strDataDailyFileName & «.dt»)
strReturn = MoveNewArcFiles (strPathArchiveRemote & strDirDaily & strDataDailyFileName & «_1с.log»,_
strPathArchiveRemote & strDirWeekly & strDataDailyFileName & «_1с.log») ‘ Если запущено в ПН (но не 1-го числа месяца), перемещаем в папку еженедельников
End If

If Day(strDateStart) = 1 Or _
((Day(strDateStart) = 2 Or Day(strDateStart) = 3) And (WeekDay(strDateStart, 2) = 6 Or _
WeekDay(strDateStart, 2) = 7)) Then
WriteTextFiles Now & » Перемещение в папку ежемесячных выгрузок», strLogFile
strReturn = MoveNewArcFiles (strPathArchiveRemote & strDirDaily & strDataDailyFileName & «.dt»,_
strPathArchiveRemote & strDirMonthly & strDataDailyFileName & «.dt»)
strReturn = MoveNewArcFiles (strPathArchiveRemote & strDirDaily & strDataDailyFileName & «_1с.log»,_
strPathArchiveRemote & strDirMonthly & strDataDailyFileName & «_1с.log») ‘ Если запущено 1-го числа месяца (с учетом, попадало ли это на СБ или ВС), перемещаем в папку ежемесячников
End If

If Day(strDateStart) = 9 And Month(strDateStart) = 1 Then
WriteTextFiles Now & » Перемещение в папку ежегодичных выгрузок», strLogFile
strReturn = MoveNewArcFiles (strPathArchiveRemote & strDirDaily & strDataDailyFileName & «.dt»,_
strPathArchiveRemote & strDirYearly & strDataDailyFileName & «.dt»)
strReturn = MoveNewArcFiles (strPathArchiveRemote & strDirDaily & strDataDailyFileName & «_1с.log»,_
strPathArchiveRemote & strDirYearly & strDataDailyFileName & «_1с.log») ‘ Если запущено 9-го января, перемещаем в папку ежегодичников
End If

‘=========================================
‘ Удаляем неактуальные выгрузки и логи 1С
‘=========================================
WriteTextFiles Now & » Удаление выгрузок старше » & nDays & » дней. «, strLogFile
strReturn = DeleteOldFiles (nDays, strPathArchiveRemote & strDirDaily, «d») ‘ Удаление всех файлов (выгрузок и их логов 1С) старше nDays дней из папки ежедневных выгрузок
WriteTextFiles Now & » Удаление выгрузок старше » & nWeeks & » недель. «, strLogFile
strReturn = DeleteOldFiles (nDays, strPathArchiveRemote & strDirWeekly, «ww») ‘ Удаление всех файлов (выгрузок и их логов 1С) старше nWeeks недель из папки еженедельных выгрузок
WriteTextFiles Now & » Удаление выгрузок старше » & nMonths & » месяцев. «, strLogFile
strReturn = DeleteOldFiles (nDays, strPathArchiveRemote & strDirMonthly, «m») ‘ Удаление всех файлов (выгрузок и их логов 1С) старше nMonths месяцев из папки ежемесячных выгрузок
WriteTextFiles Now & » Удаление выгрузок старше » & nYears & » лет. «, strLogFile
strReturn = DeleteOldFiles (nDays, strPathArchiveRemote & strDirYearly, «yyyy») ‘ Удаление всех файлов (выгрузок и их логов 1С) старше nYears лет из папки ежегодичных выгрузок

WriteTextFiles Now & » Операции окончены. Время выполнения: » & CDate(Time — strTimeStart), strLogFile
WriteTextFiles Now & » ==> ФИНИШ СКРИПТА » & WScript.ScriptFullName, strLogFile

‘=============================
‘ Функция оповещения по почте
‘=============================
Function ReportIssueByMail (strSource)
WshShell.Run chr(34) & strPathToBlat & chr(34) & strSource & » -to » & strRecipientEmail &_
» -serverSMTP » & strSMTPSrv & » -portSMTP 25 -u » & strSMTPUsr & » -pw » & strSMTPPwd &_
» -f » & strSMTPUsr, 0, True ‘ Отправка e-mail
End Function

‘============================
‘ Функция перемещения файлов
‘============================
Function MoveNewArcFiles (strPathSrc, strPathDst)
objFSO.MoveFile strPathSrc, strPathDst
If objFSO.FileExists(strPathDst) = True Then
WriteTextFiles Now & » Перемещено » & strPathSrc & » ===> » & strPathDst, strLogFile
Else WriteTextFiles Now & » ОШИБКА. НЕ ПЕРЕМЕЩЕНО: » & strPathSrc & » ===> » & strPathDst, strLogFile
End If
End Function

‘======================================
‘ Функция удаления неактуальных файлов
‘======================================
Function DeleteOldFiles (strPeriod, strPath, intrvl)
Set objFolder = objFSO.GetFolder(strPath)
Set objFiles = objFolder.Files
For Each File In objFiles
Result = Abs(DateDiff(intrvl, Now, File.DateCreated))
If Result > strPeriod-1 Then
File.Delete
If objFSO.FileExists(File.Path) = False Then
WriteTextFiles Now & » Удален файл: » & File.Path & » от: » & File.DateCreated
Else WriteTextFiles Now & » ОШИБКА. НЕ УДАЛЕНО: » & File.Path & » ОТ: » & File.DateCreated
End If
End If
Next
End Function

‘===================================
‘ Процедура записи текстового файла
‘===================================
Sub WriteTextFiles (strText, strPath)
Set objFile = objFSO.OpenTextFile(strPath, 8, True)
objFile.WriteLine(strText)
objFile.Close
End Sub

За основу взят именно скрипт SPV_Ed, хотя и очень существенно переработан.
Бэкапит базы 8-ки (файловой) выгрузками средствами самой 1с. Шлет на почту сбойный лог, если таковой есть. Для отправки почты нужна бесплатная консольная прога — blat. Как и в оригинале, рубит все терминальные соединения, делает ротацию бэкапов. Ротацию пока протестить не успел, но в текущее время работает отлично скрипт.

Добавлено:
Кстати, недолго думая можно прикрутить и абсолютно любые манипуляции с базой средствами 1с. И бэкап SQL в том числе.

Ссылка на основную публикацию
Adblock
detector