1c sql server

18.07.2013

Установка базы 1С на SQL 2008

В данной статье мы расскажем, об установке базы 1С на Microsoft SQL сервере.

Установка базы на SQL сервер позволяет ускорить работу, а так же решить несколько проблем с резервным копированием и обновлением базы.

Конечно, в 1С есть галочки «автоматически создать базу в случае ее отсутствия», но мы их использовать не рекомендуем, т.к. в этом случае не всегда понятно где физически будут находиться файлы нашей базы, а ведь это сильно влияет на надежность и производительность!

Предполагается, что Вы успешно установили MS SQL 2008, а так же платформу 1С 8.2 на сервере, включая сам сервер 1С и Консоль управления серверами 1С, ключ защиты вставлен в сервер и определяется в устройствах.

Сразу отметим важное замечание — для нормальной работы, потребуется установить Service Pack 3 for SQL 2008 и перезагрузить сервер.

1. Создание пользователя — владельца базы

Запускаем SQL server Management studio

Создаем нового пользователя. Если пароль простой, то снимаем галку «Enforce Password policy». У данного пользователя не будет администраторских прав на сервере, никаких галочек в закладках добавлять не нужно.

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

Важно: Аутентификацию на сервере SQL нужно перевести в режим «и SQL и Windows».

Правой кнопкой жмем на имени сервера, выбираем «свойства», закладка «Security», меняем параметр Server authentication.

2. Создаем базу в SQL

В нашем случае имя базы Base1s (начинать имя базы с цифры так же не рекомендуем).

Обязательно указываем владельца базы, в нашем случае это пользователь User1s

Далее важный момент — выбрать путь, где будут физически находиться файл базы и лог-файл. Общая рекомендация — хранить их на быстром Raid массиве (каком именно — тема отдельной статьи), не на системном диске, в какой-нибудь специально созданной папке. В нашем случае — d:\1sBase

Важный нюанс — для нормальной работы 1С нельзя ограничивать рост файла базы и лога. Рекомендуется оставить параметры growth по-умолчанию.

На закладке Options можно выбрать режим работы базы — Full или Simple.

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

3. Создаем базу в консоли администрирования серверов 1С

Заходим в консоль «администрирование серверов 1С» и создаем базу.

Советуем называть базу в консоли 1С и в SQL одинаковым именем, так проще их идентифицировать. В нашем случае это Base1s

Галочку «Создать базу данных в случае ее отсутствия» снимаем.

Нажимаем ОК. Если все предыдущие пункты были выполены правильно, в консоли появится созданная нами базы.

В случае появления сообщения об ошибке, проверьте:

  • Вы правильно ввели все параметры, в том числе имя пользователя — владельца базы 1С, и его пароль.
  • Что установлен Service Pack 3 for SQL 2008
  • Режим аутентификации на сервере SQL установлен как «и SQL и Windows»
  • Что пользователь SQL, которого Вы указали, действительно является владельцем (Owner) базы SQL.
  • Что ключ защиты сервера подключен и нормально отображается в диспетчере устройств

4. Подключаемся к созданной базе 1С

В список баз 1С добавляем созданную базу, заходим конфигуратором

Далее, в конфигураторе можно загрузить DT базы и приступать к работе.

Не забудьте настроить резервное копирование базы в SQL с уведомлением по e-mail! Об этом — читайте в нашей статье

«Настройка уведомления по e-mail в SQL 2005»

На этом все. Свои вопросы пишите на адрес support @ leann.ru «Леанн»

Возврат к списку

Вопросы установки и настройки 1C:Предприятия 8.1 в варианте “клиент-сервер” 

В большинстве случаев для установки 1C:Предприятия 8.1 в варианте “клиент-сервер” достаточно запуска программы установки 1С:Предприятия 8.1. При этом сервер 1С:Предприятия получает стандартные значения параметров, необходимые для его нормального функционирования.

