Архив метки: sql

Копирование таблицы в MS SQL

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

SQL запрос

SQL запрос


Здесь из базы с именем torgcopy в базу torg копируется таблица _Reference649. Особенность выполнения инструкции INTO в том, что копирование производится только в новую таблицу. В моем случае в базе torg уже была таблица с таким именем, по этому в запросе я копировал в таблицу с именем _Reference649new. Если нужно заменить таблицу её копией, можно просто переименовать таблицы после копирования.

Предопределенные элементы

В распределенной базе 1с версии 8.2 возникла следующая проблема: при обмене в результате какого-то сбоя появились дубликаты предопределнных элементов в плане характеристик, т.е. все записи имели двойника, все были отмечены как «предопределнный», имели одинаковый код и т.д. Пытаясь вылечить этот глюк я узнал интересную особенность этих элементов — при удалении такого элемента в базе, что можно сделать только программным способом, он больше не появляется в списке элементов, хотя и присутствует в конфигурации. Получается, что исправить эту ошибку можно только манипуляциями в базе данных, но не манипуляциями в конфигураторе.
Читать далее

Windows 2008 и 1С 8.2

Protected computer server Замечена неприятная особенность работы сервера 1С предприятия под управлением операционной системы Windows 2008 — часто без видимой причины происходит сбой, после которого клиенты не могут подключиться к базе данных с получением сообщения «Ошибка формата потока». Дополнительные симптомы: не запускается сервис Агент сервера 1С, он может запуститься после перезагрузки Windows, однако ситуацию это не исправляет, кроме того, даже при запущенном сервисе невозможно открыть свойства сервера 1С, т.е. увидеть кластеры, базы и т.д. Спасает от этой ошибки полное удаление 1С и повторная установка, причем нет необходимости удалять папки с настройками 1С после удаления программы — после установки все настройки останутся на месте и базу не придется настраивать заново. Однако, через некоторое время ошибка может повториться.

Причина этой ошибки мне пока неизвестна, а лекарство нашлось — обновление системы до SP2. Проверено на русской и английской версиях, 32 и 64 разрядных, c SQL 2008 и без него, решение проблемы пока одно — сделать обновление системы.

SQL сервер недорого

1298206162k9Sg37Если вы используете 1С:Предприятие в локальной сети, то о проблемах быстродействия сетевых пользователей знаете не понаслышке. И если объем базы у вас небольшой, а пользователей не много, то вы можете воспользоваться возможностью установки Microsoft SQL Server 2005 Express, эту версию совершенно бесплатно можно скачать и установить на “обычную”, т.е. не серверную Windows. Перевод базы 1С в формат SQL сервера даст ощутимый прирост в производительности и повысит надежность работы. Технические ограничения версии: используется не более 1 Гб оперативной памяти, 1 процессор, база данных объемом не более 4 Гб.

Читать далее

Как повысить быстродействие в сети

Часто приходится видеть недоумение пользователей по поводу медленной работы конфигураций на базе 1С 7.7 в сетевом варианте. В простейшем случае организация работы в сети заключается в том, что на компьютере, где находятся данные, открывается доступ к папке с базой по сети, затем на остальных компьютерах настраивается подключение к этой сетевой папке. Корень проблемы в этом случае в том, что когда клиентский компьютер открывает базу по сети он запрашивает доступ сразу ко всем файлам базы, т.е. для стандартной Бухгалтерии это будет около 250-ти файлов. Далее, при выполнении расчета остатков или оборотов в отчете или при проведении документа, клиент закачивает себе полностью файлы данных для выполнения расчетов. Именно эти манипуляции с файлами сильно тормозят работу приложения, особенно это заметно в случаях с расчетными числами в списке справочника – например столбец с остатком товара. Что можно сделать?

Читать далее

И снова SQL

Girl with display isolated

Как известно, при использовании для базы 1С версии 7.7 сервера Microsoft SQL 2005 и выше, стандартными средствами запустить работу не удается. Для подключения к серверу необходимо заменить файл bkend.dll на “исправленный”, файл находится в папке, куда установлена 1С, обычно это c:\Program files\1cv7\bin

Если на рабочем месте используется Windows 7, то понадобится заменить еще три файла, но уже в системной папке system32: odbcbcp.dll, sqlsrv32.dll, sqlsrv32.rll. Если система 64-разрядная, эти-же файлы нужно будет заменить и в папке SysWOW64. Осложняет эту процедуру усиленная забота Windows о системных файлах, поэтому можно загрузиться из “другой” Windows, например на диске Hiren Boot CD есть возможность запустить mini Windows. Но и другая операционка не справится так просто с заменой файлов, если системный раздел находится на разделе диска с файловой системой NTFS – для удаления или переименования файлов нужно стать их владельцем, а потом добавить права на полный доступ и уже после этого копировать новые файлы.

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

SQL 2008

1168075871m5D4Uc  Когда-то у меня получилось запустить работу 1С 7.7 на SQL сервере версии 2005. Как известно, проблема подключения клиентов к базе решается заменой файла bkend.dll на немного подправленный. Ссылка на исправленный файл есть на странице Скачать. А вот недавно поставил сгоряча версию SQL-2008 и оказалось, что заменять нужно немного больше. Пересказывать не буду, подробная инструкция доступна по этой ссылке: ссылка.

От себя добавлю, что мне достаточно было в свойствах базы выставить совместимость с SQL 2000 и проманипулировать с приложенными файлами. В случае с версией 2008 вариантов файла bkend.dll приходится использовать два – один для работы и второй для операций загрузки/выгрузки данных (в том числе обмен в распределенной базе). Комплект файлов есть на упомянутой странице. Если есть вопросы, готов ответить.

Установка SQL Server 2000

В некоторых случаях, после удаления предыдущей версии например, при попытке установить Microsoft SQL Server 2000 программа установки останавливается с сообщением об ошибке: «A previous program installation created pending file operations…» Т.е. очевидно, что остались «хвосты» от предыдущих установок, но чем исправлять не очень понятно. Описанное ниже стоит применять только если перезагрузка компьютера не исправила проблему.

Открыть редактор системного реестра и найти ключ:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager

Удалить параметр: PendingFileRenameOperations

Если в реестре присутствуют ключи ControlSet001, ControlSet002 и т.д. — удалить такие-же параметры и в них. После этого Microsoft советует перезагрузиться, но у меня получалось так, что после перезагрузки параметр восстанавливался, поэтому можно пробовать запускать установку заново и без перезагрузки.

1C + Vista (продолжение)

На этот раз проблема не в самой системе Windows Vista, просто обнаружена была впервые при попытке подключиться с компьютера с Вистой к сетевой базе, работающей под управлением MS SQL Server 2005. При подключении 1С выдает ошибку «требуется MS SQL версии 6 или выше», т.е. сервер версии 2005 не распознается как старшая версия. Исправляется ситуация просто: необходимо заменить оригинальный файл Bkend.dll на такой-же, но исправленный от такой болячки. Файл можно взять на странице Скачать, проверялся на 25-м и 27-м релизах платформы.