Установка 1С:Предприятие 7.7 на Microsoft SQL Server 2008 R2

1C_V7_logoОфициально, платформа 1С:Предприятие 7.7 работает только с MS SQL Server 2000. Но с помощью небольших манипуляций можно организовать стабильную работу и с последней, на момент написания статьи, версий Microsoft SQL Server 2008 R2. Ниже представлена пошаговая настройка связки 1С:Предприятие 7.7 + MS SQL Server 2008 R2 + Microsoft Windows Server 2008 R2 (Справедливо и для других операционных систем семейства Windows). Итак:

0. Оглавление

  1. Установка Windows Server 2008 R2
  2. Установка SQL Server 2008 R2 
  3. Создание новой базы данных в SQL Server 2008 R2
  4. Настройка Windows Server 2008 R2
  5. Установка 1С:Предприятие 7.7
  6. Патч и замена файла BkEnd.dll
  7. Создание представления sksprocesses в MS SQL Server
  8. Добавление информационной базы в 1С:Предприятие 7.7
  9. Настройка безопасности для всех пользователей

1. Установка Windows Server 2008 R2

В качестве серверной ОС используем Microsoft Windows Server 2008 R2. Об установке этой системы подробно можно прочитать в статье «Установка Windows Server 2008 R2».

2. Установка SQL Server 2008 R2

Далее устанавливаем Microsoft SQL Server 2008 R2. Во время установки выбираем:

  • Параметры сортировки  — «Cyrilic_General_CI_AS»
  • Режим проверки подлинности — «Смешанный режим»

Очень подробно об установке SQL Server я писал в статье «Установка Microsoft SQL Server 2008 R2».

3. Создание новой базы данных в  SQL Server 2008 R2

Добавляем нового пользователя в SQL Server 2008 R2. Обязательно даем ему роль processadmin, иначе будем натыкаться на ошибку:

«Доступ к базе возможен только из одного каталога информационной базы»  

Затем создаем новую базу данных, указав:

  • Имя базы данных не должно начинаться с цифры или иметь пробелы в названии, иначе получим ошибку:
    «неправильный синтаксис около конструкции %имя базы данных%»
  • В качестве владельца указываем только что созданного пользователя (В моем случае имя пользователя — «UserSQL» )
  • Модель восстановления базы данных: «Простая» (1С:Предприятие 7.7 прекрасно работает и при полной модели восстановления. Но в этом случае, вы должны хорошо понимать все плюсы и минусы данного решения).
  • Уровень совместимости: «SQL Server 2000 (80)» .

О том как это сделать читайте в статье «Добавление пользователя и создание новой базы данных в Microsoft SQL Server 2008 R2».

4. Настройка Windows Server 2008 R2

Теперь необходимо заменить оригинальные фалы odbcbcp.dll, sqlsrv32.dll и sqlsrv32.rll (скачать все файлы одним архивом) в каталогах C:\Windows\System32 и в C:\Windows\SysWOW64 файлами из каталога C:\Windows\System32 под управлением Windows Server 2003 (в архиве).
Чтобы сделать это необходимо стать владельцем этих файлов и получить права на их редактирование . Для этого заходим в C:\Windows\System32 находим файл odbcbcp.dll, кликаем по нему правой кнопкой, выбираем «Свойства». В открывшемся окне переходим на вкладку «Безопасность», нажимаем «Дополнительно».

Ustanovka_1C_SQL_001

В появившемся окне переходим на вкладку «Владелец» , нажимаем «Изменить» , выбираем текущего пользователя и жмем 2 раза «ОК» .

Ustanovka_1C_SQL_002

Затем на вкладе «Безопасность» нажимаем «Изменить» и для текущего пользователя выставляем уровень безопасности «Полный доступ» . Закрываем окна кнопкой «ОК» .
Только после этого система даст нам заменить файл odbcbcp.dll.
Аналогичные действия необходимо выполнить и для всех остальных файлов в папках C:\Windows\System32 и C:\Windows\SysWOW64.
Если этого не сделать, при запуске 1С:Предприятие будем натыкаться на ошибку:
«Ошибка для доступа к базе данных требуется ODBC-драйвер для MS SQL Server версии 3.50.0303 или старше»

5. Установка 1С:Предприятие 7.7

Теперь необходимо установить 1С:Предприятие 7.7, ставим версию для SQL. Об особенностях установки читайте в статье «Установка системы 1С:Предприятие 7.7 в Windows x64».

6. Патч и замена файла BkEnd.dll

Теперь необходимо заменить файл BkEnd.dll из оригинальной поставки 1С:Предприятие 7.7, находящего по пути C:\Program Files (x86)\1Cv77\BIN, «пропатченным» файлом BkEnd.dll. Вы можете использовать мой файл, или сделать изменения самостоятельно. О том как и что необходимо в нем изменить читайте в моей статье «Работа в Hex-редакторе Free Hex Editor Neo, на примере патча файла BkEnd.dll для работы 1С:Предприятие 7.7 с Microsoft SQL Server 2008 R2».
Замену файла делаем для того, чтобы избавиться от ошибок:

  • «Требуется MS SQL Server 6.5 + Service Pack 5a или более старшая версия!»
  • «Порядок сортировки, установленный для базы, отличается от системного!»
  • «Неправильный синтаксис около ключевого слова «TRANSACTION»
  • «База данных не может быть открыта в однопользовательском режиме»

