Как поменять смещение даты с 0 на 2000

Опубликовал Андроид Мар (Андроид) в раздел Администрирование - Оптимизация БД (HighLoad)

В связи с тем что я в интернете не нашел ничего для решения этой проблемы, готов поделится своим опытом.

Суть проблемы в чем.. Если Вы случайно развернули базу на сервере SQL со «смещением даты» 0 то возникла проблема, когда в базе встречается реквизит с типом ВРЕМЯ т.е.в этот реквизит ставится 01.01.0001 10:30:00 или дата записалась пустой 01.01.0001 00:00:00. При записи такого реквизита не происходит его запись.

И интернете предлагают создать новую базу со смещением 2000.

Но новую базу создавать не очень хотелось. И менять у всех пользователях путь к базе.

Тогда я пошел по пути, а где ж хранится это значение в SQL-е. Нашел и поменял на 2000 и все стало ок..

А теперь по шагово, где поменять.

Выгнать всех пользователей.

ВНИМАНИЕ!!!

1.  Сначала сделайте резервную копию средствами 1С т.е. выгрузите ее в *.dt

 Это нужно делать до того как поменяете «смещение»

Если этого не сделать то во всей вашей базе спр., док, и т.д.

где есть есть реквизит дата будет стоять допустим 02.10.0009

ЧТО НЕ ДОПУСТИМО….

Итак Вы сделали выгрузку в *.dt 

2. Заходим в SQL Server Management Studio

Находим Вашу базу в списку нажимаем плюсик.

Находи там папочку «Таблицы» и раскрываем ее.

Откроется куча таблиц, идем в самый низ, находим таблицу

_YearOffset,  становимся на нее и правой клавишей выбираем пункт «Открыть таблицу» см. рис.1

Меняем значение 0 на 2000

Закрываем SQL Server Management Studio

3.  Заходим в конфигуратор и загружаем ранее сохраненную базу.

Если это не сделать, то все даты будут с годом 0009.

После того как база загрузилась… Можно  зайти в 1С и удостоверится что даты нормальные.

 Результат мы поменяли «смещение дата с 0 на 2000»

 

Не забываем + если вам помогло.

См. также

Комментарии
1. Игорь <...> (I_G_O_R) 38 13.10.09 00:47 Сейчас в теме
ну и чем это отличается от создания новой базы?
2. gilv (Gilev.Vyacheslav) 13.10.09 02:03 Сейчас в теме
>В связи с тем что я в интернете не нашел ничего для решения этой проблемы
ты об этом http://www.infostart.ru/public/21348/

низачот :evil:
Трактор; +1 1 Ответить 1
3. gilv (Gilev.Vyacheslav) 13.10.09 02:04 Сейчас в теме
вследующий раз попробуй "поиск"
4. Андроид Мар (Андроид) 174 13.10.09 12:56 Сейчас в теме
I_G_O_R ничем не отличается..
Я так и написал что можно создать новую... Но если у вас 100 пользователей то прийдется всем поменять имя базы у каждого.

gilv Я читал этту ссылку.. Но ни одного слова там нет КАК поменять это смещение В УЖЕ СОЗДАННОЙ БАЗЕ
Повторяю создать новую базу не хотел...
forsagforsag; Pavel-T; pavel06; +3 Ответить
5. Денис (den_neo) 14.10.09 09:42 Сейчас в теме
Правда незачет!!!
Зачем менять пути у пользователей, если можно просто подменить базу, и никаких проблем не будет.
8)
6. Андроид Мар (Андроид) 174 14.10.09 12:59 Сейчас в теме
den_neo
Да согласен глупость написал по поводу менять пути к базе. Помненить в скуле можно методом переименования...

Тогда рассмотривайте мой метод как один из вариантов когда ничего создавать не надо.
1 выгрузку сделать поменять 1 цифорку и 1 раз загрузить.

Метод создания новой базы никто не отменял..


7. рукав Рухан (andr_hav) 11.02.10 09:18 Сейчас в теме
Рекомендую. Над данной проблемой бился два дня, причём сроки поджимали, и на исходе сил залез в интернет и нашел ответ. Данная статья помогла. Большое спасибо автору.
8. Ivan S (regnum) 02.03.11 07:11 Сейчас в теме
Так делать нельзя будут ошибки даты разъедутся с теми которые были, не все конечно, но работать в такой базе, наверное нельзя, т.к. потом будут претензии т.е. появятся пустые даты.. м.б. автор тестировался на типовой и плохо протестил? Есть нормальное решение, которое рекомендует 1С. Вобщем плохое решение, использовать его на свой страх и риск, там где достоверность базы не нужна.
9. Денис И (Scag) 11.05.11 06:42 Сейчас в теме
Нормальное решение:
выгрузить базу в dt, удалить базу в 1С и SQL, затем заново создать базу с тем же именем в 1С и SQL со смещением 2000 и загрузить базу из dt.
10. Дмитрий Костомаха (b1waver) 18.07.11 15:34 Сейчас в теме
Scag,
в этом случае потеряется журнал регистрации, т.к. база будет создана с новым GUID.
11. logdog (logdog) 06.09.11 03:18 Сейчас в теме
а что делать если проблема такая же для последовательности, но база файловая? тестирование и исправление, как и выгрузки не помогают
12. Sergey Ivanov (sergb1979) 24.02.12 10:11 Сейчас в теме
Спасиб, написано все ясно и наглядно.
13. Максименко Михаил (Stribog) 15.06.12 14:31 Сейчас в теме
Что делать если выгрузить в .dt нет возможности (база больше 10ГБ)?
14. Руслан Микулович (rumik007) 29.06.12 12:45 Сейчас в теме
(13) Stribog,

Почему нет возможности, у меня база 70 гиг и выгружается нормально.
15. Сергей C (a31) 18.01.13 23:45 Сейчас в теме

8.
regnum
02.03.11 7:11

Так делать нельзя будут ошибки даты разъедутся с теми которые были, не все конечно, но работать в такой базе, наверное нельзя, т.к. потом будут претензии т.е. появятся пустые даты.. м.б. автор тестировался на типовой и плохо протестил? Есть нормальное решение, которое рекомендует 1С. Вобщем плохое решение, использовать его на свой страх и риск, там где достоверность базы не нужна.

Изменено: regnum - 02.03.11 15:15

присоединяюсь, ОСТОРОЖНО - сделал точно как написано, получил ВСЕ документы с датами вида 18.01.0013 12:00:02, как то так
16. Сергей C (a31) 19.01.13 02:10 Сейчас в теме
15.
a31
18.01.13 23:45

8. regnum 02.03.11 7:11 ...Показать

присоединяюсь, ОСТОРОЖНО - сделал точно как написано, получил ВСЕ документы с датами вида 18.01.0013 12:00:02, как то так
для инфо: сервер 2008 R2, скуля тож 2008 R2
вышел из положения так: выгрузил базу через 1с сервер в дт, убил базу в сервере, создал новую со смещением 2000, и загрузил дт в новую базу со смещением, - все встало как надо.
17. Adapter Бахтыреев (adapter) 405 24.01.13 10:34 Сейчас в теме
А в чем разница??:
1 - создать новую в скуле и в нее загрузить DT
2 - поменять параметр в старой базе скула и в нее загрузить DT
18. Sergey Ivanov (sergb1979) 20.11.14 09:33 Сейчас в теме
(2) gilv, Здесь написано четко и понятно. КАк ФАК
В той статья все причины и много инфы.
19. Sergey Andreev (starik-2005) 852 20.12.14 13:14 Сейчас в теме
Хорошая статья, мне помогло
20. Павел Семенов (pavel06) 17.09.15 12:08 Сейчас в теме
Статья полезна, благодаря картинке, которой у Гилева нет. Кроме того у него ссылка на форум для избранных, которую не прочесть.
Где + ставят я не понял.
21. Андрей Конченко (AnKonAlm) 15 30.09.15 19:13 Сейчас в теме
А меня на 100% спасла вот эта обработка:
http://infostart.ru/public/146633/

Дело в том, что я не мог выгрузиться в dt - места мало на диске, а база огромная.
22. Aleksey Zhuchkov (MrWonder) 100 31.03.16 17:30 Сейчас в теме
Без перезаливки DT'шника можно делать так