пятница, 16 мая 2008 г.

Миграция DotNetNuke с 3.x на 4.x

Миграция DotNetNuke с 3.x на 4.x

1. Сохраните web.config DotNetNuke 3.x
2. Замените файлы DotNetNuke 3.x на DotNetNuke 4.x (DotNetNuke 4.x вы должны взять installation package, а не upgrate package)
3. Сделайте следующие изменения в web.config

a) Установите значения:
<add key="AutoUpgrade" value="false" />
<add key="UseInstallWizard" value="false" />

б) Укажите строки соединения с БД:
<!-- More options exist above this section..... -->
<connectionStrings>
<!-- Connection String for SQL Server 2005 Express -->
<add name="SiteSqlServer" connectionString="Server=YourServer;Database=YourDatabase;uid=YourUser;pwd=YourPassword;" providerName="System.Data.SqlClient" />
</connectionStrings>
<appSettings>
<!-- Connection String for SQL Server 2005 Express - kept for backwards compatability - legacy modules -->
<add key="SiteSqlServer" value="Server=YourServer;Database=YourDatabase;uid=YourUser;pwd=YourPassword;" />
<!-- More settings exist below this line! -->

в) Введите с сохранённого DotNetNuke 3.x web.config(старого) или вставьте если такие поля отсутствуют
<add key="MachineValidationKey" value="ЗДЕСЬ ДОЛЖЕН БЫТЬ ValidationKey СО СТАРОГО WEB.CONFIG" />
<add key="MachineDecryptionKey" value="ЗДЕСЬ ДОЛЖЕН БЫТЬ DecryptionKey СО СТАРОГО WEB.CONFIG" />

<machineKey
validationKey="ЗДЕСЬ ДОЛЖЕН БЫТЬ ValidationKey СО СТАРОГО WEB.CONFIG"
decryptionKey="ЗДЕСЬ ДОЛЖЕН БЫТЬ DecryptionKey СО СТАРОГО WEB.CONFIG"
decryption="3DES"
validation="SHA1" />

Будь те внимательны, данные должны совпадать, а то могут возникнуть проблемы с авторизацией
г) Поменяйте версию ASP.NET c 1.1 на 2 в IIS
д) После этого перейдите на URL: http://[dnn]/install/install.aspx
е) После этого DotNetNuk можете переадресовать на underconstruction page, просто попробуйте перейти на default.aspx еще раз

четверг, 8 мая 2008 г.

SQL Server 2005 Оптимизация

SQL Server 2005 Оптимизация


Содержание

1. Индексы, что это и зачем они нужны
a) Кластерезированые индексы
b) Некластерезированые индексы
2. Статистика, что это и зачем она нужна
3. Инстументы оптимизации
a) SQL Server Profiler
b) Database Engine Tuning Advisor

Индекс

Подобно содержанию в книге, индекс в базе данных позволяет быстро искать конкретные сведения в таблице или индексированном представлении.

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

Создание хорошо спроектированных индексов для поддержки запросов обеспечивает значительное улучшение производительности запросов к базе данных и приложениям.

Индексы сокращают объем данных, которые необходимо считать, чтобы возвратить результирующий набор.

Индексы также обеспечивают уникальность строк таблицы, гарантируя целостность данных таблицы.

Сбалансированное дерево




Кластеризованный индекс

Кластеризованный
Кластеризованные индексы сортируют и хранят строки данных в таблицах или представлениях на основе их ключевых значений. Этими значениями являются столбцы, включенные в определение индекса. Существует только один кластеризованный индекс для каждой таблицы, потому что строки данных могут быть отсортированы только в единственном порядке.
Строки данных в таблице хранятся в порядке сортировки только в том случае, если таблица содержит кластеризованный индекс. Если у таблицы есть кластеризованный индекс, то таблица называется кластеризованной. Если у таблицы нет кластеризованного индекса, то строки данных хранятся в неупорядоченной структуре, которая называется кучей.

Некластеризованный индекс

Некластеризованный
Некластеризованные индексы имеют структуру, отдельную от строк данных. В некластеризованном индексе содержатся значения ключа некластеризованного индекса, и каждая запись значения ключа содержит указатель на строку данных, содержащую значение ключа.
Указатель из строки индекса в некластеризованном индексе, который указывает на строку данных, называется указателем строки. Структура указателя строки зависит от того, хранятся ли страницы данных в куче или в кластеризованной таблице. Для кучи указатель строки является указателем на строку. Для кластеризованной таблицы указатель строки данных является ключом кластеризованного индекса.

Статистика

Microsoft SQL Server 2005 собирает статистику по индексам и полям данных, хранимых в базе. Эта статистика используется оптимизатором запроса SQL Server при выборе оптимального плана исполнения запросов на выборку или обновление данных.

При создании индекса оптимизатор запросов автоматически сохраняет данные статистики о проиндексированых столбцах.

Вкачестве альтернативы можно вручную создавать и обновлять статистику с помощью инструкций Transact-SQL и хранимых процедур

Создание статистики - CREATE STATISTICS

Обновление статистики - sp_updatestats

Автостатистика – AUTO_UPDATE_STATISTICS

Просмотр статистики - sp_helpstats

SQL Server Profiler

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

1. Пошаговое выполнение проблемных запросов для поиска источника проблемы;
2. Выявление и диагностика медленно работающих запросов;
3. Перехват серии инструкций Transact-SQL, ведущих к проблеме. Сохраненную трассировку затем можно использовать для моделирования и диагностики проблемы на тестовом сервере;
4. Контроль производительности SQL Server для настройки рабочих нагрузок.
5. Анализ счётчиков производительности для диагностики проблем.

SQL Server Profiler также поддерживает аудит действий, выполняемых в экземплярах SQL Server. В ходе аудита ведётся запись действий, связанных с безопасностью, для дальнейшего просмотра администратором безопасности.

Database Engine Tuning Advisor

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