Восстановление страниц (sql server)restore pages (sql server)

Содержание

Часто встречающиеся ошибки 1С и общие способы их решения Промо

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

Ошибка СУБД в 1С: как исправить

Для проверки физической целостности файла базы данных 1С предусмотрена утилита chdbfl.exe.

Она находится в папке с установленной платформой 1С Предприятие в папке bin. В нашем случае она располагается по адресу: диск С:\ProgramFiles\1cv8\8.3.12.1440\bin, где 8.3.12.1440 — номер установленной платформы 1С.

Откроем папку, найдем файл утилиты и запустим ее.

В открывшемся окне укажем путь к файлу нашей информационной базы — это файл 1Cv8.1CD.

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

Выбираем файл нашей конфигурации, который нужно исправить, устанавливаем галочку Исправлять обнаруженные ошибки и нажимаем кнопку Выполнить.

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

По окончании проверки программа выведет результат об исправленных ошибках. Даже если программа пишет Ошибок не обнаружено, исправление нашей базы все-таки произошло.

В большинстве случаев утилита chdbfl.exe справляется со своей задачей по исправлению ошибок СУБД в 1С 8.3. После окончания проверки необходимо проверить результат.

В нашем случае исправление ошибки прошло успешно, база 1С 8.3 работает, документ проведен и ошибка больше не появляется.

В случае если этот способ Вам не помог, то можно попробовать восстановить поврежденную базу через Конфигуратор — пункт меню Тестирование и исправление. Подробнее об этом способе тестирования в статье Исправление базы 1С 8.3 какие галочки ставить.

У Вас задваивание безналичных платежей в УТ 11.4, исправляем!!!

Всем привет. Может такое произойти, что в окне безналичных платежей конфигурации УТ 11 происходит задвоение информации, т.е. от одного и того же контрагента пришли поступления одной и той же суммой в один и тот же день (дублирование). У меня данные из клиент-банка заливаются в БП, а затем через обмен выполняется перелив с БП в УТ, вот и получилось у меня задвоение. В журнале операций все прошло нормально, без задвоений, а вот в самой программе отобразилось уже так, произойти это могло по многим причинам (коряво прошел обмен, ошибка релиза, внутренние ошибки алгоритма и т.п. — вариантов масса).
Что я сделал, в первую очередь, конечно, резервную копию.

Проверка работы расширений после обновлений

Иногда бывает, что после обновления конфигурации некоторые расширения перестают работать и часто такие ошибки выявляются только в процессе тестирования или рабочем режиме.
При правильной разработке и проектировании расширения можно свести к минимуму такие ошибки, но иногда их не избежать.
Если в базе расширений не более 5-10, то проверить каждое после обновления не составляет труда, а вот если их больше 50 — проверка отнимает слишком много времени
Поэтому была написана обработка, которая в автоматическом режиме проверяет расширения, подключенные в программе.
Обработка универсальная и будет работать в любой программе, в которой есть расширения.

3 стартмани

Сервер 1С:Предприятие на Ubuntu 16.04 и PostgreSQL 9.6, для тех, кто хочет узнать его вкус. Рецепт от Капитана

Если кратко описать мое отношение к Postgres: Использовал до того, как это стало мейнстримом.
Конкретнее: Собирал на нем сервера для компаний среднего размера (до 50 активных пользователей 1С).
На настоящий момент их набирается уже больше, чем пальцев рук пары человек (нормальных, а не фрезеровщиков).
Следуя этой статье вы сможете себе собрать такой же и начать спокойную легальную жизнь, максимально легко сделать первый шаг в мир Linux и Postgres.
А я побороться за 1. Лучший бизнес-кейс (лучший опыт автоматизации предприятия на базе PostgreSQL).
Если, конечно, статья придется вам по вкусу.

Поддержка совместимостиCompatibility Support

В SQL Server 2019 (15.x)SQL Server 2019 (15.x)можно восстановить пользовательскую базу данных из резервной копии базы данных, созданной с помощью SQL Server 2005 (9.x)SQL Server 2005 (9.x) или более поздней версии.In SQL Server 2019 (15.x)SQL Server 2019 (15.x), you can restore a user database from a database backup that was created by using SQL Server 2005 (9.x)SQL Server 2005 (9.x) or a later version. Восстановление резервных копий баз данных master, model и msdb, созданных путем использования SQL Server 2005 (9.x)SQL Server 2005 (9.x) через SQL Server 2012 (11.x)SQL Server 2012 (11.x), невозможно в SQL Server 2019 (15.x)SQL Server 2019 (15.x).For backups of master, model, and msdb that were created by using SQL Server 2005 (9.x)SQL Server 2005 (9.x) through SQL Server 2012 (11.x)SQL Server 2012 (11.x) cannot be restored by SQL Server 2019 (15.x)SQL Server 2019 (15.x). Кроме того, резервные копии, созданные в SQL Server 2019 (15.x)SQL Server 2019 (15.x) , невозможно восстановить в более ранних версиях SQL ServerSQL Server.Also, backups created in SQL Server 2019 (15.x)SQL Server 2019 (15.x) cannot be restored by any earlier version of SQL ServerSQL Server.

SQL Server 2019 (15.x)SQL Server 2019 (15.x) используется путь по умолчанию, отличный от пути, использованного в предыдущих версиях.uses a different default path than earlier versions. Чтобы восстановить из резервной копии базу данных, созданную в расположении по умолчанию для SQL ServerSQL Serverпредыдущих версий, необходимо использовать параметр MOVE.To restore a database that was created in the default location of an earlier version of SQL ServerSQL Server, you must use the MOVE option.

Если восстановить базу данных предыдущей версии до SQL Server 2019 (15.x)SQL Server 2019 (15.x), то эта база данных автоматически обновится.After you restore an earlier version database to SQL Server 2019 (15.x)SQL Server 2019 (15.x), the database is automatically upgraded. Как правило, база данных сразу становится доступной.Typically, the database becomes available immediately. Однако если база данных SQL Server 2005 (9.x)SQL Server 2005 (9.x) содержит полнотекстовые индексы, то в процессе обновления будет произведен их импорт, сброс или перестроение, в зависимости от установленного значения свойства сервера Режим обновления полнотекстового каталога .However, if a SQL Server 2005 (9.x)SQL Server 2005 (9.x) database has full-text indexes, the upgrade process either imports, resets, or rebuilds them, depending on the setting of the Full-Text Upgrade Option server property. Если при обновлении выбран режим Импортировать или Перестроить, то полнотекстовые индексы во время обновления будут недоступны.If the upgrade option is set to Import or Rebuild, the full-text indexes will be unavailable during the upgrade. В зависимости от объема индексируемых данных процесс импорта может занять несколько часов, а перестроения — в несколько (до 10) раз больше.Depending upon the amount of data being indexed, importing can take several hours, and rebuilding can take up to 10 times longer

Обратите внимание, что если при обновлении выбран режим Импортировать, а полнотекстовый каталог недоступен, то связанные с ним полнотекстовые индексы будут перестроены.Note also that when the upgrade option is set to Import, if a full-text catalog is not available, the associated full-text indexes are rebuilt

Попытка оптимизировать процесс, взяв более «близкую» копию

Пришла идея повторить способ с другими базами, то есть взять копии, чтоб дельта между датами живой и битой базы была поменьше. Но так как базы большие и на этом удаленном сервере — то ли канал был загружен, то ли в принципе узкий, решил не таскать базы целиком, а создать на местах с подходящими копиями отдельную чистую базу SQL, в которую руками перенести эти 3 служебные таблицы из развернутых копий, и эти маленькие промежуточные базы (где только 3 таблицы) уже заархивировать, и их переносить на удаленный сервер с проблемной базой. К сожалению, этот способ у меня не сработал, возможно, я что-то сделал неверно при переносе таблиц Config, Params и DBSchema в промежуточную базу SQL. В самом конце, в конфигуратор либо предприятие войти не получалось, 1С сообщал что конфигурация разрушена, предлагал починить, но безуспешно.

Тонкая настройка ежедневного резервного копирования базы данных 1С средствами SQL ver. 2014 (SP3) — 12.0.6024.0 (X64)

