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

Предлагаемая информация может быть использована вами также при разработке Пользовательских Приложений, использующих отдельные Удаленные Представления (Remote Views), без полного Масштабирования Баз Данных. Вне зависимости от вариантов создания обновляемых Копий Удаленных Таблиц, вы можете создать надежные Механизмы обработки представленных Данных, в этих условиях Сервер и Приложение будут надежно работать в среде Клиент-Серверного Приложения.

Мероприятия для SQL Server.

При завершении Процесса Масштабирования локальных Баз Данных вам Требуется проверить на Сервере:

  • Возможность Редактирования Таблиц Данных с помощью системы Visual FoxPro.

  • Доступ конкретных Пользователей к Объектам Базы Данных, что обеспечивает выгрузку требуемых Данных.

  • Наличие Стандартных Инструментов для восстановления Базы Данных в условиях Аварийных Случаев, когда База Данных Разрушается или частично повреждается.

Добавление Уникальных Индексных Тэгов для надежного обновления Данных.

Для надежного обновления Удаленных Таблиц из системы Visual FoxPro эти таблицы должны иметь уникальные Индексы. Подсистема "Мастер Масштабирования Данных до SQL Server" может выполнить преобразование существующих уникальных индексных Тэгов, но не создает указанные Тэги, если они отсутствуют в локальной Базе Данных. Вам требуется проверить наличие указанных индексных Тэгов, которые обеспечивают успешную и надежную работу по Обновлению Данных в удаленных Таблицах.

Установка Разрешений (Прав или Ролей Пользователей)

Для создаваемой новой Базы Данных на сервере SQL, как и для ее Объектов назначаются Права "По-Умолчанию" системы SQL Server. Вам необходимо проверить соответствующие Разрешения (права) пользователей, которые будут выполнять в дальнейшем Обновление Данных, или будут осуществлять Выборку необходимых Данных.

Разрешения для Доступа к Базе Данных.

По-Умолчанию, для создаваемой Базы Данных устанавливаются права доступа только Системному Администратору и Владельцу (Создателю) рассматриваемой Базы Данных.

Вам требуется добавить новых Пользователей или Группы Пользователей в список Доступа к Базе Данных; обычно для этого используется подсистема: SQL Server Security Manager (Диспетчер Безопасности Сервера) или системные Хранимые процедуры sp_adduser / sp_addgroup.

Дополнительную информацию по вопросам Добавления новых Пользователей или Групп смотрите в технической Документации Диспетчера Безопасности Сервера (SQL Server Security Manager); или описание указанных процедур sp_adduser / sp_addgroup в тех.документации: Microsoft SQL Server Transact-SQL Reference.

Разрешения по Доступу к Объектам.

Все Объекты Базы Данных, созданные Мастером Масштабирования Visual FoxPro-to-SQL Server, включая: Таблицы, Триггеры, Значения "По-Умолчанию", являются доступными только для Создателя Базы Данных и Системного Администратора. Данное Правило относится как к Новой, создаваемой Базы Данных, так и к существующей Базе Данных, которая Изменяется. Если вы выполняете Замещение существующих Объектов, то вместе с ними вы выполняете Замещение соответствующих Разрешений для данных Объектов.

Обеспечение аварийного Восстановления.

Вам необходимо обеспечить вариант Восстановления вашей Базы Данных для случаев ее Повреждения и/или Разрушения.

Дампинг Системной базы Данных: Master.

При создании всех Объектов новой Базы Данных в системе SQL Server, указанные объекты создаются и сохраняются в Таблицах системной Базы Данных Master. Дампинг (Dumping) базы данных Master также обеспечивает Резервную Копию всех выполненных изменений, касаемых вашей Базы Данных.

Планирование процедур Резервирования.

Рекомендуется Составить Расписание (План) выполнения регулярных процедур Резервирования (создания Резервных Копий). Это позволит вам выполнить восстановление Копии Базы Данных в случаях возникновения проблем с указанной Базой Данных.

Создание "Зеркал" для Устройств хранения Данных.

"Зеркальные" устройства Хранения Данных обеспечивают надежные подсистемы по сохранности Данных на "физическом" уровне устройств Сервера. Если одно из устройств (пары "Зеркальных"),  в какой-то момент выходит из строя, все выполненные Транзакции автоматически восстанавливаются с другого Устройства.

Если вы предполагаете (или планируете) значительный Объем проводимых Изменений Данных в БД, то рекомендуется использовать "Зеркальные" устройства Хранения Данных, которые считаются высокоэффективным Инструментом сохранности Баз Данных. Пары "Зеркальных" устройств хранения необходимо размещать на разных физических Устройствах (Дисках), это обеспечивает восстановление Данных в случае выхода из строя одного из Устройств (Дисков).

Мероприятия для Клиента-Приложения типа Visual FoxPro.

После завершения Процесса Масштабирования локальных Баз Данных Visual FoxPro в удаленные Таблицы системы SQL Server, вам, возможно, потребуется выполнить некоторые Исправления в программных Процедурах вашего Приложения, что обеспечит надежную обработку требуемых данных как в локальных Таблицах Visual FoxPro, так и в удаленных Таблицах SQL Server.

Оптимизация Представлений (Views).

