Удалить из папки файлы с определенным расширением sql
Для сохранения целостности структуры баз данных и обеспечения нормальной производительности необходимо проводить периодическое обслуживание. В этой статье рассмотрим какие задания по обслуживанию необходимо выполнять для баз данных 1С Предприятия, размещенных в MS SQL.
Настройка плана обслуживания баз данных MS SQL Server выполняется через программу Microsoft SQL Management Studio. Рассмотрим задачи, которые мы будем выполнять в рамках регулярного обслуживания баз данных:
-
(раз в неделю, в воскресенье в 2:00); (раз в день, с понедельника по субботу в 2:00); (раз в день); (раз в день в 4:00); (раз в день).
В чем отличие полного бэкапа от разностного?
Полное резервное копирование сохраняет всю базу данных целиком.
Разностное резервное копирование сохраняет все изменения созданные в базе данных с момента последнего полного бэкапа.
Такой подход к резервному копированию позваляет экономить свободное пространство на носителях информации.
Создание полного бэкапа базы.
В обозревателе объектов переходим к пункту "Управление \ Планы обслуживания". В контекстном меню выбираем "Создать план обслуживания".
В этом основном плане обслуживания будем создавать вложенные планы полного бэкапа, промежуточного (разностного) бэкапа, перестроение индекса и обновление статистики.
В созданном плане нажимаем кнопку "Добавление вложенного плана"
Вводим название "Полный бэкап" и описание. Задаем расписание для выполнения задания: Раз в неделю в воскресенье в 2:00.
Добавляем в созданный план задание. Для этого с панели элементов перетаскиваем в поле заданий вложенного плана элемент с названием Задача "Резервное копирование базы данных".
Открываем задание на редактирование: правой клавишей мыши по заданию, выбираем пункт "Изменить".
- Тип резервной копии: Полное;
- Базы данных: если выбрать "Все пользовательские базы данных", то будет выполняться бэкап всех созданных вами баз данных, но есть возможность указать на конкретные базы;
- Создать файл резервной копии для каждой базы данных: отмечаем пункт "Создавать вложенный каталог для каждой базы данных", чтобы удобнее было ориентироваться в бэкапах и указываем путь как папке, в которой будут храниться резервные копии;
- Отмечаем пункт "Проверять целостнойсть резервной копии";
- Устанавливаем параметр "Сжимать резервные копии".
Создание разностного бэкапа.
Создание плана на выполнение разностного бэкапа выполняется аналогично полному бэкапу.
Отметим некоторые отличия в настройке:
- Расписание выполнения заданий: с понедельника по субботу в 2:00;
- Тип резервной копии выбираем "Разностное"
Очистка устаревших бэкапов.
Для очистки устаревших бэкапов баз 1С Предприятия в MS SQL выбираем на панели элементов плана обслуживания Задачу "Очистка после обслуживания".
В моем случае разностный и полный бэкап хранятся в одной папке. Поэтому я добавляю только одно такое задание во вложенный план для разностного бэкапа. Если вы резервные копии будете хранить отдельно, то лучше создать отдельное задание в плане каждого бэкапа.
Перетаскиваем задачу с Панели элементов в план и задаем такие настройки:
- Удалить файлы следующего типа: Файлы резервных копий;
- Удалить из папки файлы с определенным расширением: указываем папку хранения бэкапов баз 1С;
- Включить вложенные папки первого уровня: отмечаем галочкой, потому-что у нас для бэкапов баз создаются отдельные папки
- Удалить файлы на основе возраста во время выполнения задачи: здесь все ограничивается лишь вашими потребностями и объемом жесткого диска, а мне достаточно 4 недель.
Чтобы в текущем плане после выполнения первого задания начало выполнятся следующее, их необходимо соединить между собой стрелками. Для этого выделяем первое задание и ведем стрелку от него к следующему.
Через стрелки можно задавать условие, при котором будет выполнять следующее задание: ошибка, успешное завершение, выполнение. Изменить условие можно щелкнув правой клавишей мыши по стрелке.
По умолчанию стрелка зеленого цвета. Это значит, что следующее задание будет выполняться только при успешном завершении первого. Это условие подходит для моего случая.
Переходим к очень важному и ответственному пункту: Перестроение индекса и обновление статистики.
Дефрагментация индекса (реорганизация или перестроение).
В процессе работы базы данных 1С Предприятия, в результате постоянной записи и удаления данных, образуются пустые (фрагментированные) области. По этой причине может увеличиваться бесполезный объем БД и замедляться скорость взаимодействия с ней.
Для устранения фрагментированных областей баз данных в MS SQL существует возможность проведения Реорганизации индекса и Перестроение индекса.
В чем разница между реорганизацией и перестроением?
Перестроение индекса означает, что фрагментация будет устранена путем удаления и пересоздания индексов.
При Реорганизации индекска происходит перестроение индексов в соответствии с логическим порядком. Этот способ наименее ресурсозатратный и является более предпочтительным для регулярного обслуживания баз данных.
В каких случаях требуется реорганизация индекса?
- Уровень фрагментации от 5% до 30%, то проводим реорганизацию.
- Фрагментация свыше 30% необходимо проводить перестроение индекса
Под выполнение этих задач очень подходит инструкция Transact-SQL со следующим содержимым:
Создаем вложенный план с названием "Дефрагментация индекса и обновление статистики" с расписанием раз в день в 4:00 и перетаскиваем в него из Панели элементов Задачу "Выполнение инструкции T-SQL".
Вставляем в задачу приведенную выше инструкцию T-SQL.
Обновление статистики.
Обновление статистики в базах данных MS SQL, как и дефрагментация индекса, имеет большое значение для повышения производительности работы SQL сервера. Благодаря обновлению статистики SQL Server способен более эффективно выполнять планы запроса.
Выбираем на панели элементов Задача "Обновление статистики" и добавляем ее во вложенный план "Дефрагментация индекса и обновление статистики".
- Базы данных: все пользовательские базы данных;
- Обновить: вся собранная статистика;
- Тип просмотра: полный просмотр.
При помощи стрелки связываем условием выполнение задачи по обновлению индекса с задачей по дефрагментации. Таким образом в случае успешного выполнения дефрагментации будет проведено обновление статистики.
С помощью диалогового окна Задача «Очистка после обслуживания» можно удалить старые файлы, связанные с планами обслуживания, включая текстовые отчеты, созданные планами обслуживания, и файлы резервных копий базы данных.
Задача «Очистка после обслуживания» автоматически не удаляет файлы во вложенных папках указанного каталога. Это снижает вероятность того, что злоумышленник сможет удалить файлы с помощью задачи «Очистка после обслуживания». Если нужно удалять файлы во вложенных папках первого уровня, установите флажок Включить вложенные папки первого уровня.
Параметры
Соединение
Отображает текущее соединение.
Создать
Создать новое соединение с сервером для его использования при выполнении этой задачи. Диалоговое окно Создание соединения описано ниже.
Файлы резервных копий
Удаляет файлы резервной копии.
Текстовые отчеты плана обслуживания
Удаляет текстовые отчеты предыдущих запусков планов обслуживания.
Удалить определенный файл
Удаляет определенный файл, указанный в поле Имя файла .
Имя файла
Путь к удаляемому файлу и его имя.
Удалить из папки файлы с определенным расширением
Удаляет все файлы с определенным расширением в указанной папке. Позволяет удалить сразу несколько файлов, например все файлы резервных копий с расширением BAK из папки «Вторник».
Папка
Путь к папке, содержащей удаляемые файлы, и ее имя.
Расширение файла
Введите расширение удаляемого файла. Не добавляйте другие символы до или после расширения (например, укажите BAK или TRN).
Включить вложенные папки первого уровня
Удаляет файлы с расширением, заданным в поле Расширение файла , из вложенных папок первого уровня относительно поля Папка.
Удалять файлы в зависимости от их возраста во время выполнения задачи
Задайте минимальный возраст удаляемых файлов, указав числовое значение и единицу времени в поле Удалить все файлы старше чем .
Удалить все файлы старше чем
Задайте минимальный возраст удаляемых файлов, указав числовое значение и временную единицу (день, неделя, месяц или год). Файлы, старше указанного временного интервала, будут удалены.
Просмотр T-SQL
Просмотрите инструкции Transact-SQL , выполняемые для данной задачи по отношению к серверу, на основе выбранных параметров.
Если количество затронутых объектов велико, построение этого отображения может занять значительное время.
Диалоговое окно «Создание соединения»
Имя соединения
Введите имя нового соединения.
Выберите или введите имя сервера
Выберите сервер для подключения при выполнении этой задачи.
.
Выберите для просмотра списка доступных серверов.
Введите данные для входа на сервер
Укажите способ проверки подлинности на сервере.
Использовать встроенную безопасность Windows
Подключение к экземпляру компонента Компонент SQL Server Database Engine с использованием проверки подлинности Windows.
Использовать указанные имя пользователя и пароль
Подключение к экземпляру Компонент SQL Server Database Engine с использованием проверки подлинности SQL Server. Этот параметр недоступен.
User name
Укажите имя входа, используемое при проверке подлинности SQL Server . Этот параметр недоступен.
Пароль
Укажите используемый при проверке подлинности пароль. Этот параметр недоступен.
Удаляет все элементы из кэша планов, удаляет заданный план из кэша планов с помощью указания дескриптора плана или дескриптора SQL либо удаляет все записи кэша, связанные с указанным пулом ресурсов.
DBCC FREEPROCCACHE не очищает статистику выполнения для хранимых процедур, скомпилированных в собственном коде. Кэш процедур не содержит сведения о хранимых процедурах, скомпилированных в собственном коде. Все статистические данные выполнения, полученные при выполнении процедур, появятся в динамических административных представлениях (DMV) статистики выполнения: sys.dm_exec_procedure_stats (Transact-SQL) и sys.dm_exec_query_plan (Transact-SQL).
Синтаксис
Синтаксис для SQL Server:
Синтаксис для Azure Synapse Analytics и :Система платформы аналитики (PDW)
Ссылки на описание синтаксиса Transact-SQL для SQL Server 2014 и более ранних версий, см. в статье Документация по предыдущим версиям.
Аргументы
( < plan_handle | sql_handle | pool_name > )
plan_handle уникально идентифицирует план запроса для запущенного пакета, план которого хранится в кэше планов. Аргумент plan_handle имеет тип varbinary(64), и его можно получить из следующих объектов DMO:
sql_handle представляет дескриптор SQL очищаемого пакета. Аргумент sql_handle имеет тип varbinary(64), и его можно получить из следующих объектов DMO:
pool_name представляет имя пула ресурсов Resource Governor. Аргумент pool_name имеет тип sysname и может быть получен с помощью запроса к динамическому административному представлению sys.dm_resource_governor_resource_pools.
Чтобы связать группу рабочей нагрузки Resource Governor с пулом ресурсов, запросите динамическое административное представление sys.dm_resource_governor_workload_groups. Чтобы получить сведения о группе рабочей нагрузки для сеанса, запросите динамическое административное представление sys.dm_exec_sessions.
COMPUTE
Очистка кэша планов запросов в каждом вычислительном узле. Это значение по умолчанию.
ALL
Очистка кэша планов запросов в каждом вычислительном узле и в управляющем узле.
Начиная с версии SQL Server 2016 (13.x);, для очистки кэша процедур (планов) для базы данных в области действия служит инструкция ALTER DATABASE SCOPED CONFIGURATION CLEAR PROCEDURE_CACHE .
Комментарии
Инструкция DBCC FREEPROCCACHE используется для аккуратной очистки кэша планов. Очистка кэша процедур (планов) приводит к исключению всех планов. В результате при выполнении входящих запросов будет компилироваться новый план, а не использоваться существующий план из кэша.
SQL Server has encountered %d occurrence(s) of cachestore flush for the '%s' cachestore (part of plan cache) due to 'DBCC FREEPROCCACHE' or 'DBCC FREESYSTEMCACHE' operations.
Следующие операции по перенастройке также очищают кэш процедур:
- доступ к счетчику контейнеров проверки кэша
- доступ к квоте кэша проверки
- clr enabled
- стоимостный порог для параллелизма
- cross db ownership chaining
- память для создания индекса
- максимальная степень параллелизма
- max server memory
- max text repl size
- максимальное количество рабочих потоков
- min memory per query
- min server memory
- ограничение стоимости регулятора запросов
- ожидание запроса
- remote query timeout
- user options
Результирующие наборы
Разрешения
Применимо к: SQL Server, Система платформы аналитики (PDW)
- Требует разрешения ALTER SERVER STATE на сервере.
Применимо к: Azure Synapse Analytics
- Необходимо членство в предопределенной роли сервера DB_OWNER.
Общие замечания касательно Azure Synapse Analytics и Система платформы аналитики (PDW)
Несколько команд DBCC FREEPROCCACHE могут выполняться одновременно. В Azure Synapse Analytics или Система платформы аналитики (PDW) очистка кэша планов может приводить к временному снижению производительности обработки запросов, так как для входящих запросов компилируется новый план, а не используется существующий план из кэша.
Команда DBCC FREEPROCCACHE (COMPUTE) приводит к перекомпиляции запросов сервером SQL Server только в том случае, если они выполняются в вычислительных узлах. Она не приводит к тому, что Azure Synapse Analytics или Система платформы аналитики (PDW) перекомпилируют план параллельных запросов, созданный в управляющем узле. Команду DBCC FREEPROCCACHE можно отменить во время выполнения.
Ограничения для Azure Synapse Analytics и Система платформы аналитики (PDW)
Команда DBCC FREEPROCCACHE не может выполняться в рамках транзакции. Команда DBCC FREEPROCCACHE не поддерживается в инструкции EXPLAIN.
Метаданные для Azure Synapse Analytics и Система платформы аналитики (PDW)
При выполнении команды DBCC FREEPROCCACHE в системное представление sys.pdw_exec_requests добавляется новая строка.
Примеры: SQL Server
A. Очистка плана запроса из кэша планов
В следующем примере план запроса очищается из кэша планов путем указания дескриптора плана запроса. Чтобы обеспечить наличие запроса-образца в кэше планов, сначала выполните следующий запрос. Динамические административные представления sys.dm_exec_cached_plans и sys.dm_exec_sql_text запрашиваются для возврата дескриптора плана соответствующего запроса.
Затем значение дескриптора плана из результирующего набора вставляется в инструкцию DBCC FREEPROCACHE для удаления из кэша планов именно этого плана.
Б. Очистка всех планов из кэша планов
В. Очистка всех записей кэша, связанных с пулом ресурсов
В следующем примере очищаются все записи кэша, связанные с указанным пулом ресурсов. Сначала запрашивается представление sys.dm_resource_governor_resource_pools для получения значения аргумента pool_name.
Примеры: Azure Synapse Analytics и Система платформы аналитики (PDW)
Г. Примеры базового синтаксиса DBCC FREEPROCCACHE
Д. Предоставление разрешения на выполнение DBCC FREEPROCCACHE
В приведенном ниже примере имени для входа David предоставляется разрешение на выполнение DBCC FREEPROCCACHE.
Задача «Очистка после обслуживания» удаляет файлы, относящиеся к планам обслуживания, включая файлы резервных копий баз данных и отчеты, созданные планами обслуживания. Дополнительные сведения см. в разделах Планы обслуживания и Резервное копирование и восстановление баз данных SQL Server.
С помощью задачи «Очистка после обслуживания» пакет может удалять файлы резервных копий или отчеты планов обслуживания на указанном сервере. Задача «Очистка после обслуживания» имеет параметр удаления специфических файлов или удаления группы файлов в папке. При необходимости можно указать расширение удаляемых файлов.
При настройке задачи «Очистка после обслуживания» для удаления файлов резервных копий по умолчанию установлено расширение файла BAK. Для файлов отчета расширение по умолчанию — TXT. При необходимости расширение можно изменить; единственное ограничение: расширение должно иметь меньше 256 символов.
Если необходимо удалить старые ненужные файлы, задача «Очистка после обслуживания» может быть настроена для удаления файлов, существующих определенный период времени. Например, задача может быть настроена на файлы, существующие дольше двух недель. Можно указать давность удаляемых файлов, используя дни, недели, месяцы и годы. Если минимальный срок для удаления файлов не устанавливается, удаляются все файлы указанного типа.
В отличие от ранних версий задачи «Очистка после обслуживания» версия SQL Server этой задачи не удаляет автоматически файлы во вложенных каталогах указанной папки. Это ограничение сокращает контактную зону любой атаки, использующей функции задачи «Очистка после обслуживания» для умышленного удаления файлов. Для удаления вложенных папок первого уровня необходимо выбрать это действие, установив флажок Включить вложенные папки первого уровня в диалоговом окне Задача "Очистка после обслуживания" .
Настройка задачи «Очистка после обслуживания»
Свойства задаются с помощью конструктора служб Integration Services . Эта задача находится в разделе Задачи плана обслуживания****области элементов в конструкторе служб Integration Services .
Дополнительные сведения о свойствах, которые можно задать в конструкторе служб Integration Services , см. в следующем разделе:
Связанные задачи
Дополнительные сведения о настройке свойств этих свойств в конструкторе Integration Services см. в разделе Задание свойств задач или контейнеров.
производится только бекап БД, вот создал задачу очистки, а ничего так и не удаляется. в чем причина? помогите
Бекап в задании делается несколько БД,
а задаче очистки я указал общую папку где хранятся bak файлы БД.
ранее на 2012 SQL создавал и все работало.
у кого какие идеи)
И еще вот логи конкретного задания
Here are the most recent service packs and cumulat.
Не забывайте, от каких учётных записей запускается сервер и его агент. Права на папку.
Судя по картинке файлы у вас расположены в подпапке, а галочка искать вложенные папки не стоит.
Спасибо, есть вопрос что за галочку в каком пункте я недоставил?
Сервер и агент запускаются от администраторских учеток.
т.е. если я насервере, то и агент уже автоматически от него и работает.
Имя журнала: System
Источник: Microsoft-Windows-DistributedCOM
Дата: 28.03.2017 1:00:02
Код события: 10016
Категория задачи:Отсутствует
Уровень: Ошибка
Ключевые слова:Классический
Пользователь: NT SERVICE\SQLSERVERAGENT
Компьютер: S01n
Описание:
Параметры разрешений для конкретного приложения не дают разрешения Локально Активация для приложения COM-сервера с CLSID
и APPID
пользователю NT SERVICE\SQLSERVERAGENT с ИД безопасности (S-1-5-80-344959196-2060754871-2302487193-2804545603-1466107430) и адресом LocalHost (с использованием LRPC), выполняемого в контейнере приложения Недоступно с ИД безопасности (Недоступно). Это разрешение безопасности можно изменить с помощью средства администрирования служб компонентов.
Xml события:
1001602000x80800000000000006360SystemS01nдля конкретного приложенияЛокальноАктивацияNT SERVICESQLSERVERAGENTS-1-5-80-344959196-2060754871-2302487193-2804545603-1466107430LocalHost (с использованием LRPC)НедоступноНедоступно
Читайте также: