Официально, платформа 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. Оглавление
- Установка Windows Server 2008 R2
- Установка SQL Server 2008 R2
- Создание новой базы данных в SQL Server 2008 R2
- Настройка Windows Server 2008 R2
- Установка 1С:Предприятие 7.7
- Патч и замена файла BkEnd.dll
- Создание представления sksprocesses в MS SQL Server
- Добавление информационной базы в 1С:Предприятие 7.7
- Настройка безопасности для всех пользователей
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, кликаем по нему правой кнопкой, выбираем «Свойства». В открывшемся окне переходим на вкладку «Безопасность», нажимаем «Дополнительно».
В появившемся окне переходим на вкладку «Владелец» , нажимаем «Изменить» , выбираем текущего пользователя и жмем 2 раза «ОК» .
Затем на вкладе «Безопасность» нажимаем «Изменить» и для текущего пользователя выставляем уровень безопасности «Полный доступ» . Закрываем окна кнопкой «ОК» .
Только после этого система даст нам заменить файл 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» . На вкладке «Представления» кликаем правой кнопкой мыши и в меню выбираем «Создать представление» .
Откроется окно «Добавление таблицы» , закроем его нажав «Закрыть» .
Теперь в окне слева напишем текст представления:
select * from sysprocesses where cmd <> 'checkpoint'
Затем, нажимаем «Выполнить код SQL» (Иконка с красным восклицательным знаком на панели)
После того, как код изменится, сохраним представление, назвав его sksprocesses.
В результате чего в обозревателе объектов увидим только что созданное представление dbo.sksprocesses. Кликаем по нему правой кнопкой мыши и выбираем «Свойства» .
Откроется окно «Свойства представления» , в нем переходим на вкладку «Разрешения» и добавим пользователя guest. Для этого нажимаем «Найти» в окне добавления пользователей «Обзор» , отмечаем в списке пользователя guest и жмем «ОК» .
Теперь отмечаем разрешения для guest:
- Вставка
- Выборка
- Изменение
- Назначение владельцем
- Обновление
- Просмотр определения
После чего нажимаем «ОК» .
На этом создание представления завершено.
8. Добавление информационной базы в 1С:Предприятие 7.7
Теперь, запустим 1С:Предприятие в режиме конфигуратора и добавим новую базу, для этого нажимаем «Добавить» задаем имя базы данных и указываем путь к каталогу в котором будет храниться наша база (изначально должен быть пустым) и нажимаем «ОК» .
Заходим в добавленную только что базу данных в режиме конфигуратора. При первом запуске система попросит выбрать формат хранения данных. Выбираем «MS SQL Server» и нажимаем «ОК» .
В запустившемся конфигураторе заходим в «Администрирование» — «Параметры базы данных SQL…» .
Откроется окно «Параметры базы данных SQL«, в нем заполняем:
- Имя сервера в формате: <Сетевое имя компьютера>\<Имя экземпляра SQL Server>. (в моем случае это «S4\ULTRA» )
- База данных: Имя базы данных, которое было введено при создании новой базы данных в п. 2. (в моем случае это «BASE_1C» )
- Пользователь: Имя пользователя, которое было введено при создании нового пользователя в п. 2. (у меня это «UserSQL» )
- Пароль: Пароль, который указывали для пользователя при создании в п. 2.
И нажимаем «ОК» .
Если нам нужна новая, т. е. «чистая» база, то уже можно начинать работать. Если же необходимо перенести уже существующую базу данных, то необходимо предварительно выгрузить из нее данные (войти в 1С:Предприятие в режиме конфигуратора, «Администрирование» — «Выгрузить данные» ) а затем загрузить в нашу, только что созданную базу на SQL («Администрирование» — «Загрузить данные» — выбрать файл выгрузки — «ОК» и согласиться с предупреждением о конфликте данных) .
После этого этапа уже можно работать в 1С под текущим пользователем Windows.
9. Настройка безопасности для всех пользователей
Если подразумевается, что данный сервер является также Сервером терминалов, на котором будут работать несколько пользователей, то необходимо для директорий, где хранятся базы данных 1С (в моем случае это «C:\1C_BASE») дать всем пользователям права на чтение/запись. Для этого в проводнике выделяем нужную папку, кликаем по ней правой кнопкой мыши и в меню выбираем «Свойства«. В открывшемся окне переходим на вкладку «Безопасность» и нажимаем кнопку «Изменить» . В окне «Разрешения для группы…» для группы «Все» установим «Полный доступ» . Закроем все окна кнопкой «ОК» .
Теперь можно создавать пользователей для работы с 1С:Предприятие в режиме терминального сервера или в режиме удаленных приложений RemoteApp.
Создаю новую базу данных в sql server management studio 2008 , даю «простая» а уровень совместимости 2000 выбрать не могу…. нет выбора.. В чем засада ? Спасибо
Хм… очень странно. Смогли решить проблему?
Сделал всё как написано. Итог — ошибка sql state 08001 native error 14 и ошибка sql state 01000 native error 14
sql state 08004 native 916
серверу участнику «логин» не удалось обратиться к базе данных «имя базы» в текущем контексте безопасности
как исправить?
Попробуйте вообще отключить Брандмауэр Windows и все другие существующие сетевые экраны и антивирусы. Будет ли ошибка в этом случае?
Спасибо за статью все понятно написано! )))
Можете подсказать, у нас сейчас стоит 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
Вообщем создать представление
и все норм
Еще раз спасибо за статью
Виталий, спасибо огромное за ваш сайт и то, что вы делаете. У меня все установилось на новый сервер, благодаря вашим рекомендациям, единственное с чем пришлось повозиться это загрузить в базу бекап средствами 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», не могли бы подсказать, в чём может быть проблема. А блог шикарный, много нового узнал, спасибо!
Скорее всего кавычка с браузера неправильно скопировалась. Попробуйте установить кавычки в запросе руками.
Виталий, огромное спасибо за статью, да и в целом за ваш сайт. Он мне очень помог и не раз. Но в данной статье хотел указать на одну маленькую деталь. При создании представления для master вы указываете, что нужно прописать следующий скрипт
select * from sysprocesses where cmd ‘checkpoint’
Но если прописывать его именно так, как у вас указано, то SQL-менеджер вылетает с ошибкой BEX. В SQL синтаксисе я не силен. Поэтому подумал, что ошибка произошла при подмене dll’ок. Очень много времени потратил, пока не понял, что тут нужны другие кавычки обрамляющие checkpoint, а именно:
select * from sysprocesses where cmd ‘checkpoint’. ( ‘’ ). Полагаю, я такой не один необразованный, и исправление этой строки, кому-нибудь сэкономит время. Спасибо.
Добавлю еще, что данная инструкция подходит и для 2005 sql-сервера.
Особенность шрифта на сайте, но когда писал коммент, во втором случае были другие кавычки. После вставки кавычки стали одинаковые. Не знаю, как показать разницу тогда.
Спасибо. Я вас понял. Исправил кавычки в статье.
Здравствуйте, может кто подскажет где почитать можно ли сделать всё тоже самое только на
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 без необходимости понижать уровень совместимости. Я не пробовал.
Большое спасибо за статью. Удалось поставить базу,но при записи нового контрагента выдает ошибку: Записать();
{Справочник.Контрагенты.Форма.Модуль(280)}: Объект заблокирован
Хоть в базе сижу монопольно и в некоторые другие справочники данные записать можно. Не подскажите в чём может быть заморочка? Заранее большое спасибо.
Спасибо за ваш отзыв.
Но, к сожалению, сказать в чем у вас проблема с ходу не могу. Надо разбираться «на месте» более детально.
Всё делаю как в статье, но при загрузке данных в новую базу выходит ошибка о неподдержки целостности журнала транзаций, соглашаюсь ОК, Выходит сообщение о том что список пользователей пуст. Если завести пользователя торугаеться на сортировку ? что не так? на этом SQL сервере работает уже одна база на 1С7.7
Большое спасибо Виталий, за Ваши очень полезные статьи!!!
Но вот в чём вопрос.
Изначально всё было установлено так: 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 из каталога базы. база запускается и вроде работает, НО всетаки ошибка есть ошибка хотелось бы разобраться с причиной возникновения. если есть варианты прошу не проходить мимо. Спасибо.
Здравствуйте, спасибо большое за статью. Всё понятно написано и, главное, работает.
Есть два вопроса.
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.
Здравствуйте,
при загрузке в скуль из выгрузки
дает ошибку:
Сообщение
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 пока база полностью не загружена, мне кажется, нет смысла. Попробуйте перед тем как делать выгрузку из файловой базы, сделать тестирование и исправление базы средствами конфигуратора.
Сделал всё по инструкции, но прописывание параметров базы SQL закачивается ошибкой. Понял что неправильно указано имя сервера/представление БД. Указываю (local) — ошибка указания учётной записи. Пробовал зайти в management по тому же методу — сервер\пользователь — ошибка «сервер не существует». Что сделал не так?
Ошибки 8001 и 1000.
Адрес сервера правильно вводить в формате:
Запустите «Диспетчер конфигурации SQL Server» (в Windows 2008 находится в «Пуск» — «Microsoft SQL Server 2008 R2» — «Средства настройки»), там вы сможете увидеть все связанные с SQL-сервером службы и имена, по которым до этих служб можно «достучаться».
Огромное спасибо! Пол дня билась головой о «master..sksprocesses», перерыла всё, что нашла, и наконец-то попала сюда. Тьфу-тьфу, вроде всё работает.
Виталий Онянов. Все работает замечательно, но как быть с 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 удобнее работать через сервер удаленных рабочих столов, если есть такая возможность.
Виталий, спасибо за статью! Подскажите, а если у меня сервер SQL и Сервер Терминалов разнесены на две разные физические машины, то как поступить? Как будет правильно?
Здравствуйте.
Настраиваете все, что касаемо 1С на сервере терминалов. Все что касается SQL на сервере баз данных соответственно. В конфигураторе 1С прописываете путь к серверу SQL. Заменять файлы необходимо на обоих серверах. Никаких проблем быть не должно. Если будут трудности — пишите.
Спасибо!!!
Добрый день, Виталий. Прочитал Вашу статью — спасибо за мелкие детали.
Правда на свой вопрос я не нашел ответа — прошу подсказать куда копать
Есть распределенная БД УТ 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С.
Виталий, огромное спасибо за статью! У меня следующая проблема после переноса базы — в оборотках пустота, хотя проводки в документах присутствуют. Не встречались с такой проблемой?
Здравствуйте. К счастью не встречался. 🙂
Скорее всего, у вас таблицы итогов пустые.
Попробуйте сделать полное тестирование и исправление информационной базы (из конфигуратора).
Виталий, спасибо! Попробую.
на картинке где вы указываете путь Администрирование — параметры базы данных sql , у меня просто нет строки параметры базы данных sql)) в чем проблема?
Установлена версия 1С 7.7, которая не поддерживает клиент-серверные информационные базы.
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.
никак не могу понять в чем проблема есть идеи?
Вроде по ошибке:
сервер либо не найден, либо нет доступа. А вы можете подключиться к MS SQL через Management Studio?
Добрый день!
Настроил всё по инструкции, но при загрузке базы (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.
У меня точно такая же картина. Подскажите что делать?
Есть реально работающие боевые базы в такой связке ? Что бы без глюков и танцев с бубном. Есть 7.7 база 30 гигов, в связке 2003+2000SQL, собираюсь переводить на 2008R2+2008SQL, будет какой гемор с этим связанный ? Повторяется ли проблема ВыбратьПодчиненныеДокументы() на 2008SQL сервере ?
Да, при настройке придется немного помучиться (подробности в статье) но потом все работает стабильно и без сбоев. Только я знаю несколько систем, которые по многу лет работают в такой связке.
Установил сегодня все по инструкции для пробы на виртуальную машину, используя «секретный релиз», все работает НО, очень долго проводятся документы Реализация, скажем документ из 910 позиций проводится минут 20( При этом, по диску нулевая активность, только по ЦП.
Виталий, огромное спасибо за Ваши статьи! Возникло два вопроса:
1. После замены системных файлов в Вин 2008 не возникнут ли проблемы у 1с8 с SQL?
2. Мне нужно перенести БД 1с7 на другой сервер. Благодаря вашему руководству все настроил на новом сервере, но как быть с папкой 1с7? Ее просто целиком перенести со старого сервера? Настройки БД на новом сервере не удалятся при этом?
Здравствуйте. Спасибо за ваш комментарий.
1. Проблем с базами 1С 8, хранящимися на этом же сервере SQL не возникнет, правда для них также надо установить режим совместимости.
2. Скопируйте эту папку на новый сервер, заменив имеющиеся файлы. Настройки подключения к серверу БД правда придется ввести снова.
Спасибо большое автору!!! Очень помогла статья. Дай Бог Вам здоровья!
Спасибо за подробное мануалово. Все сразу получилось, 2008r2 сервер 2008r2 скуль. База стала вылетать на книге продаж, на скуле медленно, но верно за 2 часа но формирует.
Здравствуйте,
спасибо за столь информативную статью.
Интересует такой вопрос, у нас есть бэкап базы 1С 7.7 в формате mdf/ldf.
Можно ли эту базу подключить к новому серверу настроеному по Вашей статье?
Очень интересует данный, так как файлового варианта базы не осталось, кроме тех двух файлов.
Здравствуйте.
Нет, к сожалению, обязательно нужен файл конфигурации, т. е. файл 1Cv7.MD.
Не обязательно, но желательно:
Для восстановления данных о пользователях нужен каталог: usrdef
Внешние отчеты и печатные формы хранятся в ExtForms.
Если конфа околотиповая, то шансы на извлечение типовых данных всеже есть, но этим должен програмист заниматься, самостоятельно склеить чужой мдэшник с вашей базой неудастся
Здравствуйте.
Огромная вам благодарность за такие ликбезы!
Остановилась на «Загрузить данные…» в Конфигураторе, выходит предупреждение с ошибкой: «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)
Виталий, большое спасибо за вашу статью, без нее я бы возился до скончания веков
И вам спасибо за комментарий.
в дополнение к Вашей статье:
В случае если установлен именованный экземпляр 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бита)
формат записи: [имя_сервера]\[имя_экземпляра_mssql]
Здравствуйте, при загрузке данных на этапе «загрузка системных данных» вываливается с ошибкой:
Сигнатура проблемы:
Имя события проблемы: 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с отключен
можете помочь?
SQL 2008 + Server 2008
База работает нормально, но при обновлении, а точнее при добавлении реквизита в налоговую накладную при реорганизации данных выдает ошибку
SQL State HY000
Native 0
Message [Microsoft] [ODBC SQL Server Driver] ODBCBCP /Driver version mismatch
Если поменять в конфигураторе текст — сохраняет без проблем.
Здравствуйте.
Очень странная ошибка, мне с такой сталкиваться не приходилось.
Ну и если замена текста вручную помогает, то тогда, как вариант, можно обновляться и таким образом. Спасибо.
Не получается.
Если добавить реквизит вручную — тоже не сохраняется.
При этом в низу (в строке слева) бежит надпись Налоговые накладные. Обработка шапки документа 100, потом 200… и при 900 вылетает.
Спасибо за статью. Вроде все получилось. Только долго воевал с загрузкой данных.Трюк с заменой файлов sqlsrv32.rll, sqlsrv32.dll, odbcbcp.dll не помог. Выползала новая ошибка 182. Оказалось, что в Windows server 2016 помимо вышеуказанных файлов необходима замена еще одного файла, а именно sqlunirl.dll
Спасибо, что поделились информацией.
А где взять то этот файл sqlunirl.dll для замены??? Поделитесь
Он есть в общем архиве, ссылка на архив в статье.
В архиве нет этой dll ки. Видимо перезаливали архив и забыли положить. Если не сложно, добавьте пожалуйста.
Получаю ошибку при попытке установки соединения
SQL State IM004
SQLAllocHandle для драйвера SQL_HANDLE_ENV
Server 2008 R2/У меня проблема, терминальный сервер установил, 1С. тоже Но есть проблема у некоторых пользователях не проводяться документы в терминалке. Что может в политике безопасности нада поставить чтоб права были для провождения документов.
Здравствуйте. Скорее всего дело в правах пользователя в самой информационной базе 1С. Для проверки этого, попробуйте пользователю через конфигуратор дать роль «Администратор» (или ее аналог). Будут ли проводиться документы в этом случае?
Добрый день. Не обращали внимания, если все сделать по вашей инструкции и 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.
Решение предварительное, так как в боевом режиме еще не пробовал, и не известно стабильно ли оно работает и будет ли прирост в скорости
Добрый день, Виталий!
Спасибо вам за эту статью, очень помогла!
Подскажите, появилась проблема «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, где все работает (Загрузить данные…).
Добрый день, установил 1cv77 в связке Windows server 2012 R2 + SQL 2008.
Под администратором установил 1c, развернул базу, все работает, но когда пользователь запускает 1c постоянно просит пароль администратора для запуска. Как можно это убрать?
Что вы имеете в виду? Отображается стандартное окно выбора пользователя? Так это нормально.
Приложите скрин, пожалуйста, из вашего комментария не понятна проблема.
Здравствуйте. Пытаюсь сделать все по вашей инструкции. Но не могу скачать файлы для Windows Server, на которые необходимо заменить. Можете поправить ссылки на архив http://www.tavalik.ru/files/Ustanovka_1C_SQL/Ustanovka_1C_SQL.zip.
То же касаемо файла BkEnd.dll. Не скачивает
Извиняюсь. Почему-то chrome не скачивает у меня, а вот firefox отлично все скачал. Так что ссылки не битые, это у меня видимо что-то с хромом.
3 мес. все работало. Потом вдруг переключение между внутренними окнами 1c7 начинает тормозить, особенно на Общий журнал, потом белеет 1с и ее убийство. Через 2 часа повторяется
Добрый день. С ходу ошибка не ясна, нужно погружаться и изучать проблему более детально. Посмотрите нагрузку на оборудование, в частности на дисковую подсистему. Были ли изменения конфигурации в последнее время, если были, то какие? Были ли изменения инфраструктуры после которой начались зависания и т. д.
Доброго дня. Сделал всё бубка к бубке по вашему шикарному мануалу. Всё заработало отлично и с полтыка. Сразу видно, что мануал писал профессионал. Ещё бы увидеть нечто подобное по переносу базы из 1с77 в 1с83. Дело в том, что имеется полностью самописная база, создававшаяся нашими 1с-никами на основе очень старой и никогда не обновлявшейся с момента покупки конфигурации от минской «ЮКОЛЫ». Соответственно, никакие мануалы, гуляющие по интернетам, не подходят. Даже более того, «1с_Минск» в своей адаптации «Бухгалтерия для Беларуси» 2.0 вырезала пункт переноса 1с77—>1с83 из панели «Администрирование» (такой пункт есть в адаптации для Казахстана). Конечно, никому нельзя запрещать зарабатывать себе на кусок хлеба, но не таким же зверским способом!
Здравствуйте. Спасибо за ваш отзыв.
Относительно перехода с 7.7 на 8.3, то единой статьи быть не может. Так как каждый проект по переходу уникальный. Где-то достаточно написать правила обмена для типовой конфигурации, где-то нужно значительно дорабатывать конфигурацию под нужды предприятия (ну и правила обмена никто не отменял) и т. д.
С данным вопросом рекомендую обратиться в одну из фирм-франчайзи 1С.
ваши файлы старые и 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
Доброе время суток!
Сервер Win 2019 St. SQL 2008. Бухгалтерия 4.5. Файл 1SENTRY.DBF подошел к 2 гигам. Решили перейти на SQL.
Сделал по инструкции но во время загрузки системной информации 1с вылетает. Просто вылетает.
Кстати пробовал и на SQL 2005. Разницы никакой. В чем может быть проблема.
Добрый день. Для выгрузки данных больших баз необходимо использовать специальный плагин Unload_Dat_Fix. Скачать можно здесь: http://x-romix.narod.ru/
Пропатченный файлик заменил, но окошко с SQL не выходит при запуске конфигуратора. Выскакивает только Выбор кодовой страницы…
Патчик у кого-то этот работает? (с заменой файла)
Добрый день. Инструкция многократно проверена мной и пользователями сайта. Что у вас происходит, после выборка кодовой страницы? Есть возможность установить настройки SQL в конфигураторе?
Не могли бы вы перезалить файлы для замены, а то не доступны. Заранее спасибо)
Имя сервера в формате: \. (в моем случае это «S4\ULTRA» )
Вот таким образом у меня нифига не работало и выдавало ошибку, я целый день читал интернеты, пробовал разное всякое, в конце концов я всё снёс и по новой установил, даже секретный релиз поставил и все равно ошибка)
А потом Ввёл имя сервера в формате — «имя компьютера» (без имени экземпляра) и всё завелось).