Архивы рубрики ‘1Cv8’

Настройка SQL Server для использования физической памяти размером более 2 ГБ.

В этой статье описан процесс настройки SQL Server на использование физической памяти размером более 2 ГБ.

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

SQL Server 2000 Enterprise Edition предлагает поддержку технологии Microsoft Windows 2000 Address Windowing Extensions (AWE), позволяющей выделение приблизительно 8 ГБ памяти для экземпляров, запускаемых под Microsoft Windows 2000 Advanced Server, и приблизительно 32 ГБ для экземпляров, запускаемых под Microsoft Windows 2000 Datacenter. Технология AWE позволяет SQL Server резервировать неиспользуемую память для других приложений и операционной системы. Однако каждый экземпляр, использующий такую память, должен статически распределять необходимую ему память. SQL Server может использовать выделенную память AWE только для кэша данных, но не для исполняемых файлов, драйверов, динамических библиотек и т.п. Читать далее »

Включение расширений AWE в MS SQL Server

Прежде чем включить расширения AWE, учетной записи SQL Server необходимо предоставить разрешение LOCK PAGE IN MEMORY (Блокировка страниц в памяти).

Параметр Блокировка страниц в памяти политики Windows по умолчанию отключен. Его необходимо включить для настройки расширений AWE. Эта политика определяет, какие учетные записи вправе использовать процесс для хранения данных в физической памяти, что предотвращает страничную запись данных операционной системой в область виртуальной памяти на диск. В 32-разрядных операционных системах включение данной политики без использования расширений AWE может существенно снизить общую производительность системы. Блокировка страниц в памяти не требуется в 64-разрядных операционных системах. Для включения этой политики для учетной записи, используемой SQL Server, воспользуйтесь средством «Групповая политика Windows» (gpedit.msc). Чтобы изменить эту политику, необходимо быть системным администратором. 1. В меню Пуск выберите команду Выполнить. В поле Открыть введите gpedit.msc. Откроется диалоговое окно Групповая политика.
2. В консоли Групповая политика разверните узел Конфигурация компьютера, затем узел Конфигурация Windows. Разверните узлы Настройки безопасности и Локальные политики.
3. Выберите папку Назначение прав пользователя. Политики будут показаны в области подробностей.
4. В этой области дважды щелкните параметр Закрепление страниц в памяти. (В WS2008 Блокировка страниц в памяти)
5. В диалоговом окне Параметр локальной безопасности нажмите кнопку Добавить.
6. В диалоговом окне Выбор: Пользователи или Группы добавьте учетную запись, обладающую правами доступа для запуска sqlservr.exe. Включаем расширения AWE.sp_configure 'show advanced options', 1

RECONFIGURE

GO

sp_configure 'awe enabled', 1

RECONFIGURE

GO

После перезапуска SQL Server в журнале ошибок SQL Server должно появиться следующее сообщение: Address Windowing Extensions enabled.

Далее настройте память.

sp_configure 'min server memory', 1024

RECONFIGURE

GO

sp_configure 'max server memory', 4144

RECONFIGURE

GO

В этом примере настройки памяти для SQL Server и Windows Server 2003 устанавливают буферный пул для динамического управления расширенной памятью AWE между 1 ГБ и 4 ГБ.

Как переиндексировать, проверить, восстановить базу на MS SQL Server

Чтобы произвести переиндексацию необходимо выполнить такой запрос (например в QA):

USE base_1c
EXEC _1sp_DBReindex

где base_1c — имя базы данных.
Если хранимой процедуры _1sp_DBReindex нет в базе данных (база не 1С), то можно выполнить такой код (это и есть код хранимой процедуры _1sp_DBReindex):

USE base_1c
DECLARE @TableName char(32)
DECLARE SysCur CURSOR FOR SELECT name FROM sysobjects WHERE type=’U’
OPEN SysCur
FETCH NEXT FROM SysCur INTO @TableName
WHILE @@FETCH_STATUS=0 BEGIN
DBCC DBREINDEX(@TableName)
FETCH NEXT FROM SysCur INTO @TableName
END
CLOSE SysCur
DEALLOCATE SysCur

где base_1c — имя базы данных. Читать далее »

