Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Вы можете воспользоваться зеркальной базой данных, которая поддерживается для целей доступности для разгрузки отчетов. Чтобы использовать зеркальную базу данных для создания отчетов, можно создать моментальный снимок базы данных в зеркальной базе данных и направить запросы на подключение клиента к последнему моментальному снимку. Моментальный снимок базы данных — это статичный, доступный только для чтения и транзакционно согласованный снимок исходной базы данных, каким он был в момент создания снимка. Чтобы создать моментальный снимок базы данных в зеркальной базе данных, база данных должна находиться в синхронизированном состоянии зеркального отображения.
В отличие от самой зеркальной базы данных, снимок состояния базы данных доступен клиентам. Если зеркальный сервер взаимодействует с основным сервером, вы можете направлять клиенты отчетов для подключения к моментальному снимку. Обратите внимание, что, поскольку моментальный снимок базы данных является статическим, новые данные недоступны. Чтобы сделать относительно недавние данные доступными для пользователей, необходимо периодически создать новый моментальный снимок базы данных и иметь приложения, которые направляют входящие клиентские подключения к последнему моментальному снимку.
Новый моментальный снимок базы данных почти пуст, но он растет с течением времени, так как все больше и больше страниц базы данных обновляются в первый раз. Поскольку каждый моментальный снимок базы данных увеличивается по мере необходимости таким образом, каждый моментальный снимок базы данных потребляет столько же ресурсов, сколько обычная база данных. В зависимости от конфигураций зеркального сервера и основного сервера, при наличии чрезмерного количества моментальных снимков базы данных в зеркальной базе данных может снизиться производительность основной базы данных. Поэтому рекомендуется хранить только несколько относительно последних моментальных снимков в зеркальных базах данных. Как правило, после создания моментального снимка замены следует перенаправить входящие запросы на новый моментальный снимок и удалить предыдущий моментальный снимок после завершения любых текущих запросов.
Замечание
Дополнительные сведения о моментальных снимках баз данных см. в разделе Моментальные снимки базы данных (SQL Server).
При переключении ролей база данных и ее моментальные снимки перезапускаются, временно отключая пользователей. После этого моментальные снимки базы данных остаются на экземпляре сервера, где они были созданы, и становятся новой основной базой данных. Пользователи могут продолжать использовать моментальные снимки после переключения на резервный. Однако это помещает дополнительную нагрузку на новый основной сервер. Если производительность вызывает беспокойство в вашей системе, рекомендуется создать новый моментальный снимок в зеркальной базе данных, когда он станет доступным, перенаправить клиентов на новый моментальный снимок и удалить все моментальные снимки базы данных из предыдущей зеркальной базы данных.
Замечание
Для выделенного решения для создания отчетов, которое хорошо масштабируется, рассмотрите возможность репликации. Для получения дополнительной информации см. Репликация SQL Server.
Пример
В этом примере создаются моментальные снимки в зеркальной базе данных.
Предположим, что база данных сеанса зеркального отображения базы данных — AdventureWorks2012. В этом примере создаются три моментальных снимка базы данных на зеркальной копии AdventureWorks базы данных, которая находится на F диске. Моментальные снимки называются AdventureWorks_0600, AdventureWorks_1200 и AdventureWorks_1800 для определения их приблизительного времени создания.
Создайте первый моментальный снимок базы данных в зеркале AdventureWorks2012.
CREATE DATABASE AdventureWorks_0600 ON (NAME = 'datafile', FILENAME = 'F:\AdventureWorks_0600.SNP') AS SNAPSHOT OF AdventureWorks2012Создайте второй моментальный снимок базы данных в зеркале AdventureWorks2012. Пользователи, которые по-прежнему используют
AdventureWorks_0600, могут продолжать это делать.CREATE DATABASE AdventureWorks_1200 ON (NAME = 'datafile', FILENAME = 'F:\AdventureWorks_1200.SNP') AS SNAPSHOT OF AdventureWorks2012На этом этапе новые клиентские подключения можно направлять программно на последний снимок состояния.
Создайте третий снимок на зеркале AdventureWorks2012. Пользователи, которые по-прежнему используют
AdventureWorks_0600илиAdventureWorks_1200могут продолжать использовать их.CREATE DATABASE AdventureWorks_1800 ON (NAME = 'datafile', FILENAME = 'F:\AdventureWorks_1800.SNP') AS SNAPSHOT OF AdventureWorks2012На этом этапе новые клиентские подключения можно программно направлять на последний моментальный снимок.
Связанные задачи
См. также
Снимки состояния базы данных (SQL Server)
Подключение клиентов к сеансу зеркального отображения базы данных (SQL Server)