Хочу вам предложить небольшой пример, как можно реализовать резервное копирование 1С-ых баз данных средствами SQL. Данный материал не претендует на пулитцеровскую премию. Но возможно кому-то будет интересно узнать, что-то новенькое.
Данный материал для резервного копирования только одной базы данных. А именно, если у вас 20-ть баз, то вам придется создавать 20-ть планов обслуживания для каждой базы индивидуально.
(Слава разработчикам SQL, они разрешили копировать блоки из одного плана в другой, вам остается только произвести небольшую настройку для каждого скопированного блока — некоторые настройки блоков сбрасываются и выставляются значением по умолчанию и остаются неактивными)

2.2 Подготовка к восстановлению

Перед восстановлением потребуется произвести некоторые подготовительные действия.

Первое, что нужно сделать, — это запретить пользователям доступ к базе данных, подлежащей восстановлению. Это можно сделать разными способами:

· для большинства баз данных достаточно установить для параметра RestrictAccess (Ограничить доступ) свойств базы данных значение Restricted. Если же пользователи вашей базы данных могут подключаться с правами dbo, то для этого параметра можно установить значение Single;

· если на сервере имеется только одна рабочая база данных, то лучше просто на время восстановления отключить сетевой доступ к SQLServer. Для этого можно, например, на время восстановления отключить протокол TCP/IP в контейнере SQLServer 2005 NetworkConfiguration в SQLServerConfigurationManager.

Если к базе данных в настоящий момент подключены пользователи, то их соединения придется закрыть.

Может случиться так, что база данных повреждена настолько сильно, что изменить ее свойства не удается. Она при этом может находиться в состоянии suspect (подозрительное) или в автономном режиме offline (информацию о состоянии можно просмотреть, например, из контейнера Datаbases в ManagementStudio). Если база данных находится в автономном режиме, то запустить ее восстановление вам не удастся. В этой ситуации самый простой выход — отсоединить (detach) поврежденную базу данных и произвести восстановление с резервной копии так, как будто эта база данных отсутствует на сервере вообще. Отметим, что для того, чтобы отсоединить базу данных, помеченную как подозрительная (suspect), ее необходимо вначале перевести в состояние «экстренной необходимости» (emergency) — ALTERDATABASEdb1 SETemergency.

Если база данных находится в рабочем режиме, а время у вас есть, то лучше, конечно, подстраховаться, создав еще одну, самую свежую резервную копию этой базы данных и журнала транзакций (или только журнала транзакций в зависимости от ситуации).

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

· RESTOREFILELISTONLY — возвращает информацию о списке файлов и журналов транзакций, которые помещены в данную резервную копию. Эта информация берется из таблицы backupfile базы данных msdb;

· RESTOREHEADERONLY — возвращает информацию об имени резервной копии, ее типе, описании, времени создания и времени устаревания и т. п.. Эта информация берется из таблицы backupset базы данных msdb;

· RESTORELABELONLY — выводит служебную информацию о метке носителя. В основном метка нужна для картриджей стриммеров, но может применяться и для файлов. Информация берется, в том числе, и из таблицы backupmediaset базы данных msdb.

Пример выполнения команды на просмотр информации о резервной копии может выглядеть так:

· RESTOREFILELISTONLYFROMbackupdevice1;

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

Проверка обновления. Автоматический поиск ошибок

Мы обновляем конфигурацию, и у нас более 100 пользователей. Конфигурация сильно переписана, обновление нетривиальное. Если после обновления находится критическая ошибка, приходится выгонять всех пользователей и исправлять. Поэтому перед выпуском в рабочую базу, обновление тестируют наши специалисты. Большинство ошибок находится при открытии форм. Появилась идея написать программу, которая бы автоматически открывала формы всех объектов, а найденные ошибки записывала в журнал регистрации. Получилась программа простейшего сценарного тестирования. Не требует настройки. Запускать в тестовой базе. Чтобы найти реквизиты, не добавленные на форму в процессе обновления или синтаксические ошибки, достаточно запустить тест под полными правами. Тестировали на УТ 11.4.1.271, должно работать на всех программах УФ. У нас тест работает пять минут.

1 стартмани