7. Создание представления sksprocesses в MS SQL Server

Продолжаем исправлять ошибку «База данных не может быть открыта в однопользовательском режиме». Для этого создадим представление в базе данных (источник).
Заходим в программу «Среда Microsoft SQL Server Management Studio» («Пуск» — «Все программы» — «Microsoft SQL Server 2008 R2» — «Среда Microsoft SQL Server Management Studio» ), выбираем наш SQL Server (в моем примере это «S4\ULTRA»), раскрываем вкладку «Базы данных» , затем «Системные базы данных» и вкладку «master» . На вкладке «Представления» кликаем правой кнопкой мыши и в меню выбираем «Создать представление» .

Ustanovka_1C_SQL_004

Откроется окно «Добавление таблицы» , закроем его нажав «Закрыть» .

Ustanovka_1C_SQL_005

Теперь в окне слева напишем текст представления:

select * from sysprocesses where cmd <> 'checkpoint'

Затем, нажимаем «Выполнить код SQL» (Иконка с красным восклицательным знаком на панели)

Ustanovka_1C_SQL_006

После того, как код изменится, сохраним представление, назвав  его sksprocesses.

Ustanovka_1C_SQL_007

В результате чего в обозревателе объектов увидим только что созданное представление dbo.sksprocesses. Кликаем по нему правой кнопкой мыши и выбираем «Свойства» .

Ustanovka_1C_SQL_008

Откроется окно «Свойства представления» , в нем переходим на вкладку «Разрешения» и добавим пользователя guest. Для этого нажимаем «Найти» в окне добавления пользователей «Обзор» , отмечаем в списке пользователя guest и жмем «ОК» .

Ustanovka_1C_SQL_009

Теперь отмечаем разрешения для guest:

  • Вставка
  • Выборка
  • Изменение
  • Назначение владельцем
  • Обновление
  • Просмотр определения

После чего нажимаем «ОК» .

Ustanovka_1C_SQL_010

На этом создание представления завершено.

8. Добавление информационной базы в 1С:Предприятие 7.7

Теперь, запустим 1С:Предприятие в режиме конфигуратора и добавим новую базу, для этого нажимаем «Добавить» задаем имя базы данных и указываем путь к каталогу в котором будет храниться наша база (изначально должен быть пустым) и нажимаем «ОК» .

Ustanovka_1C_SQL_011

Заходим в добавленную только что базу данных в режиме конфигуратора. При первом запуске система попросит выбрать формат хранения данных. Выбираем «MS SQL Server» и нажимаем «ОК» .

Ustanovka_1C_SQL_012

В запустившемся конфигураторе заходим в «Администрирование» — «Параметры базы данных SQL…» .

Ustanovka_1C_SQL_013

Откроется окно «Параметры базы данных SQL«, в нем заполняем:

  • Имя сервера в формате: <Сетевое имя компьютера>\<Имя экземпляра SQL Server>. (в моем случае это «S4\ULTRA» )
  • База данных: Имя базы данных, которое было введено при создании новой базы данных в п. 2. (в моем случае это «BASE_1C» )
  • Пользователь: Имя пользователя, которое было введено при создании нового пользователя в п. 2. (у меня это «UserSQL» )
  • Пароль: Пароль, который указывали для пользователя при создании в п. 2.

И нажимаем «ОК» .

Ustanovka_1C_SQL_014

Если нам нужна новая, т. е. «чистая» база, то уже можно начинать работать. Если же необходимо перенести уже существующую базу данных, то необходимо предварительно выгрузить из нее данные (войти в 1С:Предприятие в режиме конфигуратора, «Администрирование» — «Выгрузить данные» ) а затем загрузить в нашу, только что созданную базу на SQL («Администрирование» — «Загрузить данные» — выбрать файл выгрузки — «ОК» и согласиться с предупреждением о конфликте данных) .

Ustanovka_1C_SQL_015

После этого этапа уже можно работать в 1С под текущим пользователем Windows.

9. Настройка безопасности для всех пользователей

Если подразумевается, что данный сервер является также Сервером терминалов, на котором будут работать несколько пользователей, то необходимо для директорий, где хранятся базы данных 1С (в моем случае это «C:\1C_BASE») дать всем пользователям права на чтение/запись. Для этого в проводнике выделяем нужную папку, кликаем по ней правой кнопкой мыши и в меню выбираем «Свойства«. В открывшемся окне переходим на вкладку «Безопасность» и нажимаем кнопку «Изменить» . В окне «Разрешения для группы…» для группы «Все» установим «Полный доступ» . Закроем все окна кнопкой «ОК» .

Теперь можно создавать пользователей для работы с 1С:Предприятие в режиме терминального сервера или в режиме удаленных приложений RemoteApp.

Помогла ли Вам данная статья?
Да, спасибо, все получилось!
Немного помогла.
Совсем не помогла.
Не то что я искал(а).
Смотреть результаты
Запись опубликована в рубрике 1С 7 с метками , , . Добавьте в закладки постоянную ссылку.


