dbForge Studio for SQL Server
Продукт, родившийся из самостоятельных инструментов и различных дополнений к SQL Server Management Studio и Visual Studio. Среда разработки, а по сути — этакий комбайн, предоставляющий решение для основных задач DBA и позволяющий без проблем работать со сложными проектами. Из-за обилия функций Studio for SQL Server может поначалу показаться очень сложным, но на самом деле это не так. Например, редактор кода содержит помощник SQL Coding Assistance, позволяющий ускорить написание SQL-кода, за счет автодополнения функций, имен и параметров объектов, таблиц и прочего. Помощник анализирует контекст и по ходу набора предлагает доступные параметры — заполнить поля запроса получается быстрее, и вероятность ошибки уменьшается. Также предоставляются готовые шаблоны, которые можно добавлять и редактировать. Доступна функция автоформатирования кода, показ структуры, быстрый переход, подсказки и прочие мелочи. Есть дизайнер запросов, объекты для построения просто перетаскиваются из проводника. В редактор интегрирован отладчик T-SQL, позволяющий найти источник ошибок в скриптах, хранимых процедурах, триггерах и функциях, наблюдая за их поведением во время выполнения. При отладке возможен запуск скрипта полностью, в пошаговом режиме и до точек останова. В составе два профилировщика — запросов и событий сервера, они позволяют просматривать время выполнения, находить узкие места и оптимизировать медленные запросы при помощи настроек. Быстро настроить нужные операции в SQL Server Event Profiler помогает мастер. Полученный отчет показывает список всех событий, отвечающих выбранным критериям, дополнительные параметры позволяют выделить и контролировать наиболее интересные события. Есть еще дизайнер таблиц, который дает возможность легко создавать и пересоздавать таблицы. Диаграмма выводит структуру базы данных.
Для переноса данных SQL в новую базу данных после обновления или создания резервной копии предложен мастер экспорта и импорта данных, поддерживающий двенадцать различных форматов (CSV, Excel, DBF, Access, XML и другие). Импорт возможен в новые или уже существующие таблицы, в разных режимах (Append, Update, Delete, Repopulate). Шаблоны импорта позволяют в последующем регулярно импортировать данные через интерфейс командной строки. Хорошим дополнением к функциям импорта/экспорта идет возможность создания снимка, синхронизации и сравнения данных, администратор при этом получает отчет, позволяющий планировать дальнейшие операции. Генератор отчетов, наглядно представляющий данные, поддерживает возможность автоматической генерации и рассылки. При помощи Security Manager администратор создает учетные записи СУБД, назначает им роли и привилегии.
Для закачки бесплатной версии потребуется регистрация. Установка стандартна, в процессе можно задать ассоциацию с расширениями файлов. Далее в появившемся окне настраиваем подключение к SQL-серверу, и можно работать. Интерфейс локализован, поэтому каких-либо трудностей его освоение не представляет.
Создание запроса в dbForge Studio for SQL Server
Стратегии резервного копирования и восстановления
Операции резервирования и восстановления данных следует адаптировать под конкретную среду с учетом доступных ресурсов. Таким образом, для надежного использования резервного копирования и восстановления требуется стратегия резервного копирования и восстановления. Хорошо спроектированная стратегия резервного копирования и восстановления позволяет сбалансировать бизнес-требования для обеспечения максимальной доступности данных и минимальной потери данных, учитывая стоимость обслуживания и хранения резервных копий.
Стратегия резервирования и восстановления состоит из части, относящейся к резервированию, и части, относящейся к восстановлению. Часть, относящаяся к резервированию, определяет тип и частоту создания резервных копий, тип и скоростные характеристики оборудования, необходимого для их создания, способ проверки резервных копий, а также местонахождение и тип носителя резервных копий (включая и вопросы безопасности). Часть, относящаяся к восстановлению, определяет ответственного за проведение операций восстановления, методы их проведения, позволяющие удовлетворить требования пользователей по доступности базы данных и минимизации потерь данных, а также методы проверки восстановления.
Разработка эффективной стратегии резервирования и восстановления требует тщательного планирования, реализации и тестирования. Проверка необходима — у вас нет стратегии резервного копирования до тех пор, пока не были успешно восстановлены все резервные копии во всех сочетаниях, включенных в стратегию восстановления, и не была проверена физическая согласованность восстановленной базы данных. Необходимо оценить ряд факторов. К ним относятся следующие объекты.
-
Задачи организации, относящиеся к рабочей базе данных, особенно требования к доступности данных и их защите от потери или повреждения.
-
Свойства каждой базы данных: размер, типичное использование, характер содержимого, требования к данным и т. д.
-
Ограничения на ресурсы, например: оборудование, персонал, пространство для хранения носителей резервных копий, физическая безопасность этих носителей и так далее.
Обеспечиваем доступность пользовательских данных в Microsoft Dynamics CRM, используя Veeam Backup & Replication +7
- 27.03.17 08:09
•
ahadhari
•
#324720
•
Хабрахабр
•
Перевод
•
•
1300
Виртуализация, Резервное копирование, Восстановление данных, Блог компании «Veeam Software», IT-инфраструктура
Рекомендация: подборка платных и бесплатных курсов системных администраторов — https://katalog-kursov.ru/
Не секрет, что Microsoft Dynamics CRM — довольно популярная (по последним данным 40 тыс. клиентов и 4,5 млн индивидуальных пользователей) система управления отношениями с клиентами как в крупных, так и в небольших компаниях
Для такого приложения с критически важной нагрузкой требуется соответствующая стратегия резервного копирования.
Сценарии развертывания Microsoft Dynamics CRM могут отличаться в разных компаниях, но все они будут включать три компонента:
- Microsoft Active Directory (AD)
- Microsoft SQL Server
- Microsoft Dynamics CRM Server 2016
Microsoft SQL Server 2014
- Для баз OrganizationName_MSCRM и ReportServer необходимы бэкапы как самих баз, так и журналов транзакций
- Для редко обновляемых баз, например, msdb, можно выбрать только полный бэкап базы
- Бэкапы системных базы master и msdb не являются обязательными для Microsoft Dynamics CRM, но их стоит выполнять в рамках общей стратегии защиты данных
Настройка заданий Veeam Backup & Replication
Задание резервного копирования для всех серверных ролей
- Выберем серверы Microsoft Dynamics CRM, которые хотим бэкапить:
- Опционально можно выбрать прокси-сервер. Далее, выбираем репозиторий и указываем политику хранения (сколько точек восстановления необходимо хранить). В нашем примере мы используем автоматический выбор (Automatic selection) для бэкап-прокси и будем хранить 14 точек восстановления:
- В настройках Advanced выбираем желаемый режим резервного копирования. По умолчанию установлен режим Incremental (recommended):
В данном режиме Veeam Backup & Replication создаст полный бэкап во время первого запуска задания, а затем будет копировать только изменения. В определенный день – в нашем примере это суббота — Veeam синтезирует полный бэкап из данных, которые уже хранятся на репозитории. - Подтверждаем и сохраняем изменения, нажав OK и Next.
- На шаге Guest Processing выбираем Enable application-aware processing и нажимаем Applications:
- В окне опций обработки приложений выбираем SQL Server и нажимаем Edit для настройки шагов обработки приложений:
- Следующим шагом будет настройка резервного копирования журналов транзакций SQL через каждые 10 минут:
- Далее указываем учетную запись для доступа к гостевой ОС и проверяем ее права доступа, нажав Test Now.
- Последний шаг перед сохранением и запуском задания — настройка автоматического расписания, например, ежедневно в 8 вечера:
- Моментальное восстановление ВМ (Instant VM Recovery)
- Восстановление диска
- Восстановление объектов приложений (объектов AD, баз и логов SQL)
- Восстановление отдельных файлов
Задание репликации для сервера баз данных
Выбираем Replication Job:
Даем имя заданию репликации:
Выбираем SQL Server, на котором находится база CRM:
Указываем место назначения для задания репликации
Обратите внимание, что хост отличается от исходного:
В настройках задания указываем репозиторий, на котором будут храниться метаданные реплики, и количество точек восстановления:
В окне настройки передачи данных указываем исходный и целевой прокси-сервер. Здесь же можно указать WAN-акселераторы, при наличии таковых:
Последний шаг — настройка обработки гостевой системы (Guest Processing), на котором можно настроить репликацию с учетом данных приложений (в нашем случае — SQL)
Обратите внимание, что при репликации журналы транзакций SQL реплицируются только в режиме копирования:
Настраиваем расписание для репликации:
Проверяем настройки и завершаем создание задания, нажав Finish.
При необходимости можно отметить пункт Run the job when I click Finish, чтобы задание репликации запустилось сразу после завершения настройки:
- Восстановление контроллера домена из резервной копии с помощью Veeam
- Восстановление удаленных объектов виртуализованной Active Directory из tombstone-объектов
- Что нового в Veeam Backup & Replication 9.0: новинки линейки Veeam Explorers для восстановления объектов приложений
- Veeam Explorer для Microsoft Active Directory
Обзор сценариев восстановления
Сценарий восстановления в SQL Server — процесс восстановления данных из одной или более резервных копий и возврат в исходное состояние базы данных. Поддерживаемые сценарии восстановления зависят от модели восстановления базы данных и выпуска SQL Server.
Следующая таблица предоставляет возможные сценарии восстановления, которые поддерживаются различными моделями восстановления.
Сценарий восстановления | Простая модель восстановления | Модель полного восстановления или модель восстановления с неполным протоколированием |
---|---|---|
полное восстановление базы данных | Это базовая стратегия восстановления. Полное восстановление базы данных может содержать простые операции возврата и восстановления из полной резервной копии. Также полное восстановление базы данных может проводиться на основе полной резервной копии базы данных с ее последующим обновлением по журналу.Дополнительные сведения см. в разделе Полное восстановление базы данных (простая модель восстановления). | Это базовая стратегия восстановления. Восстановление всей базы данных включает в себя восстановление полной резервной копии, возможно, разностных резервных копий (если они есть) и восстановления всех последующих резервных копий журналов (последовательно). Восстановление всей базы данных завершается восстановлением из последней резервной копии журнала и возвратом в исходное состояние (RESTORE WITH RECOVERY).Дополнительные сведения см. в статье Выполнение полного восстановления базы данных (модель полного восстановления). |
Восстановление файлов 1 | Восстановление одного или более поврежденных файлов с атрибутом «только для чтения» без восстановления всей базы данных. Восстановление файла возможно только при наличии в базе данных хотя бы одной файловой группы с атрибутом «только для чтения». | Восстановление одного или нескольких файлов без восстановления всей базы данных. Восстановление файлов может выполняться, когда база данных находится в режиме «вне сети» или в некоторых выпусках SQL Server«в сети». Во время восстановления файла файловые группы, содержащие обрабатываемый файл, всегда находятся в режиме вне сети. |
Восстановление страницы | Неприменимо | Восстановление одной или нескольких поврежденных страниц. Восстановление страницы может выполняться, когда база данных находится в режиме «вне сети» или в некоторых выпусках SQL Server«в сети». Во время восстановления страницы всегда находятся в режиме вне сети.Должна быть доступна непрерывная цепочка резервных копий журналов вплоть до текущего файла журнала, и они должны быть применены для приведения страницы в соответствие текущему журналу.Дополнительные сведения см. в статье Восстановление страниц (SQL Server). |
Поэтапное восстановление 1 | Поэтапное восстановление базы данных на уровне файловой группы, начиная с групп файлов, доступных для чтения и записи, вторичных файловых групп. | Восстановление и перевод базы данных в режим в сети по этапам на уровне файловой группы, начиная с первичной файловой группы.Дополнительные сведения см. в статье Поэтапное восстановление (SQL Server). |
1 Оперативное восстановление поддерживается только в выпуске Enterprise.
Шаги по восстановлению базы данных
Для восстановления файла Компонент Database Engine выполняет два шага:
-
создает любой недостающий файл базы данных;
-
копирует данные с устройств резервного копирования в файл(ы) базы данных.
Для восстановления базы данных Компонент Database Engine выполняет три шага:
-
Создает файлы базы данных и журналов транзакций, если они еще не существуют.
-
копирует все данные, журналы и страницы индексов с резервной копии базы данных в файлы базы данных;
-
Применяет журнал транзакций в том, что называется .
Независимо от способа восстановления данных, перед восстановлением базы данных Компонент SQL Server Database Engine обеспечивает логическую согласованность всей базы данных. Например, если восстановить файл, вы не сможете восстановить его и перевести его в оперативный режим, пока он не будет развернут достаточно далеко, чтобы обеспечить согласованность с базой данных.
Преимущества восстановления файлов или страниц
Восстановление файлов и страниц вместо восстановления всей базы данных целиком дает следующие преимущества.
-
Восстановление данных меньшего объема данных уменьшает время, затрачиваемое на копирование и восстановление.
-
В среде SQL Server восстановление файлов или страниц позволяет другим данным в базе данных оставаться в режиме «в сети» во время операции восстановления.
Восстановление данных на сервер
В случае потери данных можно восстановить данные резервного копирования вручную или с помощью мастера восстановления, включенного в функцию резервного копирования.
Восстановление выбранных файлов из файла или ленты
-
Нажмите кнопку «Пуск», выберите пункт «Все программы», «Аксессуары», «Системные инструменты» и «Резервное копирование». Запустится мастер резервного копирования или восстановления.
-
Щелкните «Расширенный режим».
-
Откройте вкладку «Восстановление и управление мультимедиа «.
-
Щелкните носитель, который требуется восстановить, а затем установите флажки рядом с дисками, папками или файлами, которые требуется восстановить.
-
В поле «Восстановить файл » укажите расположение для восстановления файлов, выполнив одно из следующих действий:
-
Если вы хотите восстановить файлы или папки в том же расположении, в котором они находились при резервном копировании данных, щелкните «Исходное расположение» и перейдите к шагу 7.
-
Если вы хотите восстановить файлы или папки в новом расположении, щелкните » Альтернативное расположение».
Этот параметр сохраняет структуру папок резервных копий данных.
-
Если вы хотите восстановить файлы и папки в одном расположении, щелкните » Одна папка».
-
-
Если выбран вариант «Альтернативное расположение» или «Одна папка», введите расположение, в котором требуется восстановить данные, или нажмите кнопку «Обзор» и выберите расположение, а затем нажмите кнопку «ОК».
-
В меню Сервис щелкните пункт Параметры. Откройте вкладку «Восстановление», укажите нужный параметр восстановления и нажмите кнопку «ОК».
-
Нажмите кнопку Начать восстановление.
-
На отображемой странице подтверждения восстановления нажмите кнопку «Дополнительно», если хотите задать дополнительные параметры восстановления, а затем нажмите кнопку «ОК».
-
Нажмите кнопку «ОК», чтобы начать операцию восстановления.
Восстановление данных состояния системы (включая сведения о реестре)
-
Нажмите кнопку «Пуск», выберите пункт «Все программы», «Аксессуары», «Системные инструменты» и «Резервное копирование». Запустится мастер резервного копирования или восстановления.
-
Щелкните «Расширенный режим».
-
Откройте вкладку «Восстановление и управление мультимедиа «.
-
В поле «Элементы для восстановления » разверните носитель, который требуется восстановить, а затем установите флажок «Состояние системы».
-
Установите флажки рядом с любыми другими дисками, папками или файлами, которые требуется восстановить.
-
В поле «Восстановить файл » укажите расположение для восстановления файлов, выполнив одно из следующих действий:
- Если вы хотите восстановить файлы или папки в том же расположении, в котором они находились при резервном копировании данных, щелкните «Исходное расположение» и перейдите к шагу 8.
- Если вы хотите восстановить файлы или папки в новом расположении, щелкните » Альтернативное расположение».
Этот параметр сохраняет структуру папок резервных копий данных. - Если вы хотите восстановить файлы и папки в одном расположении, щелкните » Одна папка».
Примечание.
Если не указать альтернативное расположение для восстановленных данных, операция восстановления удаляет текущие данные состояния системы и заменяет их данными, которые вы восстанавливаете.
-
Если выбран вариант «Альтернативное расположение» или «Одна папка», введите расположение, в котором требуется восстановить данные, или нажмите кнопку «Обзор» и выберите расположение.
-
Нажмите кнопку Начать восстановление.
-
На отображемой странице подтверждения восстановления нажмите кнопку «Дополнительно», если хотите задать дополнительные параметры восстановления, а затем нажмите кнопку «ОК».
-
Нажмите кнопку «ОК», чтобы начать операцию восстановления.
Восстановление резервных копий данных с помощью мастера восстановления
- Нажмите кнопку «Пуск», выберите пункт «Все программы», «Аксессуары», «Системные инструменты» и «Резервное копирование». Запустится мастер резервного копирования или восстановления.
- Щелкните «Расширенный режим».
- На вкладке приветствия щелкните мастер восстановления (дополнительно). Запустится мастер восстановления. Нажмите кнопку «Далее».
- В окне «Элементы для восстановления» разверните нужный носитель, установите флажки рядом с дисками, папками или файлами, которые требуется восстановить, и нажмите кнопку «Далее».
- Проверьте параметры, отображаемые на странице » Завершение работы мастера восстановления». Если вы хотите указать дополнительные параметры резервного копирования, нажмите кнопку «Дополнительно», укажите нужные параметры и нажмите кнопку «ОК».
- Нажмите кнопку «Готово».
Проблемы с заданием резервного копирования в Always On средах
При возникновении проблем, влияющих на задания резервного копирования или планы обслуживания в Always On средах, обратите внимание на следующее:
- По умолчанию для параметра автоматического резервного копирования задано значение «Предпочитать вторичный». Это указывает, что резервное копирование должно выполняться на вторичной реплике, за исключением случаев, когда первичная реплика является единственным репликой в сети. С помощью этого параметра нельзя создавать разностные резервные копии базы данных. Чтобы изменить этот параметр, используйте SSMS в текущей первичной реплике и перейдите на страницу «Параметры резервного копирования» в разделе «Свойства» группы доступности.
- Если вы используете план обслуживания или запланированные задания для создания резервных копий баз данных, обязательно создайте задания для каждой базы данных доступности на каждом экземпляре сервера, на котором размещена реплика доступности для группы доступности.
Дополнительные сведения о резервном копировании в среде Always On см. в следующих разделах:
- Настройка резервных копий на вторичных репликах Always On группы доступности
- Разгрузка поддерживаемых резервных копий на вторичные реплики группы доступности
SQL Server Configuration Tips
Veeam Backup & Replication does not require any specific settings on the SQL Server in order to utilize the capabilities of Veeam Explorer for SharePoint or SQL.
Both local and remote SQL Servers can be used for staging purposes, the corresponding requirements are detailed on Veeam Helpcenter and can be found through the following links:
- Veeam Explorer for Microsoft SharePoint
- Veeam Explorer for Microsoft SQL Server
Tip:
- Enable and configure all features used by production databases.
- When possible use the highest license level and latest version and cumulative update level installed in any VM.
- Using an older version of SQL Server for the configuration database than running in a protected VM may result in warnings in job session logs when such VMs are processed.
If you plan to restore encrypted databases with Veeam Explorer for Microsoft SQL Server or SharePoint you will need a valid encryption certificate on the staging Microsoft SQL Server.
Follow Microsoft general recommendations for optimal SQL performance, for example, place the SQL on the fastest disks for best performance.
-
Veeam KB2006 — Restoring encrypted databases
SQL Server Configuration Tips
Veeam Backup & Replication does not require any specific settings on the SQL Server in order to utilize the capabilities of Veeam Explorer for SharePoint or SQL. Both local and remote SQL Servers can be used for staging purposes, the corresponding requirements are detailed on
Veeam Helpcenter should be met:
- Veeam Explorer for Microsoft SharePoint
- Veeam Explorer for Microsoft SQL Server
Tip:
- Enable and configure all features used by production databases.
- When possible use the highest license level and latest version and cumulative update level installed in any VM.
- Using an older version of SQL Server for the configuration database than running in a protected VM may result in warnings in job session logs when such VMs are processed.
If you plan to restore encrypted databases with Veeam Explorer for
Microsoft SQL Server or SharePoint you will need a
valid encryption certificate on the staging Microsoft SQL Server.
Follow Microsoft general recommendations for optimal SQL performance, for example, place the SQL on the fastest disks for best performance.
tSQLt
Фреймворк unit-тестов с открытым исходным кодом. Удобен тем, что во время разработки не придется переключаться между различными инструментами для создания кода и тестов. Сам тест представляет собой хранимую процедуру, имя которой начинается со слова test. Для удобства тесты могут объединяться в классы — схемы SQL Server. Каждый класс может иметь свою процедуру SetUp, которая будет вызываться перед запуском теста. Типичный тест состоит из трех частей: подготовки окружения, выполнения кода и просмотра результатов. Тесты могут изолироваться друг от друга, эта функция реализуется при помощи механизма транзакций. С тестировщика при этом снимается любая работа по очистке. Несколько процедур помогают определить проблемные места в тесте.
На выходе получаем файл в текстовом или XML-формате, поэтому можем его легко интегрировать с другим инструментом. Для сравнения ожидаемых и полученных результатов работы тестируемого кода используется набор процедур Assert*, что делает тест более читабельным и похожим на привычные unit-тесты. Естественно, можно использовать свой собственный код для сравнения результатов и ожиданий, вызывая процедуру tSQLt.Fail с описанием ошибки, если тест не пройден. Проверяемый код изолируется при помощи поддельных таблиц, представлений и хранимых процедур. При использовании tSQLt следует учитывать, что каждый тест tSQLt оборачивает в транзакцию, если в своей хранимой процедуре уже используются транзакции, это может выдать ошибку.
Перед началом работы с tSQLt необходимо произвести ряд операций: настроить экземпляр SQL Server для работы с CLR и выполнить SQL-скрипт, идущий в архиве. Параметры tSQLt позволяют при запуске выполнить все тесты всех тестовых классов, все тесты класса, конкретные тесты класса или последние выполненные тесты.
К tSQLt есть и удобный интерфейс SQL Test, разработанный сторонней компанией Redgate в виде плагина к SSMS. Правда, он не бесплатен.
Database placement
It is possible to leverage a remote SQL Server as staging server during restores in Veeam Explorer products. There are no specific edition requirements for neither SQL Express, Standard or Enterprise instance of SQL Server installed locally on the backup server. It is still recommended to run the SQL Server locally (when resource and planning allow) on the backup server for lowest latency and highest performance.
There may still be scenarios where a remote SQL Server is the better choice:
- High Availability — SQL Clustering and AlwaysOn Availability Group on external SQL Servers can be used for configuration database high availability. Please refer to the following KB article for the configuration details
- Licensing — Some enterprises have dedicated virtual clusters for SQL Server due to licensing constraints. In such cases, you may place the Veeam configuration database on existing instances to lower the overall TCO