Рассмотрим установку сервера 1С:Предприятия более детально. В процессе установки сервера 1С:Предприятия 8.1 программа установки 1С:Предприятия 8.1 выполняет следующие действия:

  • Копирует загрузочные модули сервера 1С:Предприятия в каталог, указанный программе установки 1С:Предприятия в качестве конечной папки.

  • Если в процессе установки выбрано «Создать пользователя USR1CV81», то создает пользователя USR1CV81. От имени этого пользователя работает сервер 1С:Предприятия 8.1, если он запускается как сервис. Ему доступны только те ресурсы, которые необходимы серверу 1С:Предприятия. Важно, что серверу 1С:Предприятия для работы необходимы два каталога: общий каталог с данными сервера (обычно «C:\Program Files\1cv81\server») и каталог временных файлов (обычно «C:\Documents and Settings\usr1cv81\Local Settings\Temp» или «C:\WINNT\Temp»). Пользователь USR1CV81 получает права на общий каталог с данными сервера. Каталог временных файлов обычно доступен всем пользователям.

  • Если в процессе установки включено «Установить сервер 1С:Предприятия 8.1 как сервис Windows», то регистрирует в Windows сервис агента сервера 1С:Предприятия и запускает его. При первом запуске создается кластер серверов 1С:Предприятия с настройками по умолчанию. В нем один рабочий сервер и один рабочий процесс. Адрес рабочего сервера совпадает с именем компьютера, на котором выполнена установка.

Пользователь USR1CV81 и его права

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

Рассмотрим подробнее права, устанавливаемые пользователю USR1CV81. Сервер 1С:Предприятия использует следующие каталоги:

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

  • Каталог данных сервера обычно имеет имя «C:\Program Files\1cv81\server». Пользователю USR1CV81 необходимы полные права на этот каталог. Программа установки 1С:Предприятия при создании пользователя USR1CV81 наделяет его правами на этот каталог.

  • Каталог временных файлов обычно имеет имя «C:\Documents and Settings\usr1cv81\Local Settings\Temp» или «C:\WINNT\Temp», которое определяется значением переменной TEMP окружения пользователя или переменной TEMP системного окружения. Посмотреть значение этой переменной можно в диалоге System Properties (Start -> Settings -> Control Panel -> System -> Advanced -> Environment Variables). Программа установки 1С:Предприятия задает пользователю USR1CV81 полные права на этот каталог.

    Обычно при установки Windows каталог временных файлов доступен всем пользователям посредством включения в его список доступа группы CREATOR OWNER. Однако, это доступ не полный. В частности, всем пользователям не доступна операция поиска файлов в этом каталоге. Установка пользователю USR1CV81 полных прав на каталог временных файлов позволяет серверу 1С:Предприятия выполнять все необходимые ему операции. Посмотреть список доступа можно в диалоге свойств каталога на закладке Security. Наличие группы CREATOR OWNER позволяет обращаться к каталогу любому пользователю, создающему какие-нибудь файлы в этом каталоге или владеющему какими-нибудь файлами в этом каталоге. При этом в списке доступа созданного файла вместо группы CREATOR OWNER будет записан пользователь, создавший файл. Среди пользователей, которым разрешен доступ в этот каталог, должен быть и пользователь USR1CV81, наделенный полными правами на этот каталог.
    Важно иметь в виду, что каталог временных файлов определенного пользователя (в том числе и пользователя USR1CV81) определяется комбинацией переменных окружения этого пользователя и системных переменных окружения. Чтобы узнать этот каталог, программа установки 1С:Предприятия запрашивает контекст пользователя USR1CV81. В для этого в Windows 2000 пользователю, от имени которого запускается программа установки 1С:Предприятия, могут потребоваться привилегии: Act as part of the operating system и Bypass traverse checking. Проверить привилегии пользователя можно утилитой Local Sequrity Settings в ветке Local Policies -> User Rights Assignment. В процессе установки нового программного обеспечения программа установки обычно получает эти привилегии автоматически.

Регистрация сервера 1С:Предприятия как сервиса Windows

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

Для просмотра списка сервисов Windows и их параметров предназначена утилита Component Services (Start -> Settings -> Control Panel -> Administrative Tools -> Services). Сервер 1С:Предприятия представлен в списке сервисов сервисом «Агент сервера 1С:Предприятия 8.1». Параметры сервиса определяют запуск процесса «Агент сервера 1С:Предприятия» (ragent), пользователя, от имени которого он запускается, а также способ перезапуска в аварийных ситуациях.

В диалоге свойств сервиса «Агент сервера 1С:Предприятия 8.1» на закладке General показана строка запуска процесса ragent, который является Агентом сервера 1С:Предприятия. Обычно эта строка имеет вид:

Копировать в буфер обмена

«C:\Program Files\1cv81\bin\ragent.exe» -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -d «C:\Program Files\1cv81\server»

В ней указано, что:

  • процессом Агента сервера является загрузочный модуль «C:\Program Files\1cv81\bin\ragent.exe»;

  • процесс ragent запускается как сервис Windows и должен управляться менеджером сервисов (-srvc);

  • используется как Агент сервера 1С:Предприятия (-agent);

  • при первом запуске сервиса должен быть создан кластер с параметрами по умолчанию и главным IP-портом номер 1541 (-regport 1541). По этому порту клиентские приложения должны соединяться с информационными базами, зарегистрированными в кластере;

  • IP-порт агента сервера должен иметь номер 1540 (-port 1540). По этому порту Консоль кластера должна соединяться с центральным сервером для выполнения административных функций;

  • при запуске процессов кластера на данном сервере им будут динамически назначаться IP-порты из диапазона 1560-1591 (-range 1560:1591).

  • общие данные кластера будут размещены в каталоге «C:\Program Files\1cv81\server» (-d «C:\Program Files\1cv81\server»).

Сервис «Агент сервера 1С:Предприятия 8.1» может быть добавлен или удален не только при установке или удалении 1С:Предприятия программой установки 1С:Предприятия 8.1, но и вручную. Для этого можно исполнить из командной строки утилиту ragent, указав ей соответствующие параметры.

Для создания сервиса нужно указать параметр -instsrvc и параметры: -usr — имя пользователя, от имени которого должен быть запущен сервис, -pwd — пароль этого пользователя. При этом остальные параметры станут параметрами строки запуска Агента сервера 1С:Предприятия как сервиса. Например, для стандартной регистрации сервиса Агента сервера 1С:Предприятия в отладочном режиме набор параметров должен быть таким:

Копировать в буфер обмена

«C:\Program Files\1cv81\bin\ragent.exe» -instsrvc -usr .\USR1CV81 -pwd Password -regport 1541 -port 1540 -range 1560:1591 -d «C:\Program Files\1cv81\server» -debug

Для удаления сервиса нужно указать параметр -rmsrvc. Например:

Копировать в буфер обмена

«C:\Program Files\1cv81\bin\ragent.exe» -rmsrvc

Иногда бывает полено изменить строку запуска Агента сервера или другие параметры сервиса Агента, например, включить режим отладки, или создать несколько сервисов разных версий. Диалог свойств сервиса не позволяет редактировать строку запуска сервисного приложения и некоторые другие параметры, например, идентификатор сервиса. Для редактирования потребуется утилита regedit, предназначенная для просмотра и редактирования системного реестра Windows.

Внимание!
Редактирование системного реестра Windows требует крайней осторожности, поскольку ошибочные изменения в нем могут привести операционную систему в неработоспособное состояние.

Запустите утилиту regedit (откройте Start -> Run и наберите regedit) и выберите ветку:

Копировать в буфер обмена

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\1C:Enterprise 8.1 Server Agent

Среди ее параметров есть параметр ImagePath, значением которой является строка запуска Агента сервера 1С:Предприятия. Здесь можно добавить новые параметры строки запуска или поменять значения существующих. Полный список возможных параметров приведен в книге «1С:Предприятие 8.1 Клиент-сервер» документации.

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

Копировать в буфер обмена

«C:\Program Files\1cv81\bin\ragent.exe» -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -d «C:\Program Files\1cv81\server»

  • При помощи утилиты regedit изменить идентификатор зарегистрированного сервиса. Для этого: выбрать ветку
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\1C:Enterprise 8.1 Server Agent
    и изменить ее имя, например на:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\1C:Enterprise 8.1 Server Agent First

  • Создать второй сервис:

Копировать в буфер обмена

«C:\Program Files\1cv81_10\bin\ragent.exe» -srvc -agent -regport 1641 -port 1640 -range 1660:1691 -d «C:\Program Files\1cv81_10\server»

  • Быть может, его идентификатор тоже изменить.

    Для этого: выбрать ветку
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\1C:Enterprise 8.1 Server Agent
    и изменить ее имя, например на:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\1C:Enterprise 8.1 Server Agent Second

Что не может сделать программа установки 1С:Предприятия

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

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

Чтобы сервер 1С:Предприятия был доступен с других компьютеров в локальной сети, необходимо проверить сетевые настройки на серверном и клиентском компьютере, а также для сети в целом. Для передачи данных между клиентскими приложениями и сервером 1С:Предприятия, а также между процессами кластера серверов используется TCP/IP. От правильности его настройки зависит работа 1С:Предприятия в варианте клиент-сервер.

