Выводим из suspect базу 1С 7.7 на sql server 2000, а также "Перемещение баз данных SQL Server в новое местоположение с помощью операций Detach и Attach"

08.11.16

Задачи пользователя - Корректировка данных

База данных помечается Suspect, когда SQL Server не может читать файлы данных, связанные с базой данных с жесткого диска. В этом случае сделать бекап базы нельзя, но можно попробовать образ диска. После того как возможность читать файлы данных восстановлена, вы можете перезапустить службу SQL Server, и если возможно, произойдет автоматическое восстановление. Что делать, если информационная база 1С7.7 на SQL Server 2000 перешла в состояние suspect? Если это произошло утром и бекап сделан, Вы, конечно, можете грохнуть и раскатать базу заново (вечером это проблематичнее), но не торопитесь - возможно, поможет detach+attach или другие методы, изложенные в данной публикации.

Скачать файлы

Наименование Файл Версия Размер
[Mike_Gunderloy,_Joseph_L._Jorden,_Joe_Jorden]_Mas(BookSee.org).pdf
.pdf 26,19Mb
0
.pdf 26,19Mb Скачать

Что делать, если информационная база 1С7.7  на SQL Server 2000 перешла в состояние suspect (подозрительная)? Данную информацию нашел с большим трудом, поэтому опубликовал её сам. Статья //infostart.ru/public/59520/ на версию SQL 2000 не рассчитана, она не подходит.

Прежде всего надо принять решение, есть ли в Вашей базе повреждения.

Есть целый ряд проблем, которые могут привети к suspect:

Неправильные разрешения NTFS: Учетная запись службы, службы входа в систему должны иметь разрешение на доступ к базе данных на диске.

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

Удаленные файлы: Если кто-то случайно или намеренно, удаляет один из файлов, связанных с базой данных, то база данных будет помечена suspect.

Переименованные файлы: Если файл был переименован, SQL Server не сможет читать его, и база данных будет помечена подозреваемого.

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

exec sp_resetstatus 'sigmabuh' - эта процедура пытается изменить базу данных обратно в пригодное состояние.

Не помогло? Пробуем сделать detach и attach

Если повреждений нет, то поможет статья https://support.microsoft.com/ru-ru/kb/224071. На случай, если вдруг эту статью сочтут устаревшей, я скопировал её фрагмент сюда:

=======================================

Перемещение баз данных SQL Server в новое местоположение с помощью операций Detach и Attach

Аннотация

В статье описывается, как изменить местоположение файлов данных и журналов для баз данных серверов Microsoft SQL Server 2005, SQL Server 2000 или SQL Server 7.0.Дополнительные сведения о перемещении системных баз данных в SQL Server 2005 см. в разделе "Перемещение системных баз данных" электронной документации на SQL Server. Для просмотра раздела посетите веб-узел MSDN по следующему адресу: http://msdn2.microsoft.com/ru-ru/library/ms345408.aspx

Дополнительная информация

Действия, необходимые для изменения местоположения некоторых системных баз данных SQL Server, отличаются от действий для изменения местоположения пользовательских баз данных. Указания по перемещению подобных баз данных приводятся отдельно.Примечание. Системные базы данных SQL Server 7.0 несовместимы с SQL Server 2000. Не подключайте базы данных, поставляющиеся вместе с SQL Server, а также базы данных master, model и msdb SQL Server 7.0 к SQL Server 2000. При использовании SQL Server 2005 можно подключать к экземплярам программы только базы данных SQL Server 2005. Во всех примерах, приведенных в данной статье, предполагается, что программа SQL Server установлена в папку D:\Mssql7. Кроме того, в примерах принято, что все файлы данных и журналов расположены в папке по умолчанию D:\Mssql7\Data. В примерах все файлы журналов и данных перемещаются в папку E:\Sqldata для всех баз данных.

Необходимые условия

Создайте резервные копии всех баз данных, особенно — базы данных master из их текущего местоположения.

Необходимо иметь полномочия администратора системы (по умолчанию ими обладает учетная запись "sa").

Необходимо знать имена и текущее местоположение всех файлов журналов и данных для перемещаемой базы данных.

Примечание. Чтобы определить имена и местоположение всех файлов, используемых базой данных, воспользуйтесь хранимой процедурой sp_helpfile:

use <database_name>

go

sp_helpfile