FAQ Восстановление базы 1С под SQL-Server

Иногда приходится столкнуться с ситуацией, когда плоды многолетней работы, находящиеся в SQL-базе данных оказываются под угрозой. Эта статья о том, как не допустить потерю данных, а в случае, если это всё-таки произошло, как восстановить данные из того, что осталось от некогда нормальной базы.
Итак, приступим. Ситуация следующая: имеется сервер с запущенной на нем 1С+SQL. Во время работы SQL базы рубанули питание. Результат плачевный: база находится в состоянии suspect, и когда 1с пытается к ней зацепиться, выдается ошибка, что мол соединиться невозможно т.к. база помечена suspect for recovery. Этот режим в принципе означает, что MSSQL Server попытается восстановить базу своими средствами. Я не стал ни чего трогать и оставил все на ночь, в надежде, что к утру база восстановится, но и утром было то же самое, и к базе, стало быть, ни как не подобраться. Backup по закону подлости имеется, но он трехдневной давности, плюс имеется куча документов которые проводятся лишь по базе, а по бумажным документам их нет, т.е. возможности вручную восстановить документы нет. Потратив кучу сил, и нервов, (которые, как известно не восстанавливаются :)), я пришел к следующей последовательности действий, необходимых для восстановления базы.  Читать далее »

Восстановление базы MS SQL из Suspect Mode

Пришла беда откуда не ждали…

После аварийной перезагрузки сервера база MS SQL ушла в Suspect Mode.

Все бы ничего, есть часовой архив, и в течении 30 минут он был восстановлен, но работа за час была утерянной.

А поскольку пятница и рабочий день подошел к завершению то было принято решение о попытке восстановления базы из Suspect Mode.

Итак имеем базу в Suspect Mode и ее архив за час до этого. Читать далее »

1C Ошибка SQL Intra-query parallelism caused your server command (process ID #…) to deadlock

При работе 1С v77, v8 MS SQL иногда возникает ошибка СУБД:

Microsoft OLE DB Provider for SQL Server: Intra-query parallelism caused your server command (process ID #…) to deadlock. Rerun the query without intra-query parallelism by using the queri hiht option (maxdop 1).

HRESULT=80040E14, SQLSrvr: Error state=7F, Severity=D, native=8650, line=1

Читать далее »

Эффективное использование MSSQL с помощью ВК 1C++

Для начала нужно научиться выполнять элементарные запросы к базе 1С непосредственно из самой программы.
Рассмотрим такой пример: выбрать Код, Наименование из справочника “Номенклатура”
Как известно имена таблиц и полей не совпадают с теми идентификаторами, которые мы задаем в конфигураторе (соответствия можно посмотреть в файле 1Cv7.DDS):
Справочник.Номенклатура – таблица SC433 (в разных базах это может быть разным)
Код – Code, Наименование – Descr

Читать далее »

Вопросы при переходе с версий 1C 7.7 на 1C 8

Не могу найти функцию КаталогИБ()?
Эта функция не была реализована в версии 8.0, поскольку понятие «каталог информационной базы» существует не всегда. В варианте клиент-сервер пользователи подключаются к серверу 1С:Предприятия 8.0 по имени компьютера и имени информационной базы. С методологической точки зрения все файлы нужно хранить в самой базе данных, а не в каталоге. Для этого в 1С:Предприятии 8.0 введен новый тип реквизитов и ресурсов — ХранилищеЗначения.
Читать далее »

Забыли пароль к 1С 8-ой версии (MS SQL)?

Хранение списка пользователей ИБ

Вся информация о списке пользователей данной ИБ и доступных им ролях в ней хранится в таблице Params в базе данных MS SQL. Взглянув на структуру и содержимое этой таблицы, становится очевидным, что вся информация о пользователях хранится в записи, со значением поля FileName – «users.usr».
Читать далее »

Внутренняя архитектура 1Cv8

Размещение данных 1С:Предприятия 8.0
Данный документ дает представление о файлах и таблицах баз данных, с которыми работает 1С:Предприятие 8.0, и о распределении между ними информации, используемой 1С:Предприятием 8.0. Рассматриваются как файловый, так и клиент-серверный варианты информационных баз.
Читать далее »