Анимация
JavaScript
|
Главная Библионтека Если на диске сервера много места, умножьте размер своих таблиц Visual FoxPro на два. Это гарантирует, что у Мастера наращивания будет достаточно пространства для наращивания базы данных и даже останется место для увеличения объема ваших данных в дальнейшем. Если вы рассчитываете добавлять много информации в базу данных, увеличьте величину этого коэффициента. Все базы данных и журналы SQL Server размещаются на устройствах. Устройство - это одновременно и логическая область, в которую заносятся базы данных и журналы, и физический файл. Чтобы создать устройство, SQL Server создает файл, тем самым резервируя на диске определенную часть пространства для собственных нужд. Мастер наращивания показывает, сколько свободного места имеется на существующих устройствах SQL Server. Выберите устройство, на котором объем свободного пространства не меньше , чем оценочный размер базы данных. Если ни одно из существующих устройств не обладает достаточным количеством свободного пространства, можно создать новое устройство с помощью Мастера наращивания. Новые устройства должны иметь размер, по крайней мере не меньший, чем оценочный размер базы данных. Если это возможно, задайте для устройства больший объем, чем требуется для базы данных, чтобы вы смогли впоследствии расширить ее или поместить на то же самое устройство другие базы данных или журналы. Размер устройства изменить нельзя. Убедитесь в том, что вы создаете достаточно вместительные устройства. В большинстве случаев Мастер наращивания обеспечивает контроль над устройствами SQL Server в более чем достаточном объеме. Тем не менее, если на сервере имеется несколько дисков или если вы хотите разместить базу данных или журнал на нескольких устройствах, можно создать устройства до запуска Мастера наращивания. Если на сервере установлено более одного физического жесткого диска, можно разместить базу данных на одном диске, а журнал базы данных - на другом. При сбое диска у вас будет больше шансов восстановить базу данных в том случае, если она разведена с журналом по разным физическим дискам. Мастер наращивания позволяет создавать новые устройства, но только на одном физическом диске - на том, который является устройством главной базы данных Master. Чтобы разместить базу данных и журнал на отдельных дисках, убедитесь, что на обоих дисках имеются достаточно большие устройства, и при необходимости создайте новые устройства. Запустите Мастер наращивания. SQL Server допускает размещение баз данных и журналов на нескольких устройствах. Однако в Мастере наращивания можно задать только одно устройство для базы данных и одно для журнала. Чтобы задать несколько устройств для базы данных или журнала, сделайте эти устройства (и только их) устройствами, принимаемыми по умолчанию. Затем запустите Мастер наращивания и выберите Default для устройства базы данных или журнала. Если для новой базы данных или журнала SQL Server не требуется использовать все устройства, принимаемые по умолчанию, SQL Server задействует только устройства, необходимые для размещения базы данных или журнала. Перед созданием новой внешней базы данных убедитесь в наличии источника данных ODBC или именованного соединения в базе данных Visual FoxPro, осуществляющей доступ к серверу SQL Server. Перед проведением наращивания было бы разумно создать резервную копию базы данных (файлов DBC, DCT и DCX). Мастер наращивания не модифицирует файлы DBF, а работает с файлом DBC непосредственно, открывая его время от времени как таблицу, переименовывая таблицы и представления при создании новых удаленных представлений. Если вы сделали копию базы данных, то сможете возвратить ее в состояние, предшествовавшее началу наращивания, заменив модифицированные файлы DBC, DCT и DCX копиями с исходным содержимым и отменив тем самым все переименования и создание новых представлений. Мастер наращивания пытается открыть все таблицы в базе данных для монопольного пользования, а если какие-либо таблицы уже открыты и имеют статус совместного пользования, то Мастер наращивания закрывает их и открывает вновь в монопольном режиме. Открытие таблиц перед наращиванием в монопольном режиме позволяет предохранить их от попыток пользователей модифицировать записи. Если какие-либо таблицы нельзя открыть для монопольного использования, Мастер наращивания выдает соответствующее сообщение. После того как вы создали источник данных ODBC и сделали все необходимые приготовления на компьютере клиента и на сервере, можно приступать к наращиванию. 1. В меню Tools выберите команду Wizards, а затем выберите Upsizing. 2. Последующий процесс выполняется в диалоговом режиме, в привычном стиле Мастеров, используемых в Visual FoxPro. На рис. 6.33 приведен первый шаг работы - выбор локальной БД. Вы можете в любой момент нажать кнопку Cancel и прекратить процесс. На сервере не выполняется никаких действий, пока не нажата кнопка Finish. Upsizing Wizard step 1 - Local Database Select: WtiJch local database do you want to upsize database to Upsiie: auto store I Open... H
Рис. 6.33. Первый шаг при использовании Мастера наращивания 3. После того как вы нажмете кнопку Finish, Мастер наращивания начинает экспортировать базу данных на сервер. Кнопка Finish становится доступной после введения основной информации, требуемой для наращивания. Если нажать кнопку Finish до того, как будут пройдены все экраны мастера, Мастер наращивания использует для оставшихся шагов значения, принимаемые по умолчанию. Наращивание может занять много времени, что зависит от величины данных, объема сетевого трафика и количества запросов, одновременно обрабатываемых сервером. Большие таблицы могут экспортироваться часами. Например, БД, состоящая из трех таблиц, каждая из которых содержала более ста тысяч записей, у авторов переносилась на сервер дольше 8 часов. Мы, конечно, схитрили и запланировали этот грандиозный процесс на ночь, что позволило избежать утомительного ожидания и горячих споров, когда же нажимать клавиши Ctrl+Alt+Del. Если вы хотите сократить время переноса БД на сервер, советуем вам при возможности удалить из таблиц поля примечаний и поля типа General. В нашем случае после удаления из таблиц полей примечаний процесс переноса занял чуть более 3 часов. После переноса БД эти поля можно восстановить непосредственно на сервере. Если в процессе экспортирования данных Мастером наращивания возникают какие-либо ошибки, он выдает запрос, нужно ли сохранять информацию об ошибках. Если сохранять информацию нужно - генерируется отчет об ошибках. Большинство ошибок связано с недостатком места на устройстве базы данных или журнала на используемом сервере или с недостаточным объемом внешней базы данных, которая не в состоянии принять данные, экспортируемые на сервер. Убедитесь, что на выбранных устройствах много свободного места и что размер базы данных установлен достаточно большим. Чтобы завершить процесс наращивания на сервере, вы можете выполнить следующие действия: • Убедиться, что таблицы, которые вы намерены редактировать в Visual FoxPro, являются обновляемыми. • Установить полномочия для базы данных, чтобы пользователи могли получать доступ к нужным объектам . • Защитить результаты работы, сделав новую базу данных восстанавливаемой на случай повреждения или потери данных. Чтобы таблицу можно было обновлять в Visual FoxPro, она должна иметь уникальный индекс. Мастер наращивания может экспортировать имеющийся уникальный индекс, но не в состоянии создать такой индекс, если он отсутствует. Убедитесь, что таблицы, которые вы намерены редактировать в Visual FoxPro, являются обновляемыми. SQL Server назначает своей базе данных и ее объектам набор полномочий, принимаемых по умолчанию. Установите полномочия для внешней базы данных, чтобы пользователи имели доступ Таблица 6.7. Сравнение внешних представлений и сквозных запросов SQL Удаленное представление Сквозные запросы SQL Базируется на операторе SQL Базируется на любом операторе SQL, SELECT Выбирает одно результирующее множество Обеспечивает встроенное управление соединениями Предоставляет встроенную стандартную информацию обновления для операций обновления, вставки и удаления Обеспечивает неявное выполнение SQL и выборку данных Не обеспечивает управление транзакциями Постоянно хранит свойства в базе данных открывая доступ к операторам определения данных или к выполнению хранимых процедур сервера Выбирает одно или несколько результирующих множеств Требует явного управления соединениями Не предоставляет информации обновления по умолчанию Обеспечивает явное выполнение SQL и управление результатами выборки Обеспечивает явное управление транзакциями Обеспечивает временные свойства для курсора сквозного запроса SQL, основанного на свойствах сеанса к нужным объектам. Полномочия, принимаемые для новой базы данных по умолчанию, делают ее доступной только системным администраторам и владельцу базы данных. Вы можете добавить новых пользователей и группы пользователей, используя на сервере SQL Server приложение Security Manager или системные процедуры sр adduser и sp addgroup. Подробнее о том, как добавлять пользователей и группы, вы можете узнать из приводимого ниже примера. Чтобы предоставить полномочия доступа к таблицам, воспользуйтесь приложением SQL Object Manager или командами GRANT и REVOKE. Когда на сервере SQL Server создается база данных, в системные таблицы главной базы данных Master добавляются новые записи. Сделав дамп базы данных Master, вы получите резервную копию, отражающую все последние изменения. Составьте план регулярного сохранения резервных копий содержимого базы данных, чтобы при возникновении серьезной проблемы вы могли восстановить базу данных из резервной копии. Функция зеркального дублирования устройства выполняет постоянное дублирование информации с одного устройства SQL Server на другое. Если первое устройство даст сбой, то можно перейти на второе, содержащее актуальную копию всех транзакций. Если ожидаются многочисленные изменения в базе данных в промежутке между выполнением резервных копий и нельзя потерять ни одно из этих изменений, воспользуйтесь средством дублирования устройств. Оно будет наиболее эффективным, когда устройства находятся на раздельных дисках, поскольку если они находятся на одном диске и этот диск даст сбой, будут потеряны оба устройства. А теперь рассмотрим выполнение процесса наращивания локальной БД с помощью технологии сквозных запросов SQL . Приложение клиент-сервер может получать доступ к данным на сервере двумя способами: • С помощью внешних представлений. • Средствами сквозных запросов SQL. Внешние представления - это самый популярный и простой метод доступа к внешним данным и их обновления. Мастер наращивания может автоматически создавать внешние представления в базе данных в процессе наращивания, также возможно создание внешних представлений с помощью Visual FoxPro после наращивания. Подробнее о внешних представлениях вы прочитаете в дальнейшем. Технология сквозных запросов SQL позволяет посылать оператор SQL непосредственно на сервер. Поскольку операторы сквозного запроса SQL выполняются на сервере, они позволяют существенно повысить производительность работы приложения. В табл. 6.7 сравниваются технологии использования внешних представлений и сквозных запросов SQL. 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 [ 64 ] 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 |