1C v7.7: FAQ по SQL-версии программы 1С: Предприятие 7.7

Создан 10 сентября 2002 года, последние корректировки внесены 5 ноября 2010 года

  • Далее по тексту слово "программа" - обычно означает "программа 1С: Предприятие 7.7".
  • Сокращение "БД" означает "база данных".
  • Сокращение "ИБ" означает "информационная база".
  • Под "сервером" обычно подразумевается "SQL-сервер"
  • Под "администратор" подразумевается "администратор информационных систем, баз данных, системный администратор"

Спасибо за замечания (адреса не публикую, м.б. люди спама не любят ;):

  • Dmitry Dementiev (что за замечания - не помню, но помню, что были)
  • Алексей Сутягин (расширенные, подробные ответы на ряд вопросов)
  • Shurik Koudryavtsev (замечание по поводу недостатков упрощенной модели backup)
  • Pavel Sarichev (связка "терминальный сервер + SQL-сервер" с гигабитным каналом)
  • Vlad Ionkin (отключение transaction log)

Адрес оригинала FAQ'а: http://faq1c.gorbunov.ru.

  1. Что такое SQL-версия программы 1C: Предприятие?

    Такой вариант программы 1C: Предприятие, который может хранить данные на SQL-сервере.

  2. SQL-версия многим отличается от не SQL-версии?

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

  3. Сложно ли перейти с работы с обычной версией программы на работу с SQL-сервером?

    Нет, в общем случае не сложно. Другой вопрос, - как будет без дополнительной настройки работать после перехода на
    SQL-версию ваша информационная система (созданная на базе 1С: Предприятие 7.7). Речь идет прежде всего о производительности
    - может быть по-всякому: так же, как и раньше, или лучше, или даже хуже.

  4. А какие еще, кроме SQL-сервера, существуют способы хранения данных?

    На большинстве предприятий программа хранит данные в файлах формата DBF.

  5. А что такое SQL-сервер?

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

  6. В чем основное отличие использования SQL-сервера для хранения данных?

    Работая с БД, которая находится в файлах формата DBF, программа сама непосредственно читает и пишет в эти файлы. Работая с
    БД, которая расположена на SQL-сервере, программа непосредственно с файлами данных работать не может, с ними работает один
    только SQL-сервер, а программы обращаются к SQL-серверу с запросами для поиска, чтения и изменения данных.

  7. Зачем нужен такой сложный доступ к данным?

    В первую очередь, для надежности хранения данных. Например, понятие "разрушены индексы", часто встречающееся с БД в
    DBF-формате, при работе с SQL-сервером не существует. Кроме того, такой сложный доступ к данным, в некоторых случаях,
    обеспечивает более быстрое получение данных. Кроме того, такой сложный доступ к данным, в некоторых случаях, является
    единственным возможным для работы очень большого числа пользователей или для работы с очень большой базой данных.

  8. Будет ли работать быстрее программа если перейти на работу с SQL-сервером?

    Не во всех случаях. Проведение документов в большинстве случаев - медленее. Желательно оптимизировать конфигурацию под
    работу с SQL-сервером. Современные типовые (разработанные фирмой 1С) конфигурации (Комплексная 4 и Торговля 9) - работают
    медленно (прежде всего, проведение), даже на очень мощных серверах.

  9. В каких случая переход на SQL-версию принесет хоть какую-либо пользу?

    • Гораздо большая надежность хранения данных - для ответственных БД.
    • "Горячее" резервное копирование - то есть в любой момент рабочего дня без отключения пользователей.
    • Единственно возможный способ функционирования БД, если размер ваших SQL-файлов приближается к гигабайту и продолжает
      расти.
    • Или при очень большом числе пользователей.
    • Быстрое выполнение отчетов, если эти отчеты написанны с учетом того, что данные находяться на SQL-сервере.
  10. Что мне нужно для перехода на работу с SQL-сервером?

    SQL-версия программы 1С: Предприятие 7.7 и SQL-сервер Microsoft SQL Server (MS-SQL Server), а также серверный вариант
    операционной систем Windows, поскольку MS-SQL Server отказывается устанавливаться на другие варианты Windows.

  11. Как отличить SQL-версию внешне?

    Почти ничем. Можно ткнуться в меню "Помощь\О программе", там в самом верху будет надпись "1С: Предприятие 7.7 для SQL".

  12. Если я хочу работать с БД в DBF и с БД на SQL-сервере мне нужно ставить 2 варианта программы 1С: Предприятие?

    Нет. SQL-вариант прекрасно работает как SQL базами, так и с DBF базами.

  13. Какой можно использовать SQL-сервер?

    Microsoft SQL Server (MS-SQL), начиная с версии 6.5, а лучше - 7.0 и выше. Обязательно устанавливайте сервис-паки,
    выпущенные фирмой Microsoft для MS-SQL.

  14. Могу ли я использовать PostgreSQL?

    Нет. Только Microsoft SQL Server (MS-SQL), начиная с версии 6.5, а лучше - 7.0 и выше.

  15. А почему бы фирме 1C не сделать свою программу такой, чтобы она использовала другие сервера? Ведь есть стандарты на SQL?

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

  16. Могу ли я использовать вариант MS-SQL из поставки Microsoft Office 2000, который называется MSDE2000?

    У меня MSDE2000 работал нестабильно, а другие говорят, что все хорошо. Можете, но на свой страх и риск.

  17. Какой механизм защиты от несанкционированного копирования встрен в MS-SQL?

    Серийный номер.

  18. Мы официально купили 1С: Предприятие 7.7 + Windows 2000 Server + MS-SQL. Не нашли серийного номера для MS-SQL.

    В этой поставке серийный номер один и тот же у Windows 2000 Server и MS-SQL.

  19. Я не работал раньше с сервером MS-SQL. Сложно ли это?

    Нет, не сложно. Фирма Microsoft старается сделать управление своими серверными программными продуктами доступным даже
    непрофессионалам.

  20. Как установить сервер MS-SQL?

    Как любую другую программу - инсталятором. Если установка осуществляется на русскую версию Windows, то все опции в
    инсталяторе - по умолчанию.

  21. Сервер MS-SQL с настройками по умолчанию ставить не надо!

    Если на русскую версию Windows - то по умолчанию все опции инсталятора. Если вы считаете себя умным, то можете отказаться
    от некоторых частей MS-SQL сервера, которые не нужны программе, например, от полнотекстового поиска.

  22. Видимо, на все машины следует установить клиентскую часть, идущую в составе дистрибутива сервера MS-SQL?

    Нет. Только на машину администратора. Сама программа 1С: Предприятие работает через ODBC, версии не ниже 3.5. В современные
    версии операционных систем Windows эта или более современная версия ODBC и драйвер для доступа к серверу MS-SQL уже
    встроен.

  23. Видимо, следует на всех машинах настроить "Data Source" (Источник данных) ODBC, чтобы он указывал на сервер MS-SQL?

    Нет. Программа 1С: Предприятие сама указывает ODBC параметры для подключения к серверу MS-SQL.

  24. Что делать после инсталяции сервера MS-SQL?

    Запустить программу SQL Enterprise Manager (которая должна быть установлена на машину администратора). С ее помощью
    подключиться к свежеинсталированному серверу.

  25. Что необходимо создать на сервере MS-SQL?

    В первую очередь, средствами SQL Enterprise Manager надо создать пользователя (пользователя не программы 1C: Предприятие, а
    пользователя в MS-SQL). Дать ему права на создание БД. Зайти в программу SQL Enterprise Manager от имени этого
    пользователя. Создать БД.

  26. Зачем нужно создавать БД от имени специально созданного пользователя MS-SQL?

    Иначе в дальшейшем программа не сможет работать с этой БД. Дело в том, что пользователь, от имени которого работает система
    1С: Предприятие, должен быть владельцем базы данных (dbo). Это необходимо потому что ряд таблиц программа 1С: Предприятие
    может создавать при своей работе самостоятельно, например, при изменении конфигурации. Сама программа 1С: Предприятие имеет
    на базу данных большие права, но пользователь при работе с базой данных средствами 1С: Предприятие получит ограниченный
    уровень доступа, в соответствие с ограничениями, заданными в "Конфигураторе".

  27. Какой необходимо указать размер БД при создании ее на сервере MS-SQL?

    БД будет увеличиваться автоматически по необходимости. Но можно и сразу создать файлы данных и лога размера равным двойному
    суммарному размеру файлов DBF-версии, которую вы собираетесь перегнать в SQL-версию.

  28. Как начать работу программы с SQL?

    Создайте пустой каталог. Настройте программу так, будто бы в этом каталоге лежит БД в формате DBF (то есть как обычно).
    Запустите "Конфигуратор". При старте программа спросит вас какая будет БД - SQL или DBF. Ответите - SQL. Далее - смотри
    ниже.

  29. Как добраться до данных SQL?

    Если при входе в пустой каталог вы выбрали SQL-вариант базы, то в "Конфигураторе". Появиться еще пункт меню
    "Администрирование\Параметры базы данных SQL".

  30. Какие нужно задать параметры для базы данных SQL?

    Сервер - имя компьютера с SQL-сервером. База данных - название базы данных, которую вы создали специально для работы
    программы на SQL-сервере с помощью SQL Enterprise Manager. Пользователь - имя пользователя SQL-сервера, от имени которго
    была создана база данных на SQL-сервере. Пароль - его пароль.

  31. Все пользователи работают с SQL-сервером от имени одного SQL-пользователя?

    Да все экземпляры программы подключаются к SQL-серверу от имени одного SQL-пользователя, того самого который создал БД на
    SQL-сервере.

  32. Используется ли обычный список пользователей программы 1С: Предприятие при работе с SQL-сервером?

    Да. Более того, список пользователей программы 1С: Предприятие не должнен быть пуст, иначе вы не сможете работать.

  33. Как перенести данные из базы данных DBF в базу данных SQL?

    В "Конфигураторе" программы DBF-базы "Администрирование\Выгрузить данные". Затем в "Конфигураторе" программы SQL-базы
    "Администрирование\Загрузить данные". Файл журнала регистраций (лог-файл) программы 1С: Предприятие, который лежит в
    подкаталоге \SYSLOG, можно просто скопировать.

  34. Как перенести данные из базы данных SQL в базу данных DBF?

    В "Конфигураторе" программы SQL-базы "Администрирование\Выгрузить данные". Затем в "Конфигураторе" программы DBF-базы
    "Администрирование\Загрузить данные"

  35. Как делать резервное копирование базы данных SQL?

    В "Конфигураторе" программы "Администрирование\Выгрузить данные".

  36. Как делать резервное копирование базы данных SQL не отключая пользоватей?

    Заранее делается копия файла 1Cv7.MD и файла со списком пользователей - в "Конфигураторе" программы
    "Администрирование\Сохранить". Во время работы можно делать резервное копирование средствами MS-SQL при помощи SQL
    Enterprise Manager. Подробнее - ниже.

  37. Резервное копирование средствами SQL невозможно при работе пользователей?

    Заранее делается полная резервная копия (Complete Backup). В течение рабочего дня делаются копии лога транзакций MS-SQL
    (Transaction Log Only Backup). В случае чего для восстановления данных следует использовать "последний Complete Backup +
    все Transaction Log Only Backup, сделанные после этого Complete Backup'а".

  38. Не работает запланированное (Sheduled) резервное копирование средствами SQL!

    Должен быть запущен сервис SQL Agent.

  39. Настроил резервное копирование на другую машину (по сети) - не работает ;(

    1. Куда копировать следует указывать не через имя сетевого диска, а через имя компьютера (то есть не T:\BACKUP1C, а
      \\SERVER_2\BACKUP1C)
    2. Службы сервера MS-SQL должны быть запущены не от имени системы (не под системным аккаунтом, системной учетной записью),
      ибо в этом случае сервер MS-SQL не имеет никаких прав за пределами своего компьютера. Службы сервера MS-SQL следует
      запускать от имени некоторого пользователя, которому имеет права на доступ к сетевому (общему, "расшаренному") каталогу. С
      какими правами будут запускаться службы MS-SQL задается или при инсталяции сервера или из "Панели управления/Службы" (в
      современных версиях Windows из "Панели управления/ Администрирование/ Службы" или из консоли управления "Мой компьютер/
      Управление/ Службы и приложения/ Службы").
  40. После перехода на SQL версию бегунок на вертикальной полосе прокрутки в журналах и списках элементов справочников всегда
    посередине.

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

  41. После перехода на SQL версию программа стала работать гораздо медленее.

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

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

    Вам поможет связка "терминальный сервер + SQL-сервер". Терминальный сервер обеспечит производительность, а SQL - сервер
    надежность. Компьютер под сервер должен быть выделен очень мощный, с очень большим объемом оперативной памяти.

    Использование под SQL-сервер и под терминальный сервер разных компьютеров приводит к очень большой нагрузке на сеть. В
    простейших можно размещать SQL-сервер и терминальный сервер на одном и том же компьютере. В случае очень большой нагрузки
    можно разнести терминальный сервер и SQL-сервер на разные компьютеры, но в этом случае между ними обязательно следует
    организовать очень быстрый (гигабитный и более) канал (который не должен использоваться клиентами - только этими 2-мя
    серверами).

  43. Существуют ли особенности при программировании под SQL-версию программы 1С: Предприятие?

    Несколько иная оптимизация. Глюки ядра SQL-версии и не SQL-версии программы частью совпадают, а частью - различаются. Иная
    работа механизма транзакций.

  44. Какие конструкции языка более оптимальны для SQL-версии?

    Которые одной командой обрабатывают большие массивы данных. Например, объект "Запрос" более предпочтителен, нежели
    последовательный перебор (конструкции "ВыбратьЧтоТо() и цикл ПолучитьЧтоТо()). Имеется исключение - в случае, если перед
    выбором данных в цикле включается фильтр (на элемент, а не на список элементов), то выборка в цикле идет быстрее, чем через
    запрос. Оптимизация относится только к объектам, предоставляющим доступ к данным в БД, но не к таблицам значений и спискам
    значений.

  45. Можно ли обращаться напрямую к таблицам SQL-сервера посредством запросов на языке SQL?

    По чтению - да. Существуют даже специальные расширения (не от фирмы 1С) для программы 1C: Предприятие 7.7, которые
    позволяют это делать. Многие из таких расширений (или ссылки на них) опубликованы на
    www.hare.ru
    . Кроме специальных предназначенных для программы 1С: Предприятие расширений, можно
    воспользоваться и другими методами (предназначенными для использования с любыми программами), например, MS ADO.

    Можно ли обращаться по записи? Надо очень хорошо представлять, что именно вы будете изменять. И если вы задаете такой
    вопрос, то лично вам лучше не лезь в БД по записи напрямую.

  46. Один пользователь - работает нормально (не монопольно). Другой - тоже. Вместе - не могут.

    Каталог, в котором лежат файлы 1cv7.MD и иже с ним должен быть у всех пользователей общим.

  47. Надо ли давать пользователям доступ к файлам базы данных SQL-сервера?

    Нет. Этого не нужно. К этим файлам обращается только сама программа MS-SQL сервер.

  48. Файл(ы), содержищий Transaction Log, раздувается и раздувается.

    Transaction Log связан с процедурами резервного копирования сервера SQL. В процесе обычной работы все изменения
    записываются сначала в него. При выполнении каждого резервного копирования, сделанного средствами SQL-сервера, данные из
    Transaction Log автоматически переносятся в файл(ы) основной части базы данных.

    Если вы не нуждаетесь в столь изощренном механизме обеспечения надежного хранения данных в БД, то можете установить опцию
    базы данных Truncate Log On Checkpoint (MSSQL 7.0) или модель восстановления Simple Recovery (MSSQL2000). При этом при
    завершении каждой очередной транзакции данные из протокола запросов в Transaction Log будут немедленно переноситься в базу
    данных, и размер Transaction Log будет минимальным. Но при таких настройках вы теряете многие возможности резервного
    копирования, например, возможность изготавливать резервную копию в течение рабочего дня и восстанавливать базу данных
    на любой момент времени.

  49. При перепроведении большого числа документов в базе данных 1С: Предприятие или при выполнении загрузки большого количества
    данных SQL-сервер зависает. Если делать то же самое небольшими порциями - никаких проблем нет.

    Следует учесть, что для завершения объемных транзакций Transaction Log должен иметь возможность соответственно увеличить
    свой размер. Кроме того, SQL-сервер очень плохо воспринимает невозможность увеличения размера Transaction Log'а (как
    правило, просто "зависает"), поэтому не ограничивайте его рост и позаботесь, чтобы на диске, где он расположен, было
    достаточно места для самой объемной операции.

  50. Можно ли организовать распределенную БД, используя возможности репликаций, имеющиеся в сервере MS-SQL

    Нет. Пользуйтесь механизмами создания распределенных БД, созданным специально для программы 1C: Предприятие 7.7 фирмой 1С
    или другими фирмами.

    Это связано с нетривиальностью хранимых в БД данных программы 1С: Предприятие и с тем, что она (программа 1С: Предприятие)
    контролирует целостность структуры создаваемых ею таблиц, а при установлении Merge-репликации SQL-сервера в таблицы,
    хранящие данные программы 1С: Предприятие, добавляется дополнительное поле - внутренний идентификатор реплицированной
    строки. После опубликования таблицы на репликацию программа 1С: Предприятие будет считать что база данных разрушена и
    откажется работать. Но именно Merge-репликации пригодна для организации распределенных баз данных. Репликация в режиме
    SnapShot не нарушает работу программы 1С: Предприятие с опубликованной базой данных, но это однонаправленная, а не
    двусторонняя репликация, поэтому она не может быть использована для организации распределенной базы данных. Хотя,
    репликация в режиме SnapShot может быть пригодна для создания автоматически обновляемых копий базы данных для анализа
    данных (чтобы такой анализ можно было проводить в другом офисе или дому у владельца предприятия или в основном офисе просто
    для того, чтобы не перенапрягать основную рабочую систему сложными отчетами).

  51. Будет ли работать компонента "Управление распределенными информационными базами" (УРИБ) от фирмы 1С, если в центральном
    офисе 1С: Предприятие работает с использованием SQL-сервера, а в филиалах - с использованием DBF-файлов?

    Да. Файлы, с помощью которых осуществляется обмен данным в УРИБ не зависят от версии программы 1С: Предприятие и вида ее БД
    - DBF она или SQL.

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

    Скорее всего, в данный момент выполняется резервное копирование средствами SQL-сервера Точнее - выполняется Complete
    backup, он сильно загружает систему. Если надо выполнять резервное копирование в тот момент, когда работают пользователи,
    то следует пользоваться Backup transaction log only, а полное резервное копирование Complete backup делать в нерабочее
    время.

  53. Возможно ли временно отключать transaction log (на время перепроведения данных, чтобы ускорить работу SQL-сервера)?

    Да. Для версии MS-SQL 2000 это делается так: Enterprise Manager -> твоя база -> properties -> options ->
    recovery -> simple. Там выбор full/simple/bulk-logged.

  54. Не могу понять, может ли база данных находиться не на той машине на которой находится SQL-сервер (в самом SQL-сервере
    похоже можно прописать только локальный путь). Хотя программисты 1С утверждают что можно. Подскажите как???

    Файлы БД SQL-версии программы 1С: Предприятие состоят из 2-х частей:

    1) Собственно данные - доступ к которым осуществляется опосредовано, через сервер MS-SQL.

    2) Файл конфигурации (1Cv7.MD), лог-файл (SYSLOG/1Cv7.mlg), словарь данных (1Cv7.DDS), список пользователей (usrdef/users.usr) и другие
    (например, файлы из каталога ExtForms) -
    доступ к которым осуществляется программой 1С: Предприятие непосредственно.

    Где располагается сам сервер MS-SQL и где лежат его файлы данных не имеет никакого значения, так как доступ к серверу
    MS-SQL осуществляется исключительно по сетевым протоколам, например посредством TCP/IP, (т.е. может осуществляться как
    локально, так и с другого компьютера безо всяких ограничений).

    Доступ к самим файлам данных сервера MS-SQL должна иметь только одна-единственная программа - сервер MS-SQL. Обычно сами
    файлы данных сервера MS-SQL располагают на том же компьютере, на котором запускается программа MS-SQL. Хотя можно
    располагать их на любом сетевом диске, доступном пользователю, от имени которого запускается программа MS-SQL. При этом
    путь к файлам данных следует указывать не используя букву сетевого диска, например: не верно "T:\DATASQL\buh_data.dat", а
    верно "\\SERVERNAME\RESOURCENAME\DATASQL\buh_data.dat". Хотя из соображений производительности, обычно, файлы данных
    размещают непосредственно на сервере.

    А вот прочие файлы (файл конфигурации 1Cv7.MD, лог-файл 1Cv7.mlg, словарь данных 1Cv7.dds, список пользователей users.usr и другие) должны распологаться в
    неком каталоге на файл-сервере, доступ к этому каталогу должен быть у всех пользователей, которым требуется работать с БД
    программы 1С: Предприятие.

    Где располагается этот каталог не имеет никакого значения - он может быть как на том же компьютере, где расположен
    SQL-сервер, так и на любом другом. В программе 1С: Предприятие прописывается (в окне, которое появлятся самым первым)
    именно этот каталог. Если 1С исполняется под Windows NT/2000/XP, то путь к этому каталогу можно указывать как с буквой
    диска, так и и без, например: верно "T:\DATA1C\BUH\", и также верно "\\SERVERNAME\RESOURCENAME\DATA1C\BUH\".

  55. Поддерживает ли 1С Предприятие 7.7 работу с сервером MS SQL Server 2005

    Официально, нет. Наибольшая версия сервера, с которой работает программа - это MS SQL 2000. И обновления 1С Предприятия 7.7, наверняка, уже не будет.
    Но заставить эти программы вместе можно.

    При установке MS-SQL Server выбирайте кодировку "Cyrilic_General_CI_AS" и, возможно, в зависимости от версии, "Cyrilic_General" с одним-единственным флагом: "С учетом диакритических знаков". Если кто не знает, то: AS - с учетом диакритических знаков, AI - без учета диакритических знаков, CS - c учетом регистра, CI - без учета регистра. Кстати, и при создании базы данных также нужно использовать именно эту кодировку. Кодировка системных баз master и tempdb должна быть такая же.

    Далее нужно решить пару проблем.
    Первая проблема - в том что запускаясь, программа 1С Предприятие проверяет версию сервера и говорит что имеет дело с слишком СТАРОЙ версией сервера. Она, конечно, ошибается. Конкретно программа 1С Предприятие 7.7 сообщает: "Требуется MS SQL Server 6.5 + Service Pack 5a или более старшая версия!".
    Чтобы устранить это сообщение, необходимо изменить BkEnd.dll следующим образом (для 21-го релиза 1С):
    000D9B7A: 83 EB
    000D9B7B: E8 15
    000DAFE0: 83 EB
    000DAFE1: E8 10
    Для 25-го релиза 1С:
    000D9C4A: 83 EB
    000D9C4B: E8 15
    000DB0B0: 83 EB
    000DB0B1: E8 10
    Для 26-го и 27-го релизов 1С:
    000D9CCA: 83 EB
    000D9CCB: E8 15
    000DB130: 83 EB
    000DB131: E8 10

    В свойствах базы данных на SQL Server ставим Compatibility Level SQL Server 2000(80).

  56. Поддерживает ли 1С Предприятие 7.7 работу с сервером MS SQL Server 2008

    Официально, нет. И не будет.
    Фактически - работает. Устанавливается также как и описано выше для сервера MS SQL 2005.

    Помимо этого имеется еще одна неприятность - при изменении метаданных (когда происходит изменение структуры базы данных) сервер MS SQL Server 2008 ругается на неправильный синтаксис
    "SQL State: 42000 Native: 156
    Message: [Microsoft][ODBC SQL Server Driver][SQL Server]Неправильный синтаксис около ключевого слова "TRANSACTION"" и программа 1С Предприятие 7.7 вылетает по ошибке. Это происходит в самом конце изменения структуры данных, когда фактически данные уже изменены. Мой опыт длительной эксплуатации 1C v7.7 с MS-SQL 2008 говорит, что можно игнорировать эту ошибку - фактически все изменения будут внесены в базу.

    А вот если изменения в конфигурации вызывают пересчет итогов, то еще хитрее - нужно дождаться пересчета итогов, после чего 1С вывалиться по такой же ошибке как и при изменении метаданных. Затем следует удалить файл, инициирующий автоматический пересчет итогов при запуске 1С. Иначе при запуске 1С пересчет итогов будет автоматически заново произведен, затем программа вылетит - и так вечно по кругу.

  57. Работает ли 1С Предприятие 7.7 с бесплатными серверами MS SQL редакции Express

    Да. С некоторыми дополнительными настройками.
    После установки MS SQL Server Express необходимо отключить все клиентские (не серверные) протоколы кроме TCP/IP с помощью программы "SQL Server Configuration Manager". Проверить можно с помощью программы "SQL Server Management Studio Express CTP", попытавшись подключиться по разным протоколам.
    В 1С Предприятие в "параметрах баз данных SQL" нужно указывать не просто имя компьютера с БД, а ИМЯ_СЕРВЕРАSQLEXPRESS.

  58. На операционных системах Windows Vista и Windows Server 2008 при попытке подключения к базе данных программа 1С Предприятие 7.7 сообщает о слишком старых драйвера ODBC: "Для доступа к базе данных требуется ODBC - драйвер для MS SQL Server версии 3.50.0303 или старше"

    Существуют решения, когда заменяются системные файлы (берутся из Windows XP), но мне это решение не нравится. Так что советовать его не буду.
    Хотя для проформы:

    Для 32-битной версии меняются файлы
    %windir%\system32\sqlsrv32.dll
    %windir%\system32\sqlsrv32.rll
    %windir%\system32\odbcbcp.dll

    Для 64-битной версии меняются файлы
    %windir%\system32\sqlsrv32.dll
    %windir%\system32\sqlsrv32.rll
    %windir%\system32\odbcbcp.dll
    %windir%\SysWOW64\sqlsrv32.dll
    %windir%\SysWOW64\sqlsrv32.rll
    %windir%\SysWOW64\odbcbcp.dll

    Если ругается на порядок сортировки - проверить на наличие пустого файла в папке с программой или базами OrdNoChk.prm (работает на версии 1С Предприятие 7.7.027)

    Если проблемы при загрузке внешних компонентов, то для их загрузки можно использовать VKLoader.dll

Компьютерные вопросы: 
2002-2012 ©