Удаленные Представления (Remote Views), созданные Мастером Масштабирования не являются Параметризованными, поэтому не являются Оптимизированными. Для повышения производительности вашего Приложения по обработке удаленных Данных отредактируйте существующие Представления, определите Параметры, которые повышают Эффективность загрузки требуемых Данных, снижающих объем загрузки Записей с удаленного Сервера. Дополнительную информацию по использованию параметризованных Представлений смотрите в разделе: Как: Создавать Параметризованные Представления.

Система SQL Server не поддерживает некоторые системные функции Visual FoxPro. Если некоторые из таких функций используются в выражениях Удаленных Представлений, которые автоматически Транспортируются Мастером Масштабирования локальных Баз Данных, то эти Представления работать не будут, данные не загрузятся, эти функции не будут преобразованы в соответствующие системные функции Transact-SQL. Дополнительную информацию о возможных преобразованиях выражений Visual FoxPro в соответствующие Выражения Transact-SQL смотрите в разделе: Преобразование Баз Данных Visual FoxPro в Базы Данных SQL Server.

Создание Хранимых Процедур и Триггеров.

Мастер масштабирования (SQL Server Upsizing Wizard) не выполняет преобразование локальных Хранимых Процедур и Триггеров Visual FoxPro. Если вы планируете использование рассматриваемых инструментов Базы Данных в удаленных Таблицах SQL Server, вы можете использовать соответствующий синтаксис Transact-SQL данного сервера и соответствующие функции Сквозных Запросов (SQL pass-through in Visual FoxPro), которые применяются для создания указанных объектов на удаленном сервере. Дополнительную информацию по использованию Команд и Функций Transact-SQL смотрите в Технической Документации  SQL Server. Об использовании функций Сквозных Запросов  смотрите в разделе: Расширение Приложений с помощью функций Сквозных Запросов (SQL Pass-Through Technology).

Сравнения Последовательностей Событий.

В системе Visual FoxPro, некоторые системные события происходят в разных последовательностях (порядок их следования различается); это зависит от обрабатываемых Данных, откуда выполняется Загрузка: из локальных Таблиц или с Удаленного Сервера. Указанные соображения также могут послужить веской причиной для внесения Изменений в программный Код вашего Приложения.

Значения "По-Умолчанию".

В системе Visual FoxPro Значения "по-умолчанию" для Полей Таблиц появляются и Контролируются в самом начале процесса Редактирования новых Данных (для новой Записи). В системе SQL Server характеристики Полей типа "Значения по-умолчанию" только в тот момент, когда новая Запись добавляется в Таблицу. Поэтому вам необходимо изменить программный код таким образом, чтобы выполнять дополнительную проверку добавляемых данных до момента передачи их на Сервер.

Правила Контроля Данных.

В системе Visual FoxPro, контроль данных в Поле выполняется в момент получения указанным Полем Фокуса Ввода. При редактировании Данных в полях из Удаленных Таблиц SQL Server, соответствующие Триггеры и Правила Контроля активируются только в момент сохранения данных на Сервере. Вам необходимо отредактировать ваш программный Код в целях обеспечения наиболее эффективных процедур контроля данных и надежного сохранения вводимых Данных.

Управление Неконвертируемыми Выражениями.

Отчет-Журнал работы Мастера Масштабирования обычно содержит ссылки на те выражения из локальной Базы Данных Visual FoxPro, которые не преобразуются в соответствующие выражения сервера: правила контроля Записи, правила контроля Поля, выражения Значений по-умолчанию; в этом журнале содержатся также выполненные Преобразования, приведенные к стандартным. Непреобразованные Выражения должны быть описаны вами (переписаны вновь) в терминах синтаксиса Transact-SQL.

Проверку правильности вводимых Данных вы можете выполнять на уровне Локальной Формы, в клиентском Приложении  Visual FoxPro. Однако, если Данные Сервера будут изменены без соответствующего Контроля, без выполнения соответствующих проверок и сопутствующих процедур, то может быть нарушена общая Целостность Базы.

Дополнительную информацию по преобразованию Выражений локальных Баз Данных смотрите в разделах: Expression Mapping (Преобразование Выражений). Специальную информацию о Функциях и Командах  Transact-SQL смотрите в технической Документации по SQL Server.

Блокировка Записей.

Система Visual FoxPro использует Внутреннюю Оптимистическую Блокировку при обращении к Удаленным Таблицам Сервера SQL. Это означает, что фактическая блокировка Записи выполняется только в момент передачи измененных Данных на Сервер; процесс реального обновления Данных выполняется за короткий интервал времени.

Оптимистическая Блокировка используется вместо стандартной Пессимистичной Блокировки Данных SQL Server-а в силу того, что последняя блокирует целую Страницу Данных, достаточно большой интервал Записей Таблицы в единицу времени. Данный процесс значительно замедляет работу других Пользователей по обновлению Данных, которые являются Блокированными вследствие Блокировки целой Страницы. Оптимистическая Блокировка Записей позволяет значительно повысить общую производительность работы Клиент-Серверного Приложения Visual FoxPro в условиях многопользовательской Среды обработки Данных Сервера SQL.

Вы можете выполнить Оптимизацию процессов Обновления Данных и ввести управление Конфликтами при Обновлении Данных в многопользовательской среде; для этого используются различные значения системного Свойства SQL WhereType (Курсора или КурсорАдаптера). Дополнительную информацию по Управлению Конфликтами при обработке Удаленных Данных смотрите в разделе: Управление Конфликтами при Обновлении Данных.

См. также