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

12.10.09

База данных - 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»

 

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

См. также

HighLoad оптимизация Технологический журнал Системный администратор Программист Бесплатно (free)

Обсудим поиск и разбор причин длительных серверных вызовов CALL, SCALL.

24.06.2024    5174    ivanov660    12    

56

HighLoad оптимизация Программист Платформа 1С v8.3 Бесплатно (free)

Метод очень медленно работает, когда параметр приемник содержит намного меньше свойств, чем источник.

06.06.2024    9306    Evg-Lylyk    61    

44

HighLoad оптимизация Программист Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Анализ простого плана запроса. Оптимизация нагрузки на ЦП сервера СУБД используя типовые индексы.

13.03.2024    5119    spyke    28    

49

HighLoad оптимизация Программист Платформа 1С v8.3 Бесплатно (free)

Оказывается, в типовых конфигурациях 1С есть, что улучшить!

13.03.2024    7607    vasilev2015    20    

42

HighLoad оптимизация Инструменты администратора БД Системный администратор Программист Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Обработка для простого и удобного анализа настроек, нагрузки и проблем с SQL сервером с упором на использование оного для 1С. Анализ текущих запросов на sql, ожиданий, конвертация запроса в 1С и рекомендации, где может тормозить.

2 стартмани

15.02.2024    12471    242    ZAOSTG    82    

115

HighLoad оптимизация Системный администратор Программист Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Принимать, хранить и анализировать показания счетчиков (метрики) в базе 1С? Почему бы нет? Но это решение быстро привело к проблемам с производительностью при попытках построить какую-то более-менее сложную аналитику. Переход на PostgresSQL только временно решил проблему, т.к. количество записей уже исчислялось десятками миллионов и что-то сложное вычислить на таких объемах за разумное время становилось все сложнее. Кое-что уже практически невозможно. А что будет с производительностью через пару лет - представить страшно. Надо что-то предпринимать! В этой статье поделюсь своим первым опытом применения СУБД Clickhouse от Яндекс. Как работает, что может, как на нее планирую (если планирую) переходить, сравнение скорости работы, оценка производительности через пару лет, пример работы из 1С. Все это приправлено текстами запросов, кодом, алгоритмами выполненных действий и преподнесено вам для ознакомления в этой статье.

1 стартмани

24.01.2024    5700    glassman    18    

40

HighLoad оптимизация Программист Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Встал вопрос: как быстро удалить строки из ТЗ? Рассмотрел пять вариантов реализации этой задачи. Сравнил их друг с другом на разных объёмах данных с разным процентом удаляемых строк. Также сравнил с выгрузкой с отбором по структуре.

09.01.2024    14135    doom2good    49    

71
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. I_G_O_R 69 13.10.09 00:47 Сейчас в теме
ну и чем это отличается от создания новой базы?
2. Gilev.Vyacheslav 1917 13.10.09 02:03 Сейчас в теме
>В связи с тем что я в интернете не нашел ничего для решения этой проблемы
ты об этом http://www.infostart.ru/public/21348/

низачот :evil:
Трактор; +1 1 Ответить
18. sergb1979 20.11.14 09:33 Сейчас в теме
(2) gilv, Здесь написано четко и понятно. КАк ФАК
В той статья все причины и много инфы.
3. Gilev.Vyacheslav 1917 13.10.09 02:04 Сейчас в теме
вследующий раз попробуй "поиск"
4. Андроид 218 13.10.09 12:56 Сейчас в теме
I_G_O_R ничем не отличается..
Я так и написал что можно создать новую... Но если у вас 100 пользователей то прийдется всем поменять имя базы у каждого.

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

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

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


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

Почему нет возможности, у меня база 70 гиг и выгружается нормально.
15. 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. 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 418 24.01.13 10:34 Сейчас в теме
А в чем разница??:
1 - создать новую в скуле и в нее загрузить DT
2 - поменять параметр в старой базе скула и в нее загрузить DT
BoryaMbi; +1 Ответить
19. starik-2005 3088 20.12.14 13:14 Сейчас в теме
Хорошая статья, мне помогло
20. pavel06 2 17.09.15 12:08 Сейчас в теме
Статья полезна, благодаря картинке, которой у Гилева нет. Кроме того у него ссылка на форум для избранных, которую не прочесть.
Где + ставят я не понял.
21. AnKonAlm 29 30.09.15 19:13 Сейчас в теме
А меня на 100% спасла вот эта обработка:
http://infostart.ru/public/146633/

Дело в том, что я не мог выгрузиться в dt - места мало на диске, а база огромная.
22. MrWonder 650 31.03.16 17:30 Сейчас в теме
Без перезаливки DT'шника можно делать так
23. TorLink 13.02.20 12:01 Сейчас в теме
Вопрос. А что делать с 7.7? Там нет такой таблицы.(
Оставьте свое сообщение