Удаление устройства резервного копирования (SQL Server)
В этом разделе описывается удаление устройства резервного копирования в SQL Server с помощью SQL Server Management Studio или Transact-SQL.
В этом разделе
- Перед началом: Безопасность
- Удаление устройства резервного копирования с помощью:Среда SQL Server Management StudioTransact-SQL
Перед началом
Безопасность
Разрешения
Требует членства в предопределенной роли сервера diskadmin .
Использование среды SQL Server Management Studio
Удаление устройства резервного копирования
- После подключения к соответствующему экземпляру ядра СУБД SQL Server в обозревателе объектов щелкните имя сервера, чтобы развернуть дерево сервера.
- Разверните узел Объекты сервера, затем разверните узел Устройства резервного копирования.
- Щелкните правой кнопкой мыши устройство, которое нужно удалить, и выберите команду Удалить.
- В диалоговом окне Удаление объекта убедитесь, что в столбце Имя объекта отображается нужное имя.
- Щелкните OK.
Использование Transact-SQL
Удаление устройства резервного копирования
- Соединитесь с ядром СУБД .
- На панели «Стандартная» нажмите Создать запрос.
- Скопируйте следующий пример в запрос. В этом примере показано, как использовать инструкцию sp_dropdevice для удаления устройства резервного копирования. Выполните первый пример для создания устройства резервного копирования mybackupdisk и физического имени c:\backup\backup1.bak . Выполните инструкцию sp_dropdevice для удаления устройства резервного копирования mybackupdisk . Параметр delfile удаляет физическое имя.
--Define a backup device and physical name. USE AdventureWorks2022; GO EXEC sp_addumpdevice 'disk', 'mybackupdisk', 'c:\backup\backup1.bak' ; GO --Delete the backup device and the physical name. USE AdventureWorks2022; GO EXEC sp_dropdevice ' mybackupdisk ', 'delfile' ; GO
Отключение управляемого резервного копирования SQL Server в Microsoft Azure
В этом разделе описывается отключение или приостановка управляемого резервного копирования SQL Server в Microsoft Azure на уровнях базы данных и экземпляров.
Отключение управляемого резервного копирования SQL Server в Microsoft Azure для базы данных
Параметры управляемого резервного копирования SQL Server в Microsoft Azure можно отключить с помощью системной хранимой процедуры managed_backup.sp_backup_config_basic (Transact-SQL). Параметр @enable_backup используется для включения и отключения управляемого резервного копирования SQL Server в конфигурации Microsoft Azure для конкретной базы данных, где 1 включает и 0 отключает параметры конфигурации.
Чтобы отключить управляемое резервное копирование SQL Server в Microsoft Azure для конкретной базы данных:
- Соединитесь с ядром СУБД .
- На панели «Стандартная» нажмите Создать запрос.
- Скопируйте следующий пример в окно запроса и нажмите кнопку Выполнить.
EXEC msdb.managed_backup.sp_backup_config_basic @database_name = 'TestDB' ,@enable_backup = 0; GO
В зависимости от конфигурации также может потребоваться задать параметр @container_url .
Отключение управляемого резервного копирования SQL Server в Microsoft Azure для всех баз данных в экземпляре
Следующая процедура предназначена для отключения управляемого резервного копирования SQL Server в параметры конфигурации Microsoft Azure из всех баз данных, в которых в настоящее время включена управляемая резервная копия SQL Server в Microsoft Azure. Параметры конфигурации, такие как URL-адрес хранилища, хранение и учетные данные SQL, останутся в метаданных и могут использоваться, если управляемое резервное копирование SQL Server в Microsoft Azure включено для базы данных позже. Если вы хотите временно приостановить управляемое резервное копирование SQL Server в службы Microsoft Azure, можно использовать главный коммутатор, описанный в последующих разделах этого раздела.
Чтобы отключить управляемое резервное копирование SQL Server в Microsoft Azure для всех баз данных:
- Соединитесь с ядром СУБД .
- На панели «Стандартная» нажмите Создать запрос.
- Скопируйте следующий пример в окно запроса и нажмите кнопку Выполнить. В следующем примере показано, настроено ли управляемое резервное копирование SQL Server в Microsoft Azure на уровне экземпляра и все управляемые резервные копии SQL Server в базы данных с поддержкой Microsoft Azure и выполняет системную хранимую процедуру sp_backup_config_basic , чтобы отключить управляемое резервное копирование SQL Server в Microsoft Azure.
-- Create a working table to store the database names Declare @DBNames TABLE ( RowID int IDENTITY PRIMARY KEY ,DBName varchar(500) ) -- Define the variables DECLARE @rowid int DECLARE @dbname varchar(500) DECLARE @SQL varchar(2000) -- Get the database names from the system function INSERT INTO @DBNames (DBName) SELECT db_name FROM msdb.managed_backup.fn_backup_db_config (NULL) WHERE is_managed_backup_enabled = 1 AND is_dropped = 0 --Select DBName from @DBNames select @rowid = min(RowID) FROM @DBNames WHILE @rowID IS NOT NULL Begin Set @dbname = (Select DBName From @DBNames Where RowID = @rowid) Begin Set @SQL = 'EXEC msdb.managed_backup.sp_backup_config_basic @database_name= '''+'' + @dbname+ ''+''', @enable_backup=0' EXECUTE (@SQL) END Select @rowid = min(RowID) From @DBNames Where RowID > @rowid END
Чтобы просмотреть параметры конфигурации для всех баз данных в экземпляре, выполните следующий запрос.
Use msdb; GO SELECT * FROM managed_backup.fn_backup_db_config (NULL); GO
Отключение управляемого резервного копирования SQL Server по умолчанию в Параметры Microsoft Azure для экземпляра
Параметры по умолчанию на уровне экземпляра применяются ко всем новым базам данных, созданным в этом экземпляре. Если параметры по умолчанию больше не нужны, то можно отключить эту конфигурацию с помощью системной хранимой процедуры managed_backup.sp_backup_config_basic с параметром @database_name , имеющим значение NULL. При отключении остальные параметры конфигурации, такие как URL-адрес хранилища, политика хранения или учетные данные SQL, не удаляются. Эти параметры будут использоваться, если управляемое резервное копирование SQL Server в Microsoft Azure включено для экземпляра позже.
Чтобы отключить параметры конфигурации управляемого резервного копирования SQL Server в Microsoft Azure по умолчанию:
- Соединитесь с ядром СУБД .
- На панели «Стандартная» нажмите Создать запрос.
- Скопируйте следующий пример в окно запроса и нажмите кнопку Выполнить.
EXEC msdb.managed_backup.sp_backup_config_basic @enable_backup = 0; GO
Приостановка управляемого резервного копирования SQL Server в Microsoft Azure на уровне экземпляра
Иногда может возникнуть необходимость временно приостановить управляемое резервное копирование SQL Server в службы Microsoft Azure в течение короткого периода времени. Хранимая процедура managed_backup.sp_backup_master_switch позволяет отключить управляемое резервное копирование SQL Server в службу Microsoft Azure на уровне экземпляра. Та же хранимая процедура используется для возобновления управляемого резервного копирования SQL Server в Microsoft Azure. Параметр @state используется для определения того, следует ли отключить или включить управляемое резервное копирование SQL Server в Microsoft Azure.
Чтобы приостановить управляемое резервное копирование SQL Server в службы Microsoft Azure с помощью Transact-SQL:
- Соединитесь с ядром СУБД .
- На панели «Стандартная» нажмите Создать запрос.
- Скопируйте и вставьте следующий пример в окно запроса и нажмите кнопку Выполнить.
Use msdb; GO EXEC managed_backup.sp_backup_master_switch @new_state=0; Go
Возобновление управляемого резервного копирования SQL Server в Microsoft Azure с помощью Transact-SQL
- Соединитесь с ядром СУБД .
- На панели «Стандартная» нажмите Создать запрос.
- Скопируйте и вставьте следующий пример в окно запроса и нажмите кнопку Выполнить.
Use msdb; Go EXEC managed_backup.sp_backup_master_switch @new_state=1; GO
Как удалить устаревшие резервные копии MSSQL
Настроил резервное копирование БД MSSQL. Тип — Полная, копирование производится в устройство резервного копирования, срок действия резервного набора установил 14 дней. Всё работает, но естественно само не удаляет устаревшие наборы. Я там нашёл какой то механизм удаления, но он удаляет файлы и не подходит мне потому что у меня всё в одном файле — устройстве рез. копирования. Подскажите пожалуйста как настроить удаление устаревших копий? Или он сам начнёт их удалять когда закончится место на диске?
- sql-server
- резервное-копирование
Отслеживать
задан 8 авг 2019 в 8:49
733 6 6 серебряных знаков 15 15 бронзовых знаков
Добавьте пожалуйста картинки того как у вас настроены бэкапы. Я что-то никак не могу понять вашей проблемы
8 авг 2019 в 12:49
@NickProskuryakov у меня настроено вот как в этой статье infostart.ru/public/199760 в том числе с созданием устройства резервного копирования
9 авг 2019 в 8:43
там есть стандартный блок Maintenance Cleanup task (добавляется или руками, или визардом). Он умеет удалять именно старые файлы.
– user177221
9 авг 2019 в 10:28
@PashaPash к сожалению у меня всего один файл, с множеством наборов внутри, а этот стандартный блок, по моему не умеет удалять наборы из него
9 авг 2019 в 10:39
@ИванК но при вы пишете «похоже так и придется сделать» под кастомым power shell скриптом, который удаляет именно файлы целиком 🙂 если уж бьете по файлам — так используйте стандартный механизм, а не самописный костыль.
– user177221
9 авг 2019 в 10:46
2 ответа 2
Сортировка: Сброс на вариант по умолчанию
В Maintenance Plan-ах есть стандартный блок для удаления старых файлов бэкапов. Включается или прямо в визарде:
или отдельным блоком в плане, с тем же именем.
Настройки там простые, достаточно указать папку, куда складываются бэкапы и время жизни:

Из ограничений — чистка подразумевает, что вы используете стандартную раскладку «один файл на один бэкап», а не складываете все бэкапы в один огромный bak файл.
В случае одного bak файла новые бэкапы дописываеются в конец, и эффективно подчистить их не получится — т.к. при каждой чистке придется перекладывать все содержимое бэкапа вверх по файлу.
Отслеживать
ответ дан 9 авг 2019 в 10:52
user177221 user177221
В вашем случае резервные копии последовательно добавляются к устройству резервного копирования, поэтому нет способа удалить более ранние резервные копии без указания INIT для перезаписи файла.
DECLARE @DatabaseName sysname = 'MyDatabase' ,@BackupFolder sysname = 'C:\Backups\'; DECLARE @BackupFilePath sysname = @BackupFolder + @DatabaseName + N'_' + CONVERT(char(8), GETDATE(), 112); BACKUP DATABASE @DatabaseName TO DISK = @BackupFilePath WITH INIT, STATS=10;
Я бы рекомендовал вам создавать отдельные резервные копии, для более гибкого управления хранением отдельных резервных копий (количество полных и дефференциальных копий определите самостоятельно в зависимости от требований бизнеса).
После перехода, вы можете настроить план обслуживания для удаления устаревших резервных копий или воспользоваться скриптом в качестве шага для SQL Server Job:
$TargetFolder = "C:\MSSQL\Backup" # Путь к папке бэкапов. $Period = "-30" # Количество хранимых дней. # Вычисляем дату после которой будем удалять файлы. $CurrentDay = Get-Date $ChDaysDel = $CurrentDay.AddDays($Period) # Удаление файлов, дата создания которых больше заданного количества дней GCI -Path $TargetFolder -Recurse | Where-Object | RI -Recurse -Force # Удаление пустых папок GCI -Path $TargetFolder -Recurse | Where-Object ).Count -eq 0 > | RI -Recurse
Что такое контрольные суммы резервных копий и как их отключить в SQL Server
Свойство контрольной суммы в SQL Server можно использовать для определения того, какие изменения вносятся в SQL Server строк или выражений за определенный период времени. Отслеживание данных и изменений в приложении, например SQL Server может быть очень сложной и ресурсоемкой время от времени. Чтобы помочь пользователям справиться с этой задачей, им было предоставлено свойство контрольных сумм. Как только вы примените это к любому заданному полю или таблице, он начнет учитывать все вносимые изменения. И когда вы добавите контрольную сумму в синтаксис, вы получите двоичное значение контрольной суммы, которое предоставит вам изменения, внесенные за определенный период времени. Таким образом, это можно рассматривать как свойство, которое используется для отслеживания изменений, вносимых в SQL Server поле.

Контрольные суммы резервного копирования
Существуют различные типы контрольных сумм, которые вы можете использовать, резервные контрольные суммы — один из них. В контрольных суммах резервного копирования также есть несколько типов, которые вы можете использовать. В зависимости от типа контрольных сумм, которые вы используете, вы можете проверить репликацию, повреждение и обновления, сделанные в резервных копиях базы данных.
Основная причина, по которой во время резервного копирования используются контрольные суммы, заключается в том, чтобы гарантировать, что данные не были повреждены. Это одна из самых больших областей, где вам помогут контрольные суммы. Прежде чем приступить к отключению контрольных сумм с помощью SSMS, необходимо знать некоторые важные факторы, касающиеся резервного копирования и восстановления SQL Server.
SQL Server Резервные копии
Разрешения журнала резервного копирования и базы данных резервного копирования в SQL Server доступны с фиксированными ролями сервера, такими как sysadmin, db_owner и db_backupoperator по умолчанию. Проблемы, связанные с владением и правами доступа к физическому файлу устройства резервного копирования, часто мешают операциям резервного копирования. Поэтому крайне необходимо для SQL Server иметь возможность чтения и записи на устройство, таким образом, учетная запись, с помощью которой SQL Server запущенное приложение обязательно должно иметь права на запись.
SQL Server Восстановить
Если база данных, которую вы пытаетесь восстановить, даже не существует, пользователю потребуется доступ к разрешению на создание базы данных, чтобы он мог выбрать выполнение восстановления. Если база данных присутствует, разрешение на восстановление будет доступно по умолчанию для участников с фиксированными ролями сервера, такими как sysadmin, dbcreator и dbo (владелец базы данных).
Разрешение на восстановление поврежденный sql серверная база данных обычно предоставляется ролям, где информация о членстве легко доступна на сервере в любое время. А поскольку сведения о членстве для фиксированных ролей также доступны, когда база данных не повреждена и к ней легко получить доступ, поэтому даже для фиксированных ролей базы данных не всегда предоставляются разрешения на восстановление.
Отключение контрольных сумм резервного копирования с помощью SQL Server Студия управления
Чтобы иметь возможность включать или отключать резервные контрольные суммы в SQL Server, используя Management Studio, выполните указанные шаги.
- Выберите создание SQL Server база данных, сtarт с.
- Как только это будет сделано, вам нужно перейти в раздел «Надежность» на странице «Параметры», здесь выберите «Выполнить контрольную сумму перед записью на носитель».
Вы также можете внести изменения в T-SQL для отключения или включения резервных контрольных сумм в SQL Server