Процессы кластера серверов 1С:Предприятия соединяются друг с другом по адресам, определенным в качестве значений свойства «Компьютер» диалога свойств рабочих серверов. Для кластера необходимо, чтобы значением свойства «Компьютер» был либо IP-адрес в точечной нотации, либо такой символический адрес, по которому может быть определен IP адрес при помощи функции gethostbyname, определенной в программном интерфейсе протокола TCP. Определение IP-адреса выполняется либо на основании локальной таблицы символических адресов (C:\WINNT\system32\drivers\etc\hosts), либо по таблицам адресов в доступных DNS серверах. Если по символическому адресу рабочего сервера его IP-адрес не определяется или определяется неправильно (например, IP-адрес не совпадает с фактическим IP-адресом данного компьютера), то кластер работать не будет. Важно, чтобы имена компьютеров и их адреса, определенные в Windows на каждом из рабочих серверов кластера, не противоречили их именам в DNS.

На каждом рабочем сервере процессы кластера используют следующие порты: IP порт рабочего сервера (обычно 1540); IP порты из диапазонов IP портов рабочего процесса (обычно 1560-1591). Кроме того, на центральном сервере кластера используется порт кластера (обычно 1541). Если в системе используются сетевые экраны, то передача данных по этим портам должна быть разрешена. Вместо разрешения портов из приведенного списка можно разрешить передачу данных процессам кластера (ragent, rmngr, rphost).

Соединение клиентского приложения 1С:Предприятия с сервером выполняется в 2 этапа. Сначала оно устанавливает соединение с менеджером кластера. При этом используется адрес центрального сервера (символический или числовой) и порт кластера (обычно 1541). Далее клиентское приложение устанавливает соединение с одним из рабочих процессов. В качестве его адреса используется значение свойства «Компьютер» соответствующего рабочего сервера и порт рабочего процесса, который выбирается из диапазона IP портов рабочего сервера. Передача данных на эти порты должна быть разрешена во всех сетевых экранах на маршруте от компьютера клиентского приложения до компьютеров кластера серверов 1С:Предприятия. Определение IP адреса серверных процессов выполняется при помощи функции gethostbyname на компьютере клиента. Важно, чтобы имена центрального и рабочих серверов и их адреса, определенные в Windows на каждом из серверов кластера, не противоречили их именам в DNS, доступном компьютеру клиента.

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

Особенности настройки SQL-сервера

1С:Предприятие в варианте «клиент-сервер» использует для хранения данных SQL-сервер. При этом к SQL-серверу обращается только Сервер 1С:Предприятия. Клиенты 1С:Предприятия непосредственного доступа к SQL-серверу не имеют. Установка и настройка SQL-сервера подробно описана в документации по Microsoft SQL Server. Для успешной работы Сервера 1С:Предприятия с SQL-сервером необходимо обратить особое внимание на следующие настройки.

  • Необходимые компоненты SQL-сервера. Для доступа к SQL-серверу со стороны Сервера 1С:Предприятия на компьютере Сервера 1С:Предприятия должны быть установлены компоненты Microsoft Data Access 2.6 или более поздний.

  • Аутентификация пользователя SQL-сервером. Права доступа к базам данных SQL-сервера определяются пользователем, от имени которого происходит обращение к базам данных. С компьютера, на котором установлен SQL-сервер, запустим утилиту SQL Server Enterprise Manager, найдем узел Local (Console Root -> Microsoft SQL Servers -> SQL Server Group -> (Local)) и откроем его свойства.

    На закладке Sequrity можно видеть, что SQL-сервер поддерживает два способа аутентификации пользователей: SQL Server and Windows и Windows only. Аутентификация Windows позволит Серверу 1С:Предприятия обращаться к SQL-серверу только от имени пользователя USR1CV81, что не позволяет различать права доступа до различных информационных баз, обслуживаемых одним сервером 1С:Предприятия. Рекомендуется выбирать режим SQL Server and Windows. В этом случае обращение к конкретной информационной базе будет выполняться от имени пользователя, который задан в качестве пользователя SQL-сервера при создании данной информационной базы. Важно, что этот пользователь должен иметь не только полные права на базу данных информационной базы, но и права на создание баз данных в SQL-сервере и на чтение таблиц базы данных Master.

  • Сетевые протоколы для доступа к SQL-серверу. Если Сервер 1С:Предприятия и SQL-сервер размещены на разных компьютерах, то необходимо выполнить настройки сетевых протоколов доступа к SQL-серверу. Это можно сделать при помощи утилиты SQL Server Client Network Utility. На закладке General можно выбрать список сетевых протоколов, используемых для доступа к SQL-серверу. Наиболее быстрым и универсальным является использование протокола TCP/IP. При использовании других протоколов необходимо иметь в виду, что некоторые из них, например Named Pipes, выполняют дополнительную аутентификацию средствами Windows при обмене данными с SQL-сервером. В этом случае для успешной работы с SQL-сервером на компьютере с SQL-сервером должен быть зарегистрирован пользователь USR1CV81, наделенный соответствующими правами. Протокол доступа к данному SQL-серверу может быть изменен на закладке Alias.

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