Администрирование конфигураций 1С (недокументированные особенности работы)

Многие мои коллеги по работе и по профессии, уверен, сталкиваются с аналогичными ситуациями, когда программа 1С при работе с конфигурацией, мягко говоря, работает «странно». Как говорит один хороший знакомый (к слову, один из авторов УТ 11):
— «вот, ну согласись, нанять пару серьезных методистов — реальных дядечек с реального производства, до начала разработки — единственная ЭЛЕМЕНТАРНАЯ политика, как можно было этого не сделать???? там их НЕТ. Причем это 0 в плане затрат на разработку, там нет ограничений бюджета, это просто самый тупой прокол.»
В этой статье приведу способы лечения пресловутых проколов (за последний месяц).

Перед началомBefore You Begin

ОграниченияLimitations and Restrictions

  • Системный администратор, восстанавливающий файлы и файловые группы, должен быть единственным лицом, использующим восстанавливаемую базу данных в данный момент.The system administrator restoring the files and filegroups must be the only person currently using the database to be restored.

  • Инструкция RESTORE недопустима в явной или неявной транзакции.RESTORE is not allowed in an explicit or implicit transaction.

  • При использовании простой модели восстановления файл должен принадлежать к файловой группе, находящейся в режиме только для чтения.Under the simple recovery model, the file must belong to a read-only filegroup.

  • Перед началом восстановления файлов по модели полного восстановления или модели восстановления с неполным протоколированием необходимо выполнить резервное копирование активного журнала транзакций (который называется заключительным фрагментом журнала).Under the full or bulk-logged recovery model, before you can restore files, you must back up the active transaction log (known as the tail of the log). Дополнительные сведения см. в статье Создание резервной копии журнала транзакций (SQL Server)).For more information, see Back Up a Transaction Log (SQL Server).

  • Чтобы восстановить зашифрованную базу данных, необходимо иметь доступ к сертификату или асимметричному ключу, который использовался для шифрования базы данных.To restore a database that is encrypted, you must have access to the certificate or asymmetric key that was used to encrypt the database. Без сертификата или асимметричного ключа восстановить базу данных нельзя.Without the certificate or asymmetric key, the database cannot be restored. Поэтому сертификат, используемый для шифрования ключа шифрования базы данных, должен храниться в течение всего времени, пока есть необходимость в резервной копии.As a result, the certificate that is used to encrypt the database encryption key must be retained as long as the backup is needed. Дополнительные сведения см. в статье SQL Server Certificates and Asymmetric Keys.For more information, see SQL Server Certificates and Asymmetric Keys.

PermissionsPermissions

Если восстанавливаемая база данных не существуют, для выполнения инструкции RESTORE у пользователя должны быть разрешения CREATE DATABASE.If the database being restored does not exist, the user must have CREATE DATABASE permissions to be able to execute RESTORE. Если база данных существует, разрешения на выполнение инструкции RESTORE по умолчанию предоставлены членам предопределенных ролей сервера sysadmin и dbcreator , а также владельцу базы данных (dbo) (для параметра FROM DATABASE_SNAPSHOT база данных всегда существует).If the database exists, RESTORE permissions default to members of the sysadmin and dbcreator fixed server roles and the owner (dbo) of the database (for the FROM DATABASE_SNAPSHOT option, the database always exists).

Разрешения на выполнение инструкции RESTORE даются ролям, в которых данные о членстве всегда доступны серверу.RESTORE permissions are given to roles in which membership information is always readily available to the server. Так как членство в предопределенной роли базы данных может быть проверено только тогда, когда база данных доступна и не повреждена, что не всегда имеет место при выполнении инструкции RESTORE, члены предопределенной роли базы данных db_owner не имеют разрешений RESTORE.Because fixed database role membership can be checked only when the database is accessible and undamaged, which is not always the case when RESTORE is executed, members of the db_owner fixed database role do not have RESTORE permissions.

Тестирование и исправление базы данных

Если конфигуратор доступен, заходим в него и идем в меню «Администрирование». Там выбираем пункт «Тестирование и исправление…»:

Насчет настроек данного режима единого мнения нет. Я предпочитаю устанавливать указанные на рисунке.