go

При этом необходимо иметь исключительный доступ к перемещаемой базе данных. Если при перемещении возникли ошибки и если после перемещения не удается запустить SQL Server или получить доступ к перемещенной базе данных, для получения сведений об ошибках ознакомьтесь с журналом ошибок SQL Server и интерактивным руководством SQL Server Books Online.

Перемещение пользовательских баз данных

В следующем примере выполняется перемещение базы данных mydb. Эта база данных содержит один файл данных Mydb.mdf и один файл журнала, Mydblog.ldf. Если подлежащая перемещению база данных состоит из нескольких файлов данных и журналов, необходимо перечислить все эти файлы в списке, передаваемом хранимой процедуре sp_attach_db Элементы списка разделяются запятыми. Поскольку процедуре sp_detach_db список перемещаемых файлов не передается, то вызов данной процедуры sp_detach_db не зависит от количества файлов в базе данных.

Отключите базу данных, как показано ниже:

use master

go

sp_detach_db 'mydb'

go

Скопируйте файлы журналов и данных из текущего местоположения (D:\Mssql7\Data) в новое (E:\Sqldata).

Повторно подключите базу данных. Укажите новое местоположение файлов:

use master

go

sp_attach_db 'mydb','E:\Sqldata\mydbdata.mdf','E:\Sqldata\mydblog.ldf'

go

Проверьте изменение местоположения файлов с помощью хранимой процедуры sp_helpfile:

use mydb

go

sp_helpfile

go

В стобце filename должно отображаться новое местоположение файлов.

Примечание. В статье 922804 базы знаний Майкрософт описана проблема с базами данных SQL Server 2005, расположенными на хранилище, подключенном к сети. Для получения дополнительных сведений щелкните следующий номер статьи базы знаний Майкрософт:

922804 Исправление. После отключения базы данных Microsoft SQL Server 2005, хранящейся на устройстве хранения данных, подключенном к сети, ее не удается подключить (Эта ссылка может указывать на содержимое полностью или частично на английском языке)

Примите во внимание эту проблему. Кроме того, примите во внимание разрешения, применяемые к базе данных при отключении от SQL Server 2005. Для получения дополнительных сведений см. раздел "Detaching and Attaching a Database" статьи "Securing Data and Log Files" интерактивного руководства SQL Server Books Online. Для просмотра этой статьи посетите следующий веб-узел MSDN:

http://msdn2.microsoft.com/ru-ru/library/ms189128.aspx

=======================================

Далее, если не помогло, проводим ребилд базы данных

Use master
go
sp_configure 'allow updates', 1

-- указать серверу, следует ли разрешить обновления системных таблиц непосредственно

go
---Execute---
reconfigure with override

-- метод применяет изменения конфигурации SQL Server

---Execute---
select status from sysdatabases where name = 'DataBaseName'

-- узнаем статус базы данных, в интернет можно найти значения флагов статусов

https://www.mssqltips.com/sqlservertip/1477/methods-to-determine-the-status-of-a-sql-server-database/

Status bits, some of which can be set by the user with sp_dboption (read only, dbo use only, single user, and so on):
1 = autoclose; set with sp_dboption.
4 = select into/bulkcopy; set with sp_dboption.
8 = trunc. log on chkpt; set with sp_dboption.
16 = torn page detection, set with sp_dboption.
32 = loading.
64 = pre recovery.
128 = recovering.
256 = not recovered.
512 = offline; set with sp_dboption.
1024 = read only; set with sp_dboption.
2048 = dbo use only; set with sp_dboption.
4096 = single user; set with sp_dboption.
32768 = emergency mode.
4194304 = autoshrink.
1073741824 = cleanly shutdown.

---Execute---
EXEC sp_resetstatus 'DataBaseName';

-- эта процедура пытается изменить базу данных обратно в пригодное состояние.

---Execute---
update sysdatabases set status= 32768 where name = 'sigmabuh'
-- устанавливается статус EMERGENCY то есть  в процессе ремонта
---Execute---
--Создадим новый Журнал транзакций и выполним полное тестирование
--DBCC REBUILD_LOG('sigmabuh', 'D:\mssql\data\sigmabuh_Log.LDF')
--GO
--Use master
--GO
--sp_dboption 'sigmabuh', 'single_user', 'true'
--GO
--USE sigmabuh
--GO
--DBCC CHECKDB('sigmabuh', REPAIR_REBUILD)
-- позже если REPAIR_REBUILD не получится возможно повторить с опасным ключем  
-- dbcc checkdb ('DataBaseName', REPAIR_ALLOW_DATA_LOSS)
---Execute---