Нередко администраторы сети сталкиваются с проблемами грамотной настройки резервного копирования данных, например базы данных 1С 7.7 или 1С 8.1, средствами MS SQL. В основном это обусловлено либо отсутствием необходимых навыков, либо простой «боязнью» проводить какие-либо работы с реальной базой данных («А вдруг я сделаю что-то не так?!»). В этом пожалуй есть некоторый смысл, тем не менее резервное копирование данных или backup – очень полезная процедура, которая позволит в кратчайшие сроки восстановить копию базы данных в случае сбоя. Безусловно, резервное копирование настраивается не только, чтобы обеспечить возможное восстановление данных после сбоя (основное предназначение), но и для создания программных кластерных решений, уменьшения размера файлов.

В данной статье предлагается краткое описание настройки системы 1С резервного копирования средствами MS SQL 2000 в контексте возможного сбоя базы данных.

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

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

Опишу настройки выполнения процедуры резервного копирования:

А. Выбираем пункт меню «Backup database» для требуемой БД.

Б. Окно настройки SQL Server backup.

Самый распространенный и простой способ backup – “Database Complete”, в файл backup выгружается вся база данных. Из недостатков: для базы данных большого размера процедура достаточно долгая и ресурсоемкая.

Второй способ backup – “Database Differential”, в файл выгрузки сохраняется только данные (под данными понимаем и структуру), которые были изменены с даты предыдущего backup. Следует помнить, что без предыдущих backup восстановить требуемым способом будет невозможно.

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

Вводим информацию о файле резервной копии (прописываем путь на диске)

“Append to media” – режим, при котором следующий backup будет дописан в существующий файл.

“Overwrite existing media” – режим, при котором следующий backup перезапишет существующий файл.

Задает расписание выполнение процедуры резервного копирования.

В. Окно «Options» процедуры резервного копирования.

«Verify backup upon completion» — проверка корректности процедуры backup после завершения.

«Eject tape after backup» — извлечь ленту после backup (если установлены специфичные устройства).

«Remove inactive entries from transaction log» — удаление неактивных записей из журнала транзакций.

Г. Текст задания на резервное копирование.

После задания расписания (Schedule) в предыдущем окне и нажатии кнопки «ОК» , в списке заданий MS SQL появится задание на резервное копирование.

Как видно из рисунка, команда на резервное копирование представляет из себя код T-SQL, который можно выполнить отдельно от задания в любом приложении.

Процедуры по резервному копированию, как и другие регламентные процедуры, можно настроить и другими способами, например, через Database maintenance plans.

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

Автор статьи БаркетовПавел

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

Для работы наибольшего количества информационных баз достаточно дат больших 1 января 1753 года. Установка смещения дат 2000 ведет к усложнению обслуживания информационной базы и незначительному снижению производительности, поскольку все даты базы данных получают неестественные значения и требуют преобразования при чтении, записи и использовании.

1. Это проблема присуща толко MS SQL Server ( например на DB2 такой заморочки нет вообще). Изначально смещение — это формат хранения дат в субд.

2. Короткий пересказ мыслей разработчиков » Литерал ДАТАВРЕМЯ(1, 1, 1) адекватно представляется на всех СУБД и считается нулевой датой. Даты от ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0) до ДАТАВРЕМЯ(1, 1, 1, 23, 59, 59) считаются временем без даты и тоже адекватно интерпретируются на всех СУБД. Различное поведение возможно для дат из диапазона с ДАТАВРЕМЯ(1, 1, 2) по ДАТАВРЕМЯ(1752, 12, 31, 23, 59, 59). Эти даты не могут быть представлены на MS SQL Server с нулевым смещением дат и могут интерпретироваться либо как нулевые даты, либо вызывать ошибку операций над данными.

В результате можно получить ошибку вроде Microsoft OLE DB Provider for SQL Server: Adding a value to a ‘datetime’ column caused overflow.

HRESULT=80040E07, SQLSrvr: Error state=1, Severity=10, native=517, line=1

3. И хотя официальная позиция 1С туманна :), не стоит искать приключения …

Выбирайте смещение 2000.

v8: Смещение дат (ошибка в индексах)

Добавить комментарий

Закрыть меню