В разделе «Проверка и режимы», если база данных большая, флажки можно устанавливать поочередно и смотреть после выполнения результат.

Выбор «Только тестирование» считаю бесполезным, так как ошибки все равно исправлять надо. Если что-то будет не так, у нас есть резервная копия.

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

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

Но опять же, во время тестирования может возникать критическая ошибка, и действие не завершается.

Тогда пробуем еще один способ.

1С:Предприятие Бухгалтерия переход с редакции 2.0 на 3.0. Практика перевода информационной базы для работы в управляемом приложении. Промо

Из информационного выпуска 1С № 16872 от 08.07.2013г. стало известно об относительно скором необходимом переходе на редакцию 1С:Бухгалтерия 3.0. В данной публикации будут разобраны некоторые особенности перевода нетиповой конфигурации 1С:Бухгалтерия 2.0 на редакцию 3.0, которая работает в режиме «Управляемое приложение».
Публикация будет дополняться по мере подготовки нового материала. Публикация не является «универсальной инструкцией».

Update 3. Права доступа. 14.08.2013
Update 4. Добавлен раздел 0. Дополнен раздел 4. Добавлен раздел 7. Внесены поправки, актуализирована информация. 23.11.2013.

1 стартмани

Свой веб интерфейс к 1С: побеждаем CORS на IIS, сохраняя авторизацию

Если «веб морда» расположена не по тому же адресу, что и публикация 1С (что часто бывает, например, при разработке, публикация 1С на http://localhost/1c, а разрабатываемое веб-приложение на http://localhost:8080) или, например, мы заходим на веб приложение то по ip адресу, то по имени сервера, или просто веб сервер и сервер, на котором опубликована 1С — это разные сервера, то для большинства запросов от браузера к 1С срабатывает политика CORS, которая заключается в том, что браузер сначала посылает запрос OPTIONS, на который сервер должен ответить определенным образом, заголовками, содержащими разрешения, а потом уже (если разрешение есть), браузер посылает основной запрос. В случае, когда в публикации 1С (default.vrd) жестко прописан логин и пароль, разрулить ситуацию можно средствами 1С. В случае же, когда нужно сохранить авторизацию (или используется стандартный интерфейс odata), начинаются проблемы.

Измерь его правильно! Краткое описание общепринятого метода оценки производительности DB серверов

Сообщество программистов (администраторов) 1С является одним из самых замкнутых на себя.
Тот же JAVA senior без особых вопросов напишет код на PHP или на Python, если этого потребует обстановка.
1Сники же и powershell и bash и PHP и все остальное с разной степенью успешности реализуют на 1С.
В последнее время ситуация немного меняется, классическое высшее образование программистов уже не ограничивается ассемблером, бейсиком и фортраном.
Никто не падает в обморок при виде
class HelloWorld {
public static void main(String[] args) {
System.out.println(«Hello World!»);
}
}
Попробуем покуситься на тест Гилева и узнать, как без него обходятся DBA админы остального мира, слабонервных прошу удалиться, остальных прошу под кат…

Ошибка в 1С: Не удается вставить повторяющуюся строку ключа в объект

В 1С может появиться ошибка такого рода: Ошибка при чтении изменений при обмене РИБ: Ошибка при вызове метода контекста (ПрочитатьИзменения): Попытка вставки неуникального значения в уникальный индекс:
Microsoft SQL Server Native Client 11.0: Не удается вставить повторяющуюся строку ключа в объект «dbo._AccRgAT118760» с уникальным индексом «_AccR118760_ByPeriod_TRRRRN». Повторяющееся значение ключа: (ноя 1 5999 12:00AM, 0xab52f3e52b35efa847b0cfef9c90ff9d, 0x95eb00112f2a1abf11dac09f12116a47, NULL, NULL, NULL, NULL, 0).
HRESULT=80040E2F, SQLSrvr: SQLSTATE=23000, state=1, Severity=E, native=2601, line=1
Техническая информация:
Ошибка при чтении изменений при обмене РИБ: {ОбщийМодуль.ПроцедурыОбменаДанными.Модуль(1559)}: Ошибка при вызове метода контекста (ПрочитатьИзменения): Попытка вставки неуникального значения в уникальный индекс:

Для ее решения делаем следующее:

2.1 Основные возможности восстановления баз данных SQLServer 2005

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

Restore
. С точки зрения SQL Server, этот термин можно перевести как «восстановление с носителя». Чаще всего восстановлением с носителя приходится заниматься в ситуациях, когда база данных повреждена физически или нужно исправить большую ошибку пользователя. Нередко ею пользуются для создания тестовой базы для проверки критических обновлений или учебы. Во время этого процесса производится перенос данных из резервной копии на сервер базы данных.

Recovery.
Его можно перевести как «восстановление работоспособности». Во время процедуры recovery устраняются все проблемы, которые могут быть с базой данных (например, возникшие из-за незавершенных транзакций), и база данных открывается для доступа пользователей. Процедура recovery должна быть произведена после восстановления с носителя — restore, однако она запускается и в других ситуациях. Например, если работа сервера был завершена некорректно (например, пропало питание), то эта процедура вернет все базы данных в работоспособное состояние.

Failure
(сбой) обычно означает сбой в работе базы данных, например, появились ошибки на диске, на котором была расположена база данных. Операционная система и программные файлы сервера при этом остались в рабочем состоянии, и вам нужно произвести восстановление только базы данных.

Disaster
(катастрофа) означает катастрофический отказ сервера, например, из-за скачка напряжения, пожара, затопления и т. п. При восстановлении в случае такого катастрофического отказа вам придется вначале установить операционную систему и программное обеспечение SQL Server, а потом уже производить восстановление рабочих баз данных.

Общий план восстановления обычно выглядит следующим образом:

1. Вначале производится процедура restore — необходимая информация восстанавливается с носителя. Вы можете восстановить только полную резервную копию, а уже после этого произвести восстановление разностной резервной копии и резервных копий журналов транзакций. Официальное название этого этапа — фаза копирования данных (data copy phase).

2. Если производится также восстановление журналов транзакций, то следующим действием SQL Server записывает в базу данных всю информацию о завершенных транзакциях из журнала транзакций. Эта операция называется roll forward (завершение). Сам этап называется фазой повтора (redo phase), а оба первых этапа вместе — этап завершения (roll forward step).

3. Только в редакции SQL Server 2005 Enterprise Edition пользователям открывается доступ к базе данных. Открытие доступа на этом этапе — это новая возможность SQL Server 2005. Она имеет свое название — fast recovery (быстрое восстановление). Если же пользователь попытается обратиться к данным, измененным незавершенными транзакциями, то доступ ему будет закрыт за счет механизма блокировок.

4. Затем SQL Server обнаруживает в журнале все незавершенные транзакции и отменяет их. Эта операция называется rollback — откат транзакций, а сам этап называется этапом отката (rollback phase).

5. После этого к базе данных открывается доступ в обычном режиме во всех версиях SQL Server.

Отметим еще несколько моментов, связанных с процессом восстановления SQL Server 2005:

· для восстановления вы можете использовать не только резервные копии, которые были созданы в версии SQL Server 2005, но и те, которые были созданы на версиях 7.0 и 2000. Обновление до версии 2005 произойдет автоматически. Конечно, такую возможность следует рассматривать как еще один вариант обновления баз данных;

· создатели SQL Server 2005 активно рекламируют новую возможность — восстановление на открытой базе данных. На самом деле такое восстановление можно производить только тогда, когда в базе данных несколько файловых групп, и восстанавливаемая файловая группа находится в автономном режиме (offline). Поэтому на самом деле пользователи работать с восстанавливаемыми данными, конечно, не смогут;

· в SQL Server 2005 восстановление полнотекстовых индексов производится вместе с базами данных;

· информация о восстановлении, как и информация о резервном копировании, записывается в служебные таблицы базы данных msdb. Используются таблицы restorehistory, restorefile и restorefilegroup.

Копирование числовых ячеек из 1С в Excel Промо

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

Как я встал на верный путь

Попробовал пойти тем же путем, которым база была поломана, а именно: скопировать Config из разных живых баз от разных дат и на разных серверах

Конечно, идеально подошла бы любая база от даты, когда остановился обмен между разрушенной базой и центром РИБ, тогда бы структура таблиц на уровне SQL и содержимое таблицы Config было бы подходящим. Но такой не нашлось.

После слепого шаманства неопределенное время я в итоге получил ошибку «В схеме базы данных отсутствует таблица…»

Увидел в SQL-студии таблицу DBSchema, с одной строкой и одной колонкой, в которой какое-то сериализованное значение, которые непонятно как развернуть, некий черный ящик. Сделал поиск про эту таблицу в официальном партнерском форуме 1С для специалистов. Наткнулся на опыт, где восстановить работоспособность базы помогла замена содержимого битой базы в таблицах Config, Params и DBSchema на содержимое из аналогичных таблиц живой базы.

Ближайшая база под рукой была вышеупомянутая UT. Разница между конфигурациями живой и битой баз — несколько месяцев. Попробовал..

Использование Transact-SQLUsing Transact-SQL

Восстановление файлов и файловых группTo restore files and filegroups

  1. Выполните инструкцию RESTORE DATABASE для восстановления резервной копии файлов и файловых групп, указав следующее:Execute the RESTORE DATABASE statement to restore the file and filegroup backup, specifying:

    • Имя базы данных для восстановления.The name of the database to restore.

    • Устройство резервного копирования, откуда будет восстановлена полная резервная копия.The backup device from where the full database backup will be restored.

    • предложение FILE для каждого восстанавливаемого файла;The FILE clause for each file to restore.

    • предложение FILEGROUP для каждой восстанавливаемой файловой группы;The FILEGROUP clause for each filegroup to restore.

    • Предложение NORECOVERY.The NORECOVERY clause. (если файлы не изменялись со времени создания резервной копии, укажите предложение RECOVERY).If the files have not been modified after the backup was created, specify the RECOVERY clause.

  2. Если файлы были изменены после создания резервной копии, выполните инструкцию RESTORE LOG для применения резервной копии журнала транзакций, указав следующее:If the files have been modified after the file backup was created, execute the RESTORE LOG statement to apply the transaction log backup, specifying:

    • Имя базы данных, к которой будет применен журнал транзакций.The name of the database to which the transaction log will be applied.

    • Устройство резервного копирования, с которого будет восстановлена резервная копия журнала транзакций.The backup device from where the transaction log backup will be restored.

    • Предложение NORECOVERY, если существует другая резервная копия журналов транзакций для применения после текущего; в противном случае укажите предложение RECOVERY.The NORECOVERY clause if you have another transaction log backup to apply after the current one; otherwise, specify the RECOVERY clause.

      В случае применения резервных копий журналов транзакций они должны охватывать время резервного копирования файлов и их групп вплоть до конца журналов (если только не восстанавливаются ВСЕ файлы базы данных).The transaction log backups, if applied, must cover the time when the files and filegroups were backed up until the end of log (unless ALL database files are restored).

В этом примере восстанавливаются файлы и файловые группы базы данных .This example restores the files and filegroups for the database. При восстановлении базы данных до текущего момента будут применены два журнала транзакций.To restore the database to the current time, two transaction logs are applied.

Запуск Apache 2.4 с модулем 1С внутри Docker контейнера

Про Apache и про Linux слышали, наверное, все. А вот про Docker пока нет, но он сильно набирает популярность последнее время и не зря. Поделюсь своим опытом и дам пошаговую инструкцию настройки веб-сервера Apache с модулем 1С внутри Docker контейнера на Linux хосте. При этом сам сервер 1С может находиться совсем на другой машине и на другой операционной системе

Это не важно, главное чтобы Apache смог достучаться до сервера 1С по TCP. В статье дам подробное пояснение по каждой используемой команде со ссылками на документацию по Docker, чтобы не создавалось ощущение непонятной магии

Также прилагаю git репозиторий с описанием всей конфигурации, можете попробовать развернуть у себя буквально за 10 минут.

Оцените статью
Рейтинг автора
5
Материал подготовил
Андрей Измаилов
Наш эксперт
Написано статей
116
Добавить комментарий