HTML Diff
0 added 0 removed
Original 2026-01-01
Modified 2026-03-10
1 <ul><li><a>Зачем это нужно</a></li>
1 <ul><li><a>Зачем это нужно</a></li>
2 <li><a>Способы создания</a><ul><li><a>MS SQL Management Studio</a></li>
2 <li><a>Способы создания</a><ul><li><a>MS SQL Management Studio</a></li>
3 <li><a>Командная строка (sqlcmd)</a></li>
3 <li><a>Командная строка (sqlcmd)</a></li>
4 <li><a>PowerShell</a></li>
4 <li><a>PowerShell</a></li>
5 </ul></li>
5 </ul></li>
6 <li><a>Типы резервного копирования</a><ul><li><a>Полное копирование (Full Backup)</a><ul><li><a>Полное копирование в SSMS</a></li>
6 <li><a>Типы резервного копирования</a><ul><li><a>Полное копирование (Full Backup)</a><ul><li><a>Полное копирование в SSMS</a></li>
7 <li><a>Полное копирование с помощью T-SQL</a></li>
7 <li><a>Полное копирование с помощью T-SQL</a></li>
8 <li><a>Полное копирование с помощью PowerShell</a></li>
8 <li><a>Полное копирование с помощью PowerShell</a></li>
9 </ul></li>
9 </ul></li>
10 <li><a>Дифференциальное (разностное) копирование</a></li>
10 <li><a>Дифференциальное (разностное) копирование</a></li>
11 <li><a>Другие виды</a></li>
11 <li><a>Другие виды</a></li>
12 </ul></li>
12 </ul></li>
13 <li><a>Срок действия</a></li>
13 <li><a>Срок действия</a></li>
14 <li><a>Путь расположения</a></li>
14 <li><a>Путь расположения</a></li>
15 <li><a>Общие советы</a></li>
15 <li><a>Общие советы</a></li>
16 </ul><p>Резервному копированию баз данных в MS SQL отводится огромное значение. Правильно настроенное, оно поможет уберечь базу данных от повреждений и даже потери. Уделите несколько минут прочтению статьи и напомните (или узнайте) важные аспекты работы по бэкапам, а также как грамотно настроить в MS SQL Server резервное копирование баз данных. Это оградит от многих проблем.</p>
16 </ul><p>Резервному копированию баз данных в MS SQL отводится огромное значение. Правильно настроенное, оно поможет уберечь базу данных от повреждений и даже потери. Уделите несколько минут прочтению статьи и напомните (или узнайте) важные аспекты работы по бэкапам, а также как грамотно настроить в MS SQL Server резервное копирование баз данных. Это оградит от многих проблем.</p>
17 <h2>Зачем это нужно</h2>
17 <h2>Зачем это нужно</h2>
18 <p>Грамотная отладка резервного копирования баз данных (БД) очень важна. Она помогает сохранить БД в случае каких-либо сбоев (программных, технических и т.д.), повреждений или разрушений в месте хранения. Особенно важно делать копии баз данных владельцам собственных онлайн-проектов, размещенных их на хостинге у провайдера. Бэкап станет "спасательным кругом" на тот случай, если будут утрачены важные данные.</p>
18 <p>Грамотная отладка резервного копирования баз данных (БД) очень важна. Она помогает сохранить БД в случае каких-либо сбоев (программных, технических и т.д.), повреждений или разрушений в месте хранения. Особенно важно делать копии баз данных владельцам собственных онлайн-проектов, размещенных их на хостинге у провайдера. Бэкап станет "спасательным кругом" на тот случай, если будут утрачены важные данные.</p>
19 <p>Специалисты рекомендуют настраивать регулярное копирование, используя различные его типы. Лучше всего сохранять копии за последние семь дней.</p>
19 <p>Специалисты рекомендуют настраивать регулярное копирование, используя различные его типы. Лучше всего сохранять копии за последние семь дней.</p>
20 <p>Пользователь должен понимать, что механизмы резервного копирования БД не смогут выполнять его онлайн, в реальном времени. Для достижения этих целей существуют иные технологии.</p>
20 <p>Пользователь должен понимать, что механизмы резервного копирования БД не смогут выполнять его онлайн, в реальном времени. Для достижения этих целей существуют иные технологии.</p>
21 <h2>Способы создания</h2>
21 <h2>Способы создания</h2>
22 <p>В MS SQL Server резервные копии можно создавать несколькими способами. Рассмотрим используемые инструменты:</p>
22 <p>В MS SQL Server резервные копии можно создавать несколькими способами. Рассмотрим используемые инструменты:</p>
23 <h3>MS SQL Management Studio</h3>
23 <h3>MS SQL Management Studio</h3>
24 <p>Графический интерфейс SSMS прекрасно подходит для разовых операций. Он может применяться к различным базам данных.</p>
24 <p>Графический интерфейс SSMS прекрасно подходит для разовых операций. Он может применяться к различным базам данных.</p>
25 <p>Для этого необходимо:</p>
25 <p>Для этого необходимо:</p>
26 <ol><li>Открыть MS SQL Management Studio. Выбрать БД, которая будет копироваться и кликнуть по ней правой кнопкой мыши. Выбрать Задачи, после чего - Создать резервную копию.</li>
26 <ol><li>Открыть MS SQL Management Studio. Выбрать БД, которая будет копироваться и кликнуть по ней правой кнопкой мыши. Выбрать Задачи, после чего - Создать резервную копию.</li>
27 <li>Откроется окошко, в котором необходимо оставить полный тип копий и прописать путь к резервному файлу. Если возникла необходимость - путь можно изменить, удалить, создать новый. Файл можно сохранить как на локальном диске, так и на сетевом.</li>
27 <li>Откроется окошко, в котором необходимо оставить полный тип копий и прописать путь к резервному файлу. Если возникла необходимость - путь можно изменить, удалить, создать новый. Файл можно сохранить как на локальном диске, так и на сетевом.</li>
28 <li>После успешного окончания процесса появится уведомление об этом.</li>
28 <li>После успешного окончания процесса появится уведомление об этом.</li>
29 </ol><h3>Командная строка (sqlcmd)</h3>
29 </ol><h3>Командная строка (sqlcmd)</h3>
30 <p>Создание бэкапов с помощью командной строки sqlcmd используется для автоматизированного копирования любых данных. Может применяться в Windows и Linux.</p>
30 <p>Создание бэкапов с помощью командной строки sqlcmd используется для автоматизированного копирования любых данных. Может применяться в Windows и Linux.</p>
31 <p>Для данного способа понадобится утилита sqlcmd:</p>
31 <p>Для данного способа понадобится утилита sqlcmd:</p>
32 <p>sqlcmd -S &lt;server&gt; -U &lt;user&gt; -P &lt;password&gt; -Q "BACKUP DATABASE [&lt;database&gt;] TO DISK = N'&lt;file path&gt;' &lt;options&gt;"</p>
32 <p>sqlcmd -S &lt;server&gt; -U &lt;user&gt; -P &lt;password&gt; -Q "BACKUP DATABASE [&lt;database&gt;] TO DISK = N'&lt;file path&gt;' &lt;options&gt;"</p>
33 <p>Чтобы автоматизировать скрипт, следует воспользоваться планировщиком. В нем необходимо создать задание по его запуску согласно расписанию.</p>
33 <p>Чтобы автоматизировать скрипт, следует воспользоваться планировщиком. В нем необходимо создать задание по его запуску согласно расписанию.</p>
34 <h3>PowerShell</h3>
34 <h3>PowerShell</h3>
35 <p>Создание бэкапов с помощью PowerShell может использоваться только на новых системах, т.к. на старых он не доступен. Специалисты рекомендуют использовать именно этот способ резервирования данных.</p>
35 <p>Создание бэкапов с помощью PowerShell может использоваться только на новых системах, т.к. на старых он не доступен. Специалисты рекомендуют использовать именно этот способ резервирования данных.</p>
36 <p>Для бэкапа необходимо импортировать модуль import-module sqlps -DisableNameChecking.</p>
36 <p>Для бэкапа необходимо импортировать модуль import-module sqlps -DisableNameChecking.</p>
37 <p>Можно воспользоваться синтаксисом: Backup-SqlDatabase -ServerInstance &lt;имя SQL сервера&gt; -Database &lt;имя базы&gt; -BackupFile &lt;путь к файлу с резервной копией&gt;</p>
37 <p>Можно воспользоваться синтаксисом: Backup-SqlDatabase -ServerInstance &lt;имя SQL сервера&gt; -Database &lt;имя базы&gt; -BackupFile &lt;путь к файлу с резервной копией&gt;</p>
38 <p>Как и в предыдущем способе, для запуска скрипта по графику, его следует размещать в планировщике.</p>
38 <p>Как и в предыдущем способе, для запуска скрипта по графику, его следует размещать в планировщике.</p>
39 <h2>Типы резервного копирования</h2>
39 <h2>Типы резервного копирования</h2>
40 <p>В Microsoft SQL Server принята практика разных типов резервного копирования. Пользователям доступно:</p>
40 <p>В Microsoft SQL Server принята практика разных типов резервного копирования. Пользователям доступно:</p>
41 <ul><li>полное - делается резервная копия всей БД. Может выполняться различными способами;</li>
41 <ul><li>полное - делается резервная копия всей БД. Может выполняться различными способами;</li>
42 <li>дифференциальное или разностное - осуществляется копирование данных с того момента, когда осуществлялось ее последнее полное резервирование. Осуществляется специальной командой с добавлением опции DIFFERENTIAL;</li>
42 <li>дифференциальное или разностное - осуществляется копирование данных с того момента, когда осуществлялось ее последнее полное резервирование. Осуществляется специальной командой с добавлением опции DIFFERENTIAL;</li>
43 <li>логов или инкрементальное.</li>
43 <li>логов или инкрементальное.</li>
44 </ul><p>Рассмотрим их подробнее.</p>
44 </ul><p>Рассмотрим их подробнее.</p>
45 <h3>Полное копирование (Full Backup)</h3>
45 <h3>Полное копирование (Full Backup)</h3>
46 <p>В SQL Server под полным копированием (Full Backup) понимают создание полной резервной БД, включая все данные и объекты системных таблиц. Полный бэкап не усекает (truncate) журнала транзакций. Она является основным типом создания бэкапов, которое должно предшествовать любому типами резервирования.</p>
46 <p>В SQL Server под полным копированием (Full Backup) понимают создание полной резервной БД, включая все данные и объекты системных таблиц. Полный бэкап не усекает (truncate) журнала транзакций. Она является основным типом создания бэкапов, которое должно предшествовать любому типами резервирования.</p>
47 <p>Полный бэкап выполняется с помощью различных инструментов (SSMS, T-SQL, PowerShell). Восстановить базу можно всего за один шаг, т.к. для этого не потребуется иных копий (разностных или инкрементальных).</p>
47 <p>Полный бэкап выполняется с помощью различных инструментов (SSMS, T-SQL, PowerShell). Восстановить базу можно всего за один шаг, т.к. для этого не потребуется иных копий (разностных или инкрементальных).</p>
48 <p>Для полного копирования данных действует ряд ограничений:</p>
48 <p>Для полного копирования данных действует ряд ограничений:</p>
49 <ul><li>Если оно производилось поздними версиями SQL Server, то такие копии невозможно восстановить в более ранних версиях.</li>
49 <ul><li>Если оно производилось поздними версиями SQL Server, то такие копии невозможно восстановить в более ранних версиях.</li>
50 <li>В транзакциях, как в явных, так и неявных, инструкция BACKUP недопустима.</li>
50 <li>В транзакциях, как в явных, так и неявных, инструкция BACKUP недопустима.</li>
51 </ul><p>Советы специалистов:</p>
51 </ul><p>Советы специалистов:</p>
52 <ul><li>С ростом объемов БД полный бэкап может требовать не только большего времени на выполнение операции, но и увеличения места на дисковом пространстве. Потому для больших баз данных рекомендуется проводить не только полное, но и дифференциальное копирование. Но стоит помнить, что прежде чем запускать его либо начинать формирование резервных копий журнала транзакций, следует осуществить хотя бы один полный бэкап данных.</li>
52 <ul><li>С ростом объемов БД полный бэкап может требовать не только большего времени на выполнение операции, но и увеличения места на дисковом пространстве. Потому для больших баз данных рекомендуется проводить не только полное, но и дифференциальное копирование. Но стоит помнить, что прежде чем запускать его либо начинать формирование резервных копий журнала транзакций, следует осуществить хотя бы один полный бэкап данных.</li>
53 <li>Системная хранимая процедура sp_spaceused поможет узнать размеры полного бэкапа базы данных.</li>
53 <li>Системная хранимая процедура sp_spaceused поможет узнать размеры полного бэкапа базы данных.</li>
54 <li>Все операции копирования, завершившиеся удачно, заканчиваются добавлением записи в журналы: системных событий и ошибок служб SQL Server. Частое формирование таких копий ведет к накапливанию подобных записей. Это чревато увеличением размеров журналов и затрудняет поиск иных сообщений. Потому, в тех случаях, когда записи журналов не влияют на эффективность скриптов, их можно вообще отключить. Для этого следует воспользоваться флажком трассировки 3226.</li>
54 <li>Все операции копирования, завершившиеся удачно, заканчиваются добавлением записи в журналы: системных событий и ошибок служб SQL Server. Частое формирование таких копий ведет к накапливанию подобных записей. Это чревато увеличением размеров журналов и затрудняет поиск иных сообщений. Потому, в тех случаях, когда записи журналов не влияют на эффективность скриптов, их можно вообще отключить. Для этого следует воспользоваться флажком трассировки 3226.</li>
55 </ul><p>Вопросы безопасности:</p>
55 </ul><p>Вопросы безопасности:</p>
56 <ul><li>Свойству TRUSTWORTHY в процессе создания резервной копии базы будет присвоено значение OFF.</li>
56 <ul><li>Свойству TRUSTWORTHY в процессе создания резервной копии базы будет присвоено значение OFF.</li>
57 <li>В версиях, начиная с SQL Server 2012 (11.x) и более поздних, не поддерживаются параметры PASSWORD и MEDIAPASSWORD. Но восстановление копий с паролями доступно.</li>
57 <li>В версиях, начиная с SQL Server 2012 (11.x) и более поздних, не поддерживаются параметры PASSWORD и MEDIAPASSWORD. Но восстановление копий с паролями доступно.</li>
58 </ul><p>Для пользователей, имеющих роли sysadmin, db_owner, db_backupoperator, по умолчанию доступны BACKUP DATABASE и BACKUP LOG. Помешать выполнению резервирования могут проблемы как с владельцем, так и с разрешениями у физических файлов на устройстве.</p>
58 </ul><p>Для пользователей, имеющих роли sysadmin, db_owner, db_backupoperator, по умолчанию доступны BACKUP DATABASE и BACKUP LOG. Помешать выполнению резервирования могут проблемы как с владельцем, так и с разрешениями у физических файлов на устройстве.</p>
59 <h4>Полное копирование в SSMS</h4>
59 <h4>Полное копирование в SSMS</h4>
60 <p>Создавая задачу в MSSQL Server Management Studio, можно сформировать соответствующий скрипт T-SQL BACKUP. Для этого следует нажать кнопку Скрипт, а затем указать его назначение.</p>
60 <p>Создавая задачу в MSSQL Server Management Studio, можно сформировать соответствующий скрипт T-SQL BACKUP. Для этого следует нажать кнопку Скрипт, а затем указать его назначение.</p>
61 <ol><li>Когда в SQL Server компонент Database Engine подключится к нужному экземпляру Microsoft, следует развернуть в обозревателе дерево сервера.</li>
61 <ol><li>Когда в SQL Server компонент Database Engine подключится к нужному экземпляру Microsoft, следует развернуть в обозревателе дерево сервера.</li>
62 <li>Если нужна пользовательская база данных, то следует развернуть узел База данных. Если потребуется обозначить системную БД - развернуть соответствующий узел.</li>
62 <li>Если нужна пользовательская база данных, то следует развернуть узел База данных. Если потребуется обозначить системную БД - развернуть соответствующий узел.</li>
63 <li>Отобрав базу данных, которая будет копироваться, щелкнуть на ней мышкой, выбрать Задачи и затем команду Создать резервную копию… .</li>
63 <li>Отобрав базу данных, которая будет копироваться, щелкнуть на ней мышкой, выбрать Задачи и затем команду Создать резервную копию… .</li>
64 <li>В появившемся окошке отобранная БД будет приведена в виде раскрывающегося списка. При необходимости, она может быть изменена на любую другую базу данных.</li>
64 <li>В появившемся окошке отобранная БД будет приведена в виде раскрывающегося списка. При необходимости, она может быть изменена на любую другую базу данных.</li>
65 <li>В раскрывшемся списке Тип резервной копии следует выбрать необходимый вариант. По умолчанию выбран тип Полная.</li>
65 <li>В раскрывшемся списке Тип резервной копии следует выбрать необходимый вариант. По умолчанию выбран тип Полная.</li>
66 <li>В разделе Компонент резервного копирования выбрать База данных.</li>
66 <li>В разделе Компонент резервного копирования выбрать База данных.</li>
67 <li>Произвести проверку, куда сохраняются файлы по умолчанию в разделе Назначение (в папке ../mssql/data).</li>
67 <li>Произвести проверку, куда сохраняются файлы по умолчанию в разделе Назначение (в папке ../mssql/data).</li>
68 </ol><p>Для выбора иного устройства можно воспользоваться раскрывающимся списком Создать резервную копию на. Для добавления объектов резервного копирования и/или целевых объектов, необходимо щелкнуть Добавить. Для увеличения скорости можно копии распределить между набором файлов.</p>
68 </ol><p>Для выбора иного устройства можно воспользоваться раскрывающимся списком Создать резервную копию на. Для добавления объектов резервного копирования и/или целевых объектов, необходимо щелкнуть Добавить. Для увеличения скорости можно копии распределить между набором файлов.</p>
69 <p>Для просмотра содержимого, созданного ранее целевого объекта копирования, его необходимо выделить и кликнуть Содержимое. А для удаления такого объекта - кликнуть Удалить.</p>
69 <p>Для просмотра содержимого, созданного ранее целевого объекта копирования, его необходимо выделить и кликнуть Содержимое. А для удаления такого объекта - кликнуть Удалить.</p>
70 <ul><li>При необходимости следует проверить все параметры, которые доступны на страницах параметров: носителя и резервного копирования.</li>
70 <ul><li>При необходимости следует проверить все параметры, которые доступны на страницах параметров: носителя и резервного копирования.</li>
71 <li>Кликните ОК для запуска процесса</li>
71 <li>Кликните ОК для запуска процесса</li>
72 <li>При успешном завершении бэкапа необходимо закрыть появившееся диалоговое окно, кликнув ОК.</li>
72 <li>При успешном завершении бэкапа необходимо закрыть появившееся диалоговое окно, кликнув ОК.</li>
73 </ul><p>Когда полный бэкап БД сделан, можно выполнять иные типы резервирования: дифференциальные и журналов транзакций. Когда резервное копирование выполняется на url-адрес на странице Параметры носителя, недоступным будет параметр Перезаписать носитель.</p>
73 </ul><p>Когда полный бэкап БД сделан, можно выполнять иные типы резервирования: дифференциальные и журналов транзакций. Когда резервное копирование выполняется на url-адрес на странице Параметры носителя, недоступным будет параметр Перезаписать носитель.</p>
74 <h4>Полное копирование с помощью T-SQL</h4>
74 <h4>Полное копирование с помощью T-SQL</h4>
75 <p>Для выполнения полного бэкапа базы данных с помощью Transact-SQL, необходимо выполнить соответствующие инструкции BACKUP DATABASE и указать:</p>
75 <p>Для выполнения полного бэкапа базы данных с помощью Transact-SQL, необходимо выполнить соответствующие инструкции BACKUP DATABASE и указать:</p>
76 <ul><li>наименование БД для формирования копии;</li>
76 <ul><li>наименование БД для формирования копии;</li>
77 <li>устройство, куда будут сохраняться скопированные данные.</li>
77 <li>устройство, куда будут сохраняться скопированные данные.</li>
78 </ul><p>Базовая структура синтаксиса T-SQL для создания полной копии БД выглядит следующим образом:</p>
78 </ul><p>Базовая структура синтаксиса T-SQL для создания полной копии БД выглядит следующим образом:</p>
79 <p>BACKUP DATABASE database TO backup_device [ , …n ] [WITH with_options [ , …o ] ] ;</p>
79 <p>BACKUP DATABASE database TO backup_device [ , …n ] [WITH with_options [ , …o ] ] ;</p>
80 <p>Расшифровка:</p>
80 <p>Расшифровка:</p>
81 <ul><li>database - база данных, которая будет копироваться;</li>
81 <ul><li>database - база данных, которая будет копироваться;</li>
82 <li>backup_device [ , …n ] - показывает список устройств, которые будут использованы для резервирования. Может указываться как физическое (когда используются параметры DISK/ TAPE), так и логическое устройство (если оно определено);</li>
82 <li>backup_device [ , …n ] - показывает список устройств, которые будут использованы для резервирования. Может указываться как физическое (когда используются параметры DISK/ TAPE), так и логическое устройство (если оно определено);</li>
83 <li>[WITH with_options [ , …o ] ] - указывает необходимое число параметров, o.</li>
83 <li>[WITH with_options [ , …o ] ] - указывает необходимое число параметров, o.</li>
84 </ul><p>При необходимости следует указать нужное количество параметров WITH.</p>
84 </ul><p>При необходимости следует указать нужное количество параметров WITH.</p>
85 <p>Резервная копия, созданная по команде BACKUP, сохраняется по умолчанию в набор носителей, созданный ранее. Все копии, созданные до этого, сохраняются. С помощью параметра NOINIT можно явно задать значение.</p>
85 <p>Резервная копия, созданная по команде BACKUP, сохраняется по умолчанию в набор носителей, созданный ранее. Все копии, созданные до этого, сохраняются. С помощью параметра NOINIT можно явно задать значение.</p>
86 <p>Для форматирования носителя копии используется параметр FORMAT в следующем предложении:</p>
86 <p>Для форматирования носителя копии используется параметр FORMAT в следующем предложении:</p>
87 <p>FORMAT [ , MEDIANAME = { media_name | @ media_name_variable } ] [ , MEDIADESCRIPTION = { text | @ text_variable } ]</p>
87 <p>FORMAT [ , MEDIANAME = { media_name | @ media_name_variable } ] [ , MEDIADESCRIPTION = { text | @ text_variable } ]</p>
88 <p>Он может использоваться при первичном обращении к носителю либо в том случае, когда требуется сделать перезапись всех данных, созданные ранее. Если потребуется, то можно новому носителю присвоить наименование и описание.</p>
88 <p>Он может использоваться при первичном обращении к носителю либо в том случае, когда требуется сделать перезапись всех данных, созданные ранее. Если потребуется, то можно новому носителю присвоить наименование и описание.</p>
89 <p>Однако при использовании в инструкции BACKUP предложения FORMAT следует проявить крайнюю осторожность. Неправильное использование этого предложения удалит все наборы, которые ранее были созданы и хранились на носителе.</p>
89 <p>Однако при использовании в инструкции BACKUP предложения FORMAT следует проявить крайнюю осторожность. Неправильное использование этого предложения удалит все наборы, которые ранее были созданы и хранились на носителе.</p>
90 <h4>Полное копирование с помощью PowerShell</h4>
90 <h4>Полное копирование с помощью PowerShell</h4>
91 <p>Чтобы создать полный бэкап в PowerShell, следует использовать командлет (упрощенную команду) Backup-SqlDatabase. Чтобы отметить, что эта резервная копия является полной, необходимо задать параметр BackupAction вместе с Database (оно применяется по умолчанию). Этот параметр не относится к обязательным при полном резервировании БД.</p>
91 <p>Чтобы создать полный бэкап в PowerShell, следует использовать командлет (упрощенную команду) Backup-SqlDatabase. Чтобы отметить, что эта резервная копия является полной, необходимо задать параметр BackupAction вместе с Database (оно применяется по умолчанию). Этот параметр не относится к обязательным при полном резервировании БД.</p>
92 <p>Для использования PowerShell понадобится специальный модуль SqlServer. Выполнение команды Get-Module-Name SqlServer поможет выяснить - установлен модуль либо нет. Для установки модуля понадобится в сеансе PowerShell на правах администратора выполнить команду Install-Module-Name SqlServer.</p>
92 <p>Для использования PowerShell понадобится специальный модуль SqlServer. Выполнение команды Get-Module-Name SqlServer поможет выяснить - установлен модуль либо нет. Для установки модуля понадобится в сеансе PowerShell на правах администратора выполнить команду Install-Module-Name SqlServer.</p>
93 <p>Открывая PowerShell из SSMS, чтобы подключиться к SQL Server, не потребуются учетных данных. В них нет необходимости, т.к. для подключения между PowerShell и SQL Server используются учетные данные пользователя в SQL Server Management Studio.</p>
93 <p>Открывая PowerShell из SSMS, чтобы подключиться к SQL Server, не потребуются учетных данных. В них нет необходимости, т.к. для подключения между PowerShell и SQL Server используются учетные данные пользователя в SQL Server Management Studio.</p>
94 <h3>Дифференциальное (разностное) копирование</h3>
94 <h3>Дифференциальное (разностное) копирование</h3>
95 <p>Выборочное резервное копирование данных, появившихся после последнего полного бэкапа называется дифференциальным либо разностным. Оно полностью основывается на последней полного резервного набора.</p>
95 <p>Выборочное резервное копирование данных, появившихся после последнего полного бэкапа называется дифференциальным либо разностным. Оно полностью основывается на последней полного резервного набора.</p>
96 <p>Потому разностные резервные бэкапы могут использоваться только вместе с полной. Без последней, восстановление разностного бэкапа становится невозможным.</p>
96 <p>Потому разностные резервные бэкапы могут использоваться только вместе с полной. Без последней, восстановление разностного бэкапа становится невозможным.</p>
97 <p>Советы по использованию дифференциальных бэкапов базы данных:</p>
97 <p>Советы по использованию дифференциальных бэкапов базы данных:</p>
98 <ol><li>Их следует использовать в тех случаях, когда на создание полного требуется много времени.</li>
98 <ol><li>Их следует использовать в тех случаях, когда на создание полного требуется много времени.</li>
99 <li>Для уменьшения объемов созданных дифференциальных бэкапов, необходимо делать полный.</li>
99 <li>Для уменьшения объемов созданных дифференциальных бэкапов, необходимо делать полный.</li>
100 <li>После формирования полного бэкапа данных, все дифференциальные копии, сделанные ранее, становятся не актуальными.</li>
100 <li>После формирования полного бэкапа данных, все дифференциальные копии, сделанные ранее, становятся не актуальными.</li>
101 </ol><p>При использовании дифференциального копирования рекомендуется придерживаться следующего плана его организации:</p>
101 </ol><p>При использовании дифференциального копирования рекомендуется придерживаться следующего плана его организации:</p>
102 <ul><li>полное осуществляется раз в определенное количество дней;</li>
102 <ul><li>полное осуществляется раз в определенное количество дней;</li>
103 <li>разностное - каждый раз спустя определенное количество часов.</li>
103 <li>разностное - каждый раз спустя определенное количество часов.</li>
104 </ul><p>В том случае, когда оборот данных в день довольно высок, вышеприведенный план окажется неприменим, т.к. его реализация будет занимать много места на дисковом пространстве. К примеру, если вес полного бэкапа составляет 280 GB, а дифференциального, спустя 60 минут, - 4 GB, то по истечению суток вес дифференциальных наборов уже составит 96 GB. Потому, в приведенном примере использование дифференциального резервирования не оправданно.</p>
104 </ul><p>В том случае, когда оборот данных в день довольно высок, вышеприведенный план окажется неприменим, т.к. его реализация будет занимать много места на дисковом пространстве. К примеру, если вес полного бэкапа составляет 280 GB, а дифференциального, спустя 60 минут, - 4 GB, то по истечению суток вес дифференциальных наборов уже составит 96 GB. Потому, в приведенном примере использование дифференциального резервирования не оправданно.</p>
105 <h3>Другие виды</h3>
105 <h3>Другие виды</h3>
106 <p>Кроме вышеперечисленных, существуют иные виды копирования:</p>
106 <p>Кроме вышеперечисленных, существуют иные виды копирования:</p>
107 <ul><li>При резервном копировании журнала транзакций выполняется копирование всех транзакций, которые имели место после выполнения предыдущего резервного копирования. После этого происходит урезание журнала, для освобождения дисковое пространство. Этот вид копирования относится к инкрементальному. Для полной модели восстановления необходима вся последовательность резервных наборов, начиная с полной.</li>
107 <ul><li>При резервном копировании журнала транзакций выполняется копирование всех транзакций, которые имели место после выполнения предыдущего резервного копирования. После этого происходит урезание журнала, для освобождения дисковое пространство. Этот вид копирования относится к инкрементальному. Для полной модели восстановления необходима вся последовательность резервных наборов, начиная с полной.</li>
108 <li>Бэкап Tail-Log, хоть и выделен отдельно, по сути является простой операцией, описанной в предыдущем пункте с опцией NORECOVERY. Его следует выполнять накануне восстановления копии журнала транзакций. Это позволит не упустить те транзакции, которые происходили после крайнего копирования до текущего момента.</li>
108 <li>Бэкап Tail-Log, хоть и выделен отдельно, по сути является простой операцией, описанной в предыдущем пункте с опцией NORECOVERY. Его следует выполнять накануне восстановления копии журнала транзакций. Это позволит не упустить те транзакции, которые происходили после крайнего копирования до текущего момента.</li>
109 <li>Бэкап Copy-only (создание резервной копии только для копирования) не является базовой ни для разностных, ни для копий журнала транзакций. Создание Copy-only применяется лишь когда необходимо снять полную резервную копию, не задев текущей цепочки резервных копий. Именно эти нюансы и отличают Copy-only от стандартного полного бэкапа данных.</li>
109 <li>Бэкап Copy-only (создание резервной копии только для копирования) не является базовой ни для разностных, ни для копий журнала транзакций. Создание Copy-only применяется лишь когда необходимо снять полную резервную копию, не задев текущей цепочки резервных копий. Именно эти нюансы и отличают Copy-only от стандартного полного бэкапа данных.</li>
110 <li>Частичное резервное копирование Partial backup применяется не часто. Его основная функция - копирование групп файлов read-only.</li>
110 <li>Частичное резервное копирование Partial backup применяется не часто. Его основная функция - копирование групп файлов read-only.</li>
111 <li>Также применяется резервное копирование отдельных файлов и или их групп.</li>
111 <li>Также применяется резервное копирование отдельных файлов и или их групп.</li>
112 </ul><h2>Срок действия</h2>
112 </ul><h2>Срок действия</h2>
113 <p>Настройка срока действия позволяет показать, через какое время можно будет удалить либо перезаписать резервную копию. Отметим, что данный вид настроек на оказывает влияния на срок восстановления базы. В том случае, когда срок закончился, восстановление базы данных из копии все еще будет возможен.</p>
113 <p>Настройка срока действия позволяет показать, через какое время можно будет удалить либо перезаписать резервную копию. Отметим, что данный вид настроек на оказывает влияния на срок восстановления базы. В том случае, когда срок закончился, восстановление базы данных из копии все еще будет возможен.</p>
114 <p>Выполняется данная настройка в процессе настройки резервного копирования, в основном окне.</p>
114 <p>Выполняется данная настройка в процессе настройки резервного копирования, в основном окне.</p>
115 <h2>Путь расположения</h2>
115 <h2>Путь расположения</h2>
116 <p>По умолчанию, все резервные копии сохраняются в специальный каталог с соответствующим названием. Для просмотра каталога или внесения изменений в него, необходимо:</p>
116 <p>По умолчанию, все резервные копии сохраняются в специальный каталог с соответствующим названием. Для просмотра каталога или внесения изменений в него, необходимо:</p>
117 <ol><li>На корневом разделе SQL Server кликнуть правой кнопкой мышки и выбрать Свойства.</li>
117 <ol><li>На корневом разделе SQL Server кликнуть правой кнопкой мышки и выбрать Свойства.</li>
118 <li>Перейти к разделу Параметры баз данных. В нем опуститься к подразделу Места хранения, используемые базой данных по умолчанию. Именно здесь можно увидеть прописанный путь к месту размещения резервных наборов. Его можно изменить, воспользовавшись кнопкой (…), расположенной справа.</li>
118 <li>Перейти к разделу Параметры баз данных. В нем опуститься к подразделу Места хранения, используемые базой данных по умолчанию. Именно здесь можно увидеть прописанный путь к месту размещения резервных наборов. Его можно изменить, воспользовавшись кнопкой (…), расположенной справа.</li>
119 </ol><h2>Общие советы</h2>
119 </ol><h2>Общие советы</h2>
120 <ol><li>Чтобы проверить успешность бэкапа, можно воспользоваться опцией проверки контрольной суммы BACKUP WITH CHECKSUM. Но для больших баз данных применение опции проблематично, т.к. она способна сильно загрузить систему.</li>
120 <ol><li>Чтобы проверить успешность бэкапа, можно воспользоваться опцией проверки контрольной суммы BACKUP WITH CHECKSUM. Но для больших баз данных применение опции проблематично, т.к. она способна сильно загрузить систему.</li>
121 <li>Бэкапы не следует выполнять на физические диски, где хранятся данные либо журнал транзакций.</li>
121 <li>Бэкапы не следует выполнять на физические диски, где хранятся данные либо журнал транзакций.</li>
122 <li>При использовании версий MS SQL Server 2008 и выше, рекомендуется выполнять сжатие копий БД средствами SQL.</li>
122 <li>При использовании версий MS SQL Server 2008 и выше, рекомендуется выполнять сжатие копий БД средствами SQL.</li>
123 <li>Копии лучше сохранять несколько дней. Если какая-нибудь окажется поврежденной, наличие старой будет как нельзя кстати. По истечении этого времени ненужные файлы с расширением bak следует удалить.</li>
123 <li>Копии лучше сохранять несколько дней. Если какая-нибудь окажется поврежденной, наличие старой будет как нельзя кстати. По истечении этого времени ненужные файлы с расширением bak следует удалить.</li>
124 <li>Перед выполнением копирования рекомендуется проверять базы, воспользовавшись DBCC CHECKDB. Это позволит своевременно получить сообщение о возникновении проблем.</li>
124 <li>Перед выполнением копирования рекомендуется проверять базы, воспользовавшись DBCC CHECKDB. Это позволит своевременно получить сообщение о возникновении проблем.</li>
125 <li>Периодически следует обновлять статистику и реорганизацию индексов БД.</li>
125 <li>Периодически следует обновлять статистику и реорганизацию индексов БД.</li>
126 </ol><p>Как становится понятно, проблем с резервным копированием не должно возникать. Процесс легко настроить с помощью вышеописанных инструментов. Изучайте материал, применяйте на практике. При возникновении вопросов - обязательно задавайте. Делитесь своими мыслями и полезными советами.</p>
126 </ol><p>Как становится понятно, проблем с резервным копированием не должно возникать. Процесс легко настроить с помощью вышеописанных инструментов. Изучайте материал, применяйте на практике. При возникновении вопросов - обязательно задавайте. Делитесь своими мыслями и полезными советами.</p>
127 <a></a><p>Также приглашаем на <a>специальный курс по MS SQL в Otus</a>.</p>
127 <a></a><p>Также приглашаем на <a>специальный курс по MS SQL в Otus</a>.</p>
128  
128