В прошлый раз мы сравнивали цены при использовании сервисов отчетов, которые доступны как сервис в Windows Azure (SQL Reporting), с вариантом развертывания обычной виртуальной машины с SQL Server (SSRS).
Опять же, я не берусь утверждать, что один сервис лучше или хуже. В большинстве случаев решение о том, какой из сервисов использовать в приложении, необходимо принимать согласно тем задачам, которые стоят перед приложением, и финансовыми требованиями заказчика. Я лишь хочу показать, что для построения решения с использованием сервисов отчетов есть два пути.
Варианты использования
Предположим, что наше приложение работает в Windows Azure и реализовано как Cloud Service (PaaS). Оно использует в качестве источника данных базу данных SQL Azure. Необходимо сконфигурировать сервисы построения отчетов для использования в приложении. Как уже было рассмотрено ранее, сервисы построения отчетов для приложения Windows Azure могут быть построены двумя способами:
- PaaS: SQL Azure + SQL Reporting;
SQL Azure будет использован как сервис;
SQL Reporting будет использован как сервис. - Гибридное решение: SQL Azure + SQL Server Reporting Services;
SQL Azure будет использован как сервис;
SQL Reporting Services должны быть настроены на отдельной виртуальной машине SQL Server (IaaS).
Давайте теперь посмотрим на детальный процесс настройки обоих сервисов. Однако прежде чем мы начнем, я предполагаю, что база данных SQL Azure уже сконфигурирована и размещена в Windows Azure.
Вариант PaaS: SQL Azure + SQL Reporting
Настройка SQL Reporting сервиса
- Зайдите в Windows Azure Management Portal;
- Перейдите в раздел “Reporting” и нажмите“Create a reporting service”;
- Выберите подписку и регион, который будет использован SQL Reporting сервисом. После этого введите имя пользователя с правами на полный доступ к сервисам и пароль.
Увеличить - После этого выберите пункт “Create SQL reporting service”.
Настройки проекта отчетов
- Откройте ваш проект отчетов в SQL Server Business Intelligent Development Studio;
Можно использовать Visual Studio 2012 для работы с проектами отчетов (.rptproj). Для этого необходимо установить Microsoft SQL Server Data Tools. - Нажмите правой кнопкой мыши на “Shared Data Sources” в окне «Solution Explorer» и выберите “Add New Data Source”;
- Введите имя нового источника данных и задайте его тип “Type” в “Microsoft SQL Azure”. Затем нажмите “Edit”;
Увеличить - Введите URL для доступа к базе данных SQL Azure;
- Выберите пункт “Use SQL Server Authentication” и введите данные для доступа к базе данных SQL Azure;
- Введите имя базы данных SQL Azure в поле “Select or enter database name”;
- Нажмите “Test Connection”. OK.
- Далее перейдите на вкладку “Credentials” и выберите пункт “Use this user name and password”;
- Введите данные для доступа к базе данных SQL Azure. OK.
Увеличить - В контекстном меню проекта выберите пункт “Properties”;
- В Windows Azure Management Portal перейдите в раздел SQL Reporting. Выберите ваш сервис отчетов и перейдите на вкладку “Dashboard”;
- Скопируйте значение поля “Web Service URL”;
Увеличить - Скопированное значение вставьте в поле “TargetServerURL” в настройках проекта отчетов SQL Server Business Intelligent Development Studio.
Гибридное решение: SQL Azure + SQL Server Reporting Services
Создание виртуальной машины
- Перейдите в Windows Azure Management Portal;
- Нажмите кнопку “New”. Выберите пункт “Compute”, затем “Virtual Machine”, затем “From Gallery”;
Увеличить - Выберите образ “SQL Server 2012 SP1 Standard on Windows Server 2008 R2 SP1”;
Увеличить - Введите имя новой виртуальной машины “Virtual Machine Name”, размер“Size” и данные для доступа к ней: “New User Name” и “New Password”;
Увеличить - Введите имя DNS для новой виртуальной машины, затем укажите storage account и регион, который будет использован для этой виртуальной машины;
Увеличить - На следующем шаге оставьте все значения по умолчанию;
- Завершите создание виртуальной машины.
Настройка SQL Server
- Подключитесь к созданной виртуальной машине по RDP;
- Запустите “SQL Server Management Studio”;
- В окне “Object explorer” щелкните правой кнопкой мыши на имени сервера и выберите пункт “Properies”;
- Перейдите на вкладку “Security” и отметьте пункт “Server authentication” в значение “SQL Server and Windows Authentication mode”;
Увеличить - Вернитесь в окно “Object Explorer” и выберите папку“Security”, “Logins”;
- Щелкните правой кнопкой на логине “sa” и выберите пункт“Properties”;
- Укажите пароль пользователя “sa”;
Увеличить - На вкладке “Status” выставьте значение свойства“Login” в “Enabled”;
Увеличить - Теперь перезапустите SQL Server, используя “SQL Server Configuration Manager”.
Увеличить - Последнее, что необходимо сделать – открыть порты в Windows Firewall для виртуальной машины. От имени администратора выполните две следующие команды:
netsh advfirewall firewall add rule name="SQL Server 1433" dir=in action=allow protocol=TCP localport=1433
netsh advfirewall firewall add rule name="HTTP 80" dir=in action=allow protocol=TCP localport=80
Настройка Reporting Services
- Запустите “Reporting Services Configuration Manager” из меню Пуск;
- Когда появится начальный экран, нажмите кнопку “Connect”;
- Перейдите в раздел “Web Service URL” и нажмите кнопку “Apply”;
Увеличить - Перейдите в раздел “Database” и нажмите кнопку “Change database”. Появится следующее окно. Нажмите “Next”.
Увеличить - Завершите настройку сервера, оставляя все настройки по умолчанию;
Увеличить
Увеличить - Перейдите в раздел “Report Manager URL” и нажмите кнопку“Apply”.
Настройка Windows Azure Firewall
- Перейдите в Windows Azure Management Portal;
- Выберите виртуальную машину SQL Server;
- Перейдите на вкладку “Endpoints”;
Увеличить - Нажмите кнопку “Add Endpoint” и введите следующие настройки:
- Повторяем шаг 4 для следующих настроек:
Увеличить
Заключение
После выполнения всех действий SQL Server Reporting Services будут доступны по URL, указанному при создании виртуальной машины:
http://.cloudapp.net/ReportServer
Используйте этот URL как значение свойства “TargetServerURL” при публикации проекта отчетов через SQL Server Business Intelligent Development Studio.