и если база данных вышла из suspect, все заработало выполняем следующий код и делаем бекап

Use master
go
sp_configure 'allow updates', 0
go
---Execute---
reconfigure with override
---Execute---

Возможно, однако, что не удастся сделать обмен УРБД, тогда загрузите из данной базы изменения в центральную и восстановите оперативную базу из центральной,  как написано в //infostart.ru/public/153668/

Ссылки

1) При подготовке данной публикации я переводил с английского на русский фрагмент книги по sql server 2000 (прикладываю его), которая называется "Mastering SQL Server 2000":

http://download.e-bookshelf.de/download/0000/5869/36/L-G-0000586936-0002362218.pdf

2) Ссылка на статью MSDN о перемещении баз данных:

https://support.microsoft.com/ru-ru/kb/224071

3) Методика восстановления разрушенных баз 1С:Предприятие 8 есть на форуме Гилева, вот ссылка

http://www.gilev.ru/restoreib/

См. также

Комплект обработок 1С 7.7 для работы со справочниками и документами

Чистка данных Корректировка данных Платформа 1С v7.7 Конфигурации 1cv7 Абонемент ($m)

Архив различных обработок 1С 7.7 с открытым исходным кодом для работы с данными при свертке, выгрузке, исправлении, модификации информационной базы. Можно использовать любую обработку в качестве заготовки для добавления собственных функций.

1 стартмани

13.05.2021    7809    8    etmarket    0    

3

Сверки и переносы документов между базами 7.7 и 8, исправление расхождений. Реализации. Поступления. Корректировки отгрузки, поступления. Счета-фактуры выданные, полученные; исправленные выданные и полученные. COM-объект 1С8 (ОФ)

Корректировка данных Акт сверки Платформа 1С v7.7 Платформа 1С v8.3 1С:Управление торговлей 10 1С:Комплексная 7.7 1С:Торговля и склад 7.7 Россия Бухгалтерский учет Управленческий учет НДС Абонемент ($m)

Пример реализации сверок между базами и исправления расхождений в обе стороны, из 7.7 -> в 8.3 и из 8.3 -> в 7.7 на обычных формах. Фундаментальные обработки, которые работают на постоянной основе и поддерживают идентичность данных между базами основных поставщиков и основных покупателей (их соответствие прописано в модуле). Используется Новый COMОбъект("V77.Application"), пример использования внешнего источника данных. Реализация в поступление. Поступление в поступление. Корректировка поступления в корректировку отгрузки. СчФ выданный в СчФ полученный. Исправление СчФ полученного в исправление СчФ выданного. Перенос документа Реализация 7.7 в Поступление 8, Перемещение 7.7 в Поступление 8. Акт сверки взаиморасчетов (несколько организаций). Все обработки запускаются в базе 1С Предприятие 8 (обычные формы).

1 стартмани

03.10.2019    14645    30    ksnik    6    

4

Универсальный подбор и обработка объектов для 1С: Предприятия 7.7 "UChoice.ert"

Корректировка данных Платформа 1С v7.7 Конфигурации 1cv7 Абонемент ($m)

Универсальная обработка 7.7, представленная здесь, до сих пор почему-то по функционалу гораздо беднее, чем общеизвестная типовая "Универсальный подбор и обработка объектов" (UNIREPS82\UniversalSelection) 8.2-8.3", мне не хватило возможности выполнить произвольный код обработчика объектов. Данная обработка "UChoice.ert" является полным аналогом "UniversalSelection", представляет собой консоль выполнения произвольного кода, позволяет делать с объектами информационной базы 1С 7.7 абсолютно все, что угодно, а не узкий, сложно настраиваемый набор команд, на мой взгляд, она существенно превосходит имеющиеся аналоги, поэтому ничем другим кроме нее я не пользуюсь.

1 стартмани

04.04.2019    16318    28    ksnik    9    

4

Переход на НДС 20% для 1С:7.7

Корректировка данных Бухгалтерский учет 7.7 1С:Упрощенное налогообложение 7.7 Россия Бухгалтерский учет НДС Абонемент ($m)

Для 1С:Предприятия 8 переход на НДС 20% сделан, а для 7.7 я не нашел. Выкладываю.

1 стартмани

24.12.2018    18499    34    pentanom    25    

5

Исправление отрицательных номеров строк табличной части документов

Корректировка данных Платформа 1С v7.7 Конфигурации 1cv7 Абонемент ($m)

Обработка, исправляющая ситуацию с отрицательными номерами строк в табличной части

1 стартмани

31.08.2017    13351    1    C0mmander_Alex    1    

3

Групповая обработка документов и справочников v.7.7

Корректировка данных Платформа 1С v7.7 Конфигурации 1cv7 Россия Абонемент ($m)

1. Обработка позволяет совершать следующие действия над объектами: а. СПРАВОЧНИКИ: удаление; пометка на удаление; снятие пометки на удаление. б. ДОКУМЕНТЫ: удаление; пометка на удаление; снятие пометки на удаление; проведение; отмена проведения; выключить проводки; включить проводки. 2. Действия могут быть ограничены некоторыми условиями. 3. Существует отбор по видам объектов. 4. Есть возможность обработать подчиненные справочники.

1 стартмани

30.04.2017    22202    78    DUH    0    

5

Универсальные обработки документов и справочников для 1С: Предприятие 7.7

Корректировка данных Платформа 1С v7.7 Конфигурации 1cv7 Россия Абонемент ($m)

Обработки можно использовать в любой конфигурации 1С-Предприятия 7.7. Обработки позволяют просмотреть/изменить значения любого реквизита документов/справочников, существующих в базе. В обработках реализован множественный отбор по значениям реквизитов (для табличной части документов тоже). В обработке документов реализованы следующие действия: Перенумерация; проведение; отмена проведения; пометка на удаление; непосредственное удаление; снятие пометки удаления; изменение реквизитов; очистка реквизитов; удаление строк табличной части; вывод на печать и в файлы *.xls,*.csv,*.dbf,*.xml реквизитов шапки и табличной части. В обработке справочников реализованы следующие действия: Перенумерация; пометка на удаление; непосредственное удаление; снятие пометки удаления; изменение реквизитов; очистка реквизитов; очистка истории значений периодического реквизита; перенос справочника в другую базу подобной конфигурации по OLE; вывод на печать реквизитов и истории значений периодических реквизитов; вывод реквизитов в файлы *.xls,*.csv,*.dbf,*.xml; отчет по структуре справочников, вывод и обработка ссылок на выбранные элементы.

1 стартмани

23.11.2016    38143    210    SanchoD    15    

13

Подмена значений в документах и справочниках 7.7

Корректировка данных Платформа 1С v7.7 Конфигурации 1cv7 Абонемент ($m)

Обработка Подмена значений в документах и справочниках 7.7, с отборами по справочникам и документам, с возможностью отсеять по периоду

1 стартмани

04.07.2016    15484    10    Turn123    3    

3
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. vcv 89 09.11.16 07:49 Сейчас в теме
detach/attach для проблемных баз я бы не рискнул делать. А вдруг откажется аттачить? Тогда бы предварительно сделать эксперимент: остановить службу SQL, скопировать файлы базы куда-нибудь, запустить SQL и попробовать их приаттачить как новую базу.
2. ksnik 578 09.11.16 13:37 Сейчас в теме
(1) vcv, возможно Вы правы, это способ протестировать на чтение файлы базы.
В моем случае база приаттачилась и запустилась, я смог выгрузить из нее данные обмена в центральную базу, но загрузить в нее изменения из центральной не удалось. Пришлось восстановленный файл удалить и менять её на центральную. А на следующий день было выявлено, что некоторые введенные в ней документы пропали, то есть не выгрузились в центральную. То есть не все проделанные пользователями изменения удалось спасти. Получается таким образом что repair надо пробовать до attach?
3. sikuravv 23.02.24 19:09 Сейчас в теме
Добрый вечер. В таком же состоянии базы, в состоянии Suspect. Подскажите, как вам написать лично?
4. ksnik 578 24.02.24 19:42 Сейчас в теме
(3)
Прикрепленные файлы:
5. sikuravv 26.02.24 18:41 Сейчас в теме
Только у меня нет такой возможности в вашем профиле видеть кнопку "написать"
Оставьте свое сообщение