219 Responses to Установка 1С:Предприятие 7.7 на Microsoft SQL Server 2008 R2

  1. Сергей говорит:

    Создаю новую базу данных в sql server management studio 2008 , даю «простая» а уровень совместимости 2000 выбрать не могу…. нет выбора.. В чем засада ? Спасибо

  2. Владимир говорит:

    Сделал всё как написано. Итог — ошибка sql state 08001 native error 14 и ошибка sql state 01000 native error 14

  3. Максат говорит:

    sql state 08004 native 916
    серверу участнику «логин» не удалось обратиться к базе данных «имя базы» в текущем контексте безопасности

    как исправить?

    • Виталий Онянов говорит:

      Попробуйте вообще отключить Брандмауэр Windows и все другие существующие сетевые экраны и антивирусы. Будет ли ошибка в этом случае?

  4. Василий говорит:

    Спасибо за статью все понятно написано! )))

    Можете подсказать, у нас сейчас стоит SQL 2005 на Server 2008 и крутиться база 1с 7.7.027
    Хотим поставить SQL 2008
    Но сталкнeись с проблемой, не можем выгрузить базу 7,7 пишет:
    sql state: 42s02
    Native:208
    Message: [Microsoft][ODBC SQL Server Driver][SQL
    Server] Invalid object name ‘master..sksprocesses’.

    При этом база корректно работает и проблем нет!
    Если можно подскажите в чем трабл?, уж очень нужно перейти на SQL 2008

    • Василий говорит:

      Вообщем создать представление
      и все норм
      Еще раз спасибо за статью

  5. Андрей говорит:

    Виталий, спасибо огромное за ваш сайт и то, что вы делаете. У меня все установилось на новый сервер, благодаря вашим рекомендациям, единственное с чем пришлось повозиться это загрузить в базу бекап средствами 1с — для этого в инете нашел плагин Unload_Data_Fix.

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

    База 25 гигов. 1c 7.7 (27 релиз)
    Старый сервак: проц 4(8)*2,2 ГГц; ОЗУ 8Гб; WinServ 2003 x64 Ent sp2; MsSql 2000 sp4. Модель восстановления — полная.
    Новый сервак: проц 6(12)*2,1 Ггц; ОЗУ 16Гб; WinServ 2008 x64 R2 Ent sp1; Mssql 2008 R2; Модель восстановления — простая.

    Для примера поставил формировать отчет остатков по всем складам и посмотрел параметры системы в диспетчере задач:
    Старый сервак: Загрузка ЦП — 85%, Озу 8,63 Гб. 50 пользователей.
    1 пользователь примерно кушает 50-80МБ , процесс sqlservr.exe*32 где-то 3,6Гб и 50% ЦПУ. Время выполнения отчета — 59 сек.
    Новый сервак: Загрузка ЦП — 7%, Озу 15,7 Гб. 2 пользователя.
    1 пользователь 48 МБ, 5% ЦПУ; процесс sqlservr.exe 80 Мб, 2% ЦПУ. процесс ReportingServicesService 115МБ , 0 %. Время выполнения отчета 105 сек.

    Как-то непонятно расходуется оперативная память.В чем может быть дело, буду благодарен вашим советам.

    • Виталий Онянов говорит:

      Доброго времени суток.
      Вы написали про характеристики серверов, но забыли о самом главном для сервера баз данных — жестких дисках.
      Запустите замер производительности, помониторьте счетчики Memory \ Pages/sec и Phisical Disk \ Avg. Disk Queue Length.
      Возможно проблема именно в производительности жестких дисков, на которых расположена база данных.

      • Андрей говорит:

        Да вроде по счетчикам все нармуль.
        Память\ обмен стр/с: Старый сервак 5,134, Новый 1,112.
        Физ.диск\ средняядлина очереди диска: Старый 0,935. Новый 0,132
        Лог.диск\ ср. длина очереди: Старый 0,852. Новый 0,29.
        Такое ощущение, что дело в sql server. Может из-за того, что работает в режиме совместимости с 2000, как будто операцию делает два раза, типа сначала преобразует данные из режима sql2000, потом их обрабатывает, а потом выдает опять в данном режиме для 1с.
        А вообще есть какие-нибудь тонкие настройки для sql2008 при работе с 1с?

        • Виталий Онянов говорит:

          По умолчанию, все должно нормально работать «из коробки».
          Необходимо только настроить планы обслуживания для резервного копирования баз и для реорганизации индексов / очистки процедурного кэша / обновления статистики.
          http://kb.1c.ru/articleView.jsp?id=13

          • Сергей говорит:

            Добрый вечер, застопорился на создании представления, пишет «недопустимое имя столбца checkpoint», не могли бы подсказать, в чём может быть проблема. А блог шикарный, много нового узнал, спасибо!

          • Виталий Онянов говорит:

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

  6. Андрей говорит:

    Виталий, огромное спасибо за статью, да и в целом за ваш сайт. Он мне очень помог и не раз. Но в данной статье хотел указать на одну маленькую деталь. При создании представления для master вы указываете, что нужно прописать следующий скрипт
    select * from sysprocesses where cmd ‘checkpoint’
    Но если прописывать его именно так, как у вас указано, то SQL-менеджер вылетает с ошибкой BEX. В SQL синтаксисе я не силен. Поэтому подумал, что ошибка произошла при подмене dll’ок. Очень много времени потратил, пока не понял, что тут нужны другие кавычки обрамляющие checkpoint, а именно:
    select * from sysprocesses where cmd ‘checkpoint’. ( ‘’ ). Полагаю, я такой не один необразованный, и исправление этой строки, кому-нибудь сэкономит время. Спасибо.
    Добавлю еще, что данная инструкция подходит и для 2005 sql-сервера.

    • Андрей говорит:

      Особенность шрифта на сайте, но когда писал коммент, во втором случае были другие кавычки. После вставки кавычки стали одинаковые. Не знаю, как показать разницу тогда.

  7. Александр говорит:

    Здравствуйте, может кто подскажет где почитать можно ли сделать всё тоже самое только на
    Windows Server 2012 и SQL 2012.
    Спасибо.

    • Виталий Онянов говорит:

      Здравствуйте.
      Сам не пробовал, но говорят, что алгоритм настройки, описанный в данной статье, работает и для MS SQL Server 2012.

      • Валерий говорит:

        Увы, в mssql2012 нет возможности выбрать уровень совместимости базы с mssql2000, минимум mssql2005. А при установке mssql2008 на win2012 ругается на возможные проблемы совместимости. Я не рискнул, откатился на win2008+mssql2008. И это потолок в данных условиях (патчинг bkend.dll). В сети имеется так называемый «секретный релиз 7.7» (кому интересно infostart.ru/public/82018/). Там пошли не по пути патчинга bkend.dll, а по пути написания своего bkend.dll. Заявлена работа mssql2005-2014 без необходимости понижать уровень совместимости. Я не пробовал.

  8. Александр говорит:

    Большое спасибо за статью. Удалось поставить базу,но при записи нового контрагента выдает ошибку: Записать();
    {Справочник.Контрагенты.Форма.Модуль(280)}: Объект заблокирован
    Хоть в базе сижу монопольно и в некоторые другие справочники данные записать можно. Не подскажите в чём может быть заморочка? Заранее большое спасибо.

    • Виталий Онянов говорит:

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

  9. Дмитрий говорит:

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

  10. Вадим говорит:

    Большое спасибо Виталий, за Ваши очень полезные статьи!!!
    Но вот в чём вопрос.
    Изначально всё было установлено так: WS2008R2(64bit)+MSQL2008R2+1C7 7.70.027 при этом очень много было занято оперативной памяти,
    но всё работает, правда периодически во время работы появляется сообщение о сбое выделения оперативной памяти, хотя её занято
    только половину, решили перейти на следующую сборку WS2003+MSQL2008R2+1C7 7.70.027, база из архива восстановилась, но вот
    когда запускаю тестирование и исправление — пересчет служебных данных и пересчет итогов то появляется следующее сообщение:
    SQL State: 42000
    Native:156
    Message:[Microsoft][ODBC SQL Server Driver][SQL Server]Неправильный синтаксис около ключевого слова «SET».
    SQL State: 42000
    Native:195
    Message:[Microsoft][ODBC SQL Server Driver][SQL Server]RECOVERY не является известным параметр SET.
    Спасибо!

    • Денис говорит:

      Добрый день! Аналогичная проблема, если удалить после этой ошибки батник 1srecalc из каталога базы. база запускается и вроде работает, НО всетаки ошибка есть ошибка хотелось бы разобраться с причиной возникновения. если есть варианты прошу не проходить мимо. Спасибо.

  11. Алексей говорит:

    Здравствуйте, спасибо большое за статью. Всё понятно написано и, главное, работает.
    Есть два вопроса.
    1. После перевода базы (3 Гб DBF) на SQL (стала 6 Гб) производительность отчетов упала в 4 раза. Документы проводятся примерно на той же скорости. Испытания на очень быстром сервере с очень быстрыми дисками. Заход в 1С терминально, базы на сервере терминалов и там и там. Такое падение производительности — это типично?
    2. Запустил на новой SQL базе тестирование ИБ средствами 1С. На дбф базе база проверяется за час. НА SQL уже прошло 4 часа, результата пока нет. Я понимаю, что на SQL , скорее всего, не придется исправлять базу, так как SQL сам за эти процессы отвечает. Тем не менее, это типично, что тестирование SQL базы так много времени занимает?

    • Виталий Онянов говорит:

      Здравствуйте.
      Не стоит ждать от переноса базы на SQL большого увеличения производительности. Скорее всего будет наоборот.
      Причины перехода на SQL для 1С 7.7 обычно следующие:
      1. Размер базы несовместим с форматом DBF.
      2. Настройка планов резервного копирования.
      3. Удобство администрирования.
      4. Больше возможностей (при правильной настройке) для параллельной работы большого числа пользователей.

      Ну а что касаемо вашего вопроса, то регламентные операции для SQL-ной базы лучше делать средствами SQL, а не платформы. Попробуйте для начала сделать перестроение индексов и обновление статистики средствам SQL Management Studio.

  12. илья говорит:

    Здравствуйте,

    при загрузке в скуль из выгрузки
    дает ошибку:

    Сообщение
    SQL Server обнаружил логическую ошибку ввода-вывода, связанную с согласованностью: неверный идентификатор страницы (ожидаемый 1:719; фактический 1:136914). Она произошла при прочитать страницы (1:719) в базе данных с идентификатором 2 по смещению 0x0000000059e000 файла «C:\SQL_Base\MSSQL10_50.RT\MSSQL\DATA\tempdb.mdf». Дополнительные сведения см. в журнале ошибок SQL Server и журнале системных событий. Это серьезная ошибка, которая угрожает целостности базы данных и должна быть немедленно исправлена. Выполните полную проверку базы данных на согласованность (DBCC CHECKDB). Эта ошибка может быть вызвана многими причинами; дополнительные сведения см. в электронной документации по SQL Server.

    происходит это при пересчете Скулем перекретсных ссылок по док-ам Реализация,

    что же можно попробовать..?

    и где запустить Эту полную проверку базы данных на согласованность (DBCC CHECKDB).

    • Виталий Онянов говорит:

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

  13. Сергей говорит:

    Сделал всё по инструкции, но прописывание параметров базы SQL закачивается ошибкой. Понял что неправильно указано имя сервера/представление БД. Указываю (local) — ошибка указания учётной записи. Пробовал зайти в management по тому же методу — сервер\пользователь — ошибка «сервер не существует». Что сделал не так?

    Ошибки 8001 и 1000.

    • Виталий Онянов говорит:

      Адрес сервера правильно вводить в формате:

      • <АдресСервера> — имя или IP адрес сервера для экземпляра по умолчанию
      • <АдресСервера>\<ИмяЭкземпляра> — для именованного экземпляра SQL Server

      Запустите «Диспетчер конфигурации SQL Server» (в Windows 2008 находится в «Пуск» — «Microsoft SQL Server 2008 R2» — «Средства настройки»), там вы сможете увидеть все связанные с SQL-сервером службы и имена, по которым до этих служб можно «достучаться».

  14. Анна говорит:

    Огромное спасибо! Пол дня билась головой о «master..sksprocesses», перерыла всё, что нашла, и наконец-то попала сюда. Тьфу-тьфу, вроде всё работает.

  15. Александр говорит:

    Виталий Онянов. Все работает замечательно, но как быть с Windows 8 x86 x64, Windows 7 x86 x64. С WIndows XP всё нормально. При попытки выдаёт ошибку (Ошибка для доступа к базе данных требуется ODBC-драйвер для MS SQL Server версии 3.50.0303 или старше). Я так понимаю, таким же способом заменить файлы odbcbcp.dll, sqlsrv32.dll и sqlsrv32.rll

    • Виталий Онянов говорит:

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

  16. Алексей говорит:

    Виталий, спасибо за статью! Подскажите, а если у меня сервер SQL и Сервер Терминалов разнесены на две разные физические машины, то как поступить? Как будет правильно?

    • Виталий Онянов говорит:

      Здравствуйте.
      Настраиваете все, что касаемо 1С на сервере терминалов. Все что касается SQL на сервере баз данных соответственно. В конфигураторе 1С прописываете путь к серверу SQL. Заменять файлы необходимо на обоих серверах. Никаких проблем быть не должно. Если будут трудности — пишите.

  17. Аноним говорит:

    Спасибо!!!

  18. Максим Антифеев говорит:

    Добрый день, Виталий. Прочитал Вашу статью — спасибо за мелкие детали.
    Правда на свой вопрос я не нашел ответа — прошу подсказать куда копать
    Есть распределенная БД УТ 1с77 (релиз не помню — не под рукой). Центр Стоит на mssql 2000.
    сделал выгрузку филиала (подразделения).
    В подразделении mssql 2008 r2 при попытке загрузить CF ник получаю ошибку при создании _1sp_RA3115_WriteDocAct. База после этого запускается, но пустая (я так понял данные в romix.dat а до его загрузки процедура не дошла. Почему-то ни в одной инструкции по УРБД этот файл не упоминается)
    Нашел Вашу статью т.к. начал грешить на то что разные версии sql.

    • Виталий Онянов говорит:

      Хм… я с подобным не сталкивался. Но попробуйте сделать следующее:
      1. Создать базу на том же mssql 2000.
      2. Сделать бэкап SQL.
      3. Развернуть бэкап в MS SQL 2008 (с 2000-ого это можно сделать).
      4. Запустить 1С.

  19. Алексей говорит:

    Виталий, огромное спасибо за статью! У меня следующая проблема после переноса базы — в оборотках пустота, хотя проводки в документах присутствуют. Не встречались с такой проблемой?

    • Виталий Онянов говорит:

      Здравствуйте. К счастью не встречался. 🙂
      Скорее всего, у вас таблицы итогов пустые.
      Попробуйте сделать полное тестирование и исправление информационной базы (из конфигуратора).

  20. Ержан говорит:

    на картинке где вы указываете путь Администрирование — параметры базы данных sql , у меня просто нет строки параметры базы данных sql)) в чем проблема?

    • Виталий Онянов говорит:

      Установлена версия 1С 7.7, которая не поддерживает клиент-серверные информационные базы.

  21. Ержан говорит:

    sql state 08001
    native 17
    Microsoft ODBC SQL server driver DBNETLIB sql server.
    server doesn not exist or access denied
    sql state 01000
    native 67
    Microsoft ODBC SQL server driver DBNETLIB connection sever.
    никак не могу понять в чем проблема есть идеи?

    • Виталий Онянов говорит:

      Вроде по ошибке:

      server doesn not exist or access denied

      сервер либо не найден, либо нет доступа. А вы можете подключиться к MS SQL через Management Studio?

  22. Дмитрий говорит:

    Добрый день!
    Настроил всё по инструкции, но при загрузке базы (zip+romix) появляется такое вот сообщение:

    SQL State: 42000
    Native: 156
    Message: [Microsoft][ODBC SQL Server Driver][SQL Server] Неправильный синтаксис около ключевого слова «SET».

    SQL State: 42000
    Native: 195
    Message: [Microsoft][ODBC SQL Server Driver][SQL Server] RECOVERY не является известным параметр SET.

  23. Александр говорит:

    Есть реально работающие боевые базы в такой связке ? Что бы без глюков и танцев с бубном. Есть 7.7 база 30 гигов, в связке 2003+2000SQL, собираюсь переводить на 2008R2+2008SQL, будет какой гемор с этим связанный ? Повторяется ли проблема ВыбратьПодчиненныеДокументы() на 2008SQL сервере ?

    • Виталий Онянов говорит:

      Да, при настройке придется немного помучиться (подробности в статье) но потом все работает стабильно и без сбоев. Только я знаю несколько систем, которые по многу лет работают в такой связке.

  24. Александр говорит:

    Установил сегодня все по инструкции для пробы на виртуальную машину, используя «секретный релиз», все работает НО, очень долго проводятся документы Реализация, скажем документ из 910 позиций проводится минут 20( При этом, по диску нулевая активность, только по ЦП.

  25. Andrey говорит:

    Виталий, огромное спасибо за Ваши статьи! Возникло два вопроса:
    1. После замены системных файлов в Вин 2008 не возникнут ли проблемы у 1с8 с SQL?
    2. Мне нужно перенести БД 1с7 на другой сервер. Благодаря вашему руководству все настроил на новом сервере, но как быть с папкой 1с7? Ее просто целиком перенести со старого сервера? Настройки БД на новом сервере не удалятся при этом?

    • Виталий Онянов говорит:

      Здравствуйте. Спасибо за ваш комментарий.
      1. Проблем с базами 1С 8, хранящимися на этом же сервере SQL не возникнет, правда для них также надо установить режим совместимости.
      2. Скопируйте эту папку на новый сервер, заменив имеющиеся файлы. Настройки подключения к серверу БД правда придется ввести снова.

  26. Анатолий говорит:

    Спасибо большое автору!!! Очень помогла статья. Дай Бог Вам здоровья!

  27. Дмитрий говорит:

    Спасибо за подробное мануалово. Все сразу получилось, 2008r2 сервер 2008r2 скуль. База стала вылетать на книге продаж, на скуле медленно, но верно за 2 часа но формирует.

  28. Alm говорит:

    Здравствуйте,
    спасибо за столь информативную статью.

    Интересует такой вопрос, у нас есть бэкап базы 1С 7.7 в формате mdf/ldf.
    Можно ли эту базу подключить к новому серверу настроеному по Вашей статье?

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

    • Виталий Онянов говорит:

      Здравствуйте.
      Нет, к сожалению, обязательно нужен файл конфигурации, т. е. файл 1Cv7.MD.
      Не обязательно, но желательно:
      Для восстановления данных о пользователях нужен каталог: usrdef
      Внешние отчеты и печатные формы хранятся в ExtForms.

      • Владимир говорит:

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

  29. Юлия говорит:

    Здравствуйте.
    Огромная вам благодарность за такие ликбезы!
    Остановилась на «Загрузить данные…» в Конфигураторе, выходит предупреждение с ошибкой: «SQL State: HY010
    Native: 0
    Message: [Mickrosoft][ODBC SQL Server Driver]Function seguence error»
    и, видимо как следствие, база открывается с нужной конфигурацией, но пустая как новая «Обнаружен первый запуск…».

    • Виталий Онянов говорит:

      Здравствуйте.

      Не могу сказать в чем причина конкретно у вас. Какие могут быть рекомендации:
      1. Выгрузить базу из файловой с помощью плагина от romix — Unload_Dat_Fix_2008_02_25
      2. Перегрузить в чистую конфигурацию все справочники и документы с помощью этой обработки: https://infostart.ru/public/195955/

    • Роман говорит:

      Столкнулся с аналогичной проблемой, помогло копирование файла odbcbcp.dll в папку, где находится 1cv7s.exe (например, C:\Program Files (x86)\1Cv77\BIN)

      Виталий, большое спасибо за вашу статью, без нее я бы возился до скончания веков

  30. Аноним говорит:

    в дополнение к Вашей статье:
    В случае если установлен именованный экземпляр MS SQL 2008 , а не экземпляр по умолчанию (MSSQLSERVER) у клиентов после ввода пароля при авторизации в 1С может вылазить табличка 8001 и 1000 (SQL сервер не существует или отсутствует доступ). для устранения ошибки на клиентской машине, запустить cliconfig.exe (найти в папке %systemroot%\system32\ или syswow64 для 64битной ОС) и на первой вкладке добавить протокол TCP/IP в во включеные, на вкладке псевдоним (alias) добавить tcp/ip псевдоним в формате : \ в обе строки (имя и псевдоним сервера), я у себя крыж снял с динамических портов и прописал руками порт 1433. проверил работает windows 2003/xp/7(32/64бита)

  31. Виктор говорит:

    Здравствуйте, при загрузке данных на этапе «загрузка системных данных» вываливается с ошибкой:
    Сигнатура проблемы:
    Имя события проблемы: APPCRASH
    Имя приложения: 1cv7s.exe
    Версия приложения: 7.70.0.27
    Отметка времени приложения: 4573fcd8
    Имя модуля с ошибкой: StackHash_0a9e
    Версия модуля с ошибкой: 0.0.0.0
    Отметка времени модуля с ошибкой: 00000000
    Код исключения: c0000005
    Смещение исключения: 00000000
    Версия ОС: 6.1.7601.2.1.0.274.10
    Код языка: 1049
    Дополнительные сведения 1: 0a9e
    Дополнительные сведения 2: 0a9e372d3b4ad19135b953a78882e789
    Дополнительные сведения 3: 0a9e
    Дополнительные сведения 4: 0a9e372d3b4ad19135b953a78882e789

    DEP для 1с отключен
    можете помочь?

  32. Роман говорит:

    SQL 2008 + Server 2008
    База работает нормально, но при обновлении, а точнее при добавлении реквизита в налоговую накладную при реорганизации данных выдает ошибку

    SQL State HY000
    Native 0
    Message [Microsoft] [ODBC SQL Server Driver] ODBCBCP /Driver version mismatch

    Если поменять в конфигураторе текст — сохраняет без проблем.

    • Виталий Онянов говорит:

      Здравствуйте.
      Очень странная ошибка, мне с такой сталкиваться не приходилось.
      Ну и если замена текста вручную помогает, то тогда, как вариант, можно обновляться и таким образом. Спасибо.

      • Аноним говорит:

        Не получается.
        Если добавить реквизит вручную — тоже не сохраняется.
        При этом в низу (в строке слева) бежит надпись Налоговые накладные. Обработка шапки документа 100, потом 200… и при 900 вылетает.

  33. Виталий говорит:

    Спасибо за статью. Вроде все получилось. Только долго воевал с загрузкой данных.Трюк с заменой файлов sqlsrv32.rll, sqlsrv32.dll, odbcbcp.dll не помог. Выползала новая ошибка 182. Оказалось, что в Windows server 2016 помимо вышеуказанных файлов необходима замена еще одного файла, а именно sqlunirl.dll

    • Виталий Онянов говорит:

      Спасибо, что поделились информацией.

    • Aleksey говорит:

      А где взять то этот файл sqlunirl.dll для замены??? Поделитесь

      • Виталий Онянов говорит:

        Он есть в общем архиве, ссылка на архив в статье.

        • Алексей говорит:

          В архиве нет этой dll ки. Видимо перезаливали архив и забыли положить. Если не сложно, добавьте пожалуйста.

  34. Вадим говорит:

    Получаю ошибку при попытке установки соединения
    SQL State IM004
    SQLAllocHandle для драйвера SQL_HANDLE_ENV

  35. Ковпак говорит:

    Server 2008 R2/У меня проблема, терминальный сервер установил, 1С. тоже Но есть проблема у некоторых пользователях не проводяться документы в терминалке. Что может в политике безопасности нада поставить чтоб права были для провождения документов.

    • Виталий Онянов говорит:

      Здравствуйте. Скорее всего дело в правах пользователя в самой информационной базе 1С. Для проверки этого, попробуйте пользователю через конфигуратор дать роль «Администратор» (или ее аналог). Будут ли проводиться документы в этом случае?

  36. Виталий говорит:

    Добрый день. Не обращали внимания, если все сделать по вашей инструкции и 1С будет с Sql на одном хосте, будет ли использоваться протокол Shared Memory? Сейчас работает в tcp и пока не получается запустить в shared memory

    • Виталий Онянов говорит:

      Здравствуйте. 1С стала поддерживать протокол Shared Memory только с версии 8.2.17. Боюсь, что для 7.7 доступен только протокол TCP.

      • Виталий говорит:

        В связке с 2000 sql использовался протокол LPC, потому она и работает быстрее. 1С77 сама по себе ничего не поддерживает, она работает через ODBC. Чтобы реализовать протокол shared memory нужно заставить 1С использовать драйвера Native Client 10.0. Удалось таки запустить с помощью solution7, Предварительно решение вопроса такое: Установить Solution7, имя сервера указать вот так:
        sql8; Driver={SQL Server Native Client 10.0};
        где sql8 это имя sql сервера. Если используется именованный экземпляр то нужно указывать и его — sql8\Mysql; Если именованный экземпляр работает по стандартному порту 1433, то имя инстанции все равно указывать, иначе опять таки будет работать через TCP.

        Решение предварительное, так как в боевом режиме еще не пробовал, и не известно стабильно ли оно работает и будет ли прирост в скорости

  37. Андрей говорит:

    Добрый день, Виталий!
    Спасибо вам за эту статью, очень помогла!
    Подскажите, появилась проблема «SQL State HY000 Native 0 Несоответствие версий ODBCBCP и драйвера». Сцепка сервер 2012 r2 и SQL 2008 r2 база 1С 7.7(переход с 2003 сервера на 2012 r2). Файлы dll подменил, но проблема осталась. Появилась при попытке Загрузки в 1С базы выгруженной с 2003 сервера…
    Ошибка появляется на прохождении в статусе окна этемента WriteDocAct.
    Спасибо.

    • Виталий Онянов говорит:

      Добрый день.

      С такой проблемой сталкиваться не приходилось.

      Вы выгружали через sql-бэкап, или делали выгрузку через конфигуратор 1С? Попробуйте вариант 1С-ной выгрузке. Проверьте, что все же все dll заменены, в обоих каталогах.

      • Андрей говорит:

        делал выгрузку с 1С. Причем случилось так: Попробовал первый раз делать загрузку выгрузки 1С(с2003) в 1С под 2012, 1С вываливалась. Оказалось не длл-ки не везде поменял. Заменил длл-ки и началась проблема с «…Несоответствие версий ODBCBCP…» 1С уже не вываливалась. Причем подменял файлы в 2012 файлами с другой такой же имеющейся гостевой на виртуалки системы 2012 r2, где все работает (Загрузить данные…).

  38. Андрей говорит:

    Добрый день, установил 1cv77 в связке Windows server 2012 R2 + SQL 2008.
    Под администратором установил 1c, развернул базу, все работает, но когда пользователь запускает 1c постоянно просит пароль администратора для запуска. Как можно это убрать?

    • Виталий Онянов говорит:

      Что вы имеете в виду? Отображается стандартное окно выбора пользователя? Так это нормально.
      Приложите скрин, пожалуйста, из вашего комментария не понятна проблема.

  39. Вячеслав говорит:

    Здравствуйте. Пытаюсь сделать все по вашей инструкции. Но не могу скачать файлы для Windows Server, на которые необходимо заменить. Можете поправить ссылки на архив http://www.tavalik.ru/files/Ustanovka_1C_SQL/Ustanovka_1C_SQL.zip.
    То же касаемо файла BkEnd.dll. Не скачивает

    • Вячеслав говорит:

      Извиняюсь. Почему-то chrome не скачивает у меня, а вот firefox отлично все скачал. Так что ссылки не битые, это у меня видимо что-то с хромом.

  40. максим говорит:

    3 мес. все работало. Потом вдруг переключение между внутренними окнами 1c7 начинает тормозить, особенно на Общий журнал, потом белеет 1с и ее убийство. Через 2 часа повторяется

    • Виталий Онянов говорит:

      Добрый день. С ходу ошибка не ясна, нужно погружаться и изучать проблему более детально. Посмотрите нагрузку на оборудование, в частности на дисковую подсистему. Были ли изменения конфигурации в последнее время, если были, то какие? Были ли изменения инфраструктуры после которой начались зависания и т. д.

  41. Виктор говорит:

    Доброго дня. Сделал всё бубка к бубке по вашему шикарному мануалу. Всё заработало отлично и с полтыка. Сразу видно, что мануал писал профессионал. Ещё бы увидеть нечто подобное по переносу базы из 1с77 в 1с83. Дело в том, что имеется полностью самописная база, создававшаяся нашими 1с-никами на основе очень старой и никогда не обновлявшейся с момента покупки конфигурации от минской «ЮКОЛЫ». Соответственно, никакие мануалы, гуляющие по интернетам, не подходят. Даже более того, «1с_Минск» в своей адаптации «Бухгалтерия для Беларуси» 2.0 вырезала пункт переноса 1с77—>1с83 из панели «Администрирование» (такой пункт есть в адаптации для Казахстана). Конечно, никому нельзя запрещать зарабатывать себе на кусок хлеба, но не таким же зверским способом!

    • Виталий Онянов говорит:

      Здравствуйте. Спасибо за ваш отзыв.
      Относительно перехода с 7.7 на 8.3, то единой статьи быть не может. Так как каждый проект по переходу уникальный. Где-то достаточно написать правила обмена для типовой конфигурации, где-то нужно значительно дорабатывать конфигурацию под нужды предприятия (ну и правила обмена никто не отменял) и т. д.
      С данным вопросом рекомендую обратиться в одну из фирм-франчайзи 1С.

  42. макс говорит:

    ваши файлы старые и 1 из 2х из XP:
    sqlsrv32.dll FileVersion : 2000.085.3006.00 (xpsp_sp3_qfe.080821-1625)
    sqlsrv32.rll FileVersion : 2000.085.1022.00 (srv03_rtm.030324-2048)
    но есть новее:
    FileVersion : 2000.086.1830.00 (srv03_sp1_rtm.050324-1447)
    FileVersion : 2000.086.1830.00 (srv03_sp1_rtm.050324-1447)

    https://www.e1.ru/talk/forum/read.php?f=69&i=25912&t=25912#goto26037

  43. Максим говорит:

    Доброе время суток!

    Сервер Win 2019 St. SQL 2008. Бухгалтерия 4.5. Файл 1SENTRY.DBF подошел к 2 гигам. Решили перейти на SQL.
    Сделал по инструкции но во время загрузки системной информации 1с вылетает. Просто вылетает.
    Кстати пробовал и на SQL 2005. Разницы никакой. В чем может быть проблема.

    • Виталий Онянов говорит:

      Добрый день. Для выгрузки данных больших баз необходимо использовать специальный плагин Unload_Dat_Fix. Скачать можно здесь: http://x-romix.narod.ru/

  44. Макс говорит:

    Пропатченный файлик заменил, но окошко с SQL не выходит при запуске конфигуратора. Выскакивает только Выбор кодовой страницы…
    Патчик у кого-то этот работает? (с заменой файла)

    • Виталий Онянов говорит:

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

  45. Андрей говорит:

    Не могли бы вы перезалить файлы для замены, а то не доступны. Заранее спасибо)

Добавить комментарий для Андрей Отменить ответ

Ваш адрес email не будет опубликован. Обязательные поля помечены *