
Я использую SQL Server 2017 для Linux, и в меню «Управление» отсутствуют планы обслуживания.
Кто-нибудь знает, доступны ли планы обслуживания для SQL Server для Linux? Я не могу найти ничего, связанного с этой темой.
решение1
Как вы можете прочитать в документации Microsoft SQL Server (здесьв разделе «Известные проблемы») планы обслуживания не поддерживаются в SQL Server Management Studio для SQL Server на Linux.
Однако вы можете создавать собственные задания SQL Server для выполнения резервного копирования, обслуживания индексов и статистики, как показано ниже.
Создать работу
CREATE DATABASE SampleDB ;
USE msdb ;
GO
EXEC dbo.sp_add_job
@job_name = N’Daily SampleDB Backup’ ;
GO
Добавьте один или несколько этапов работы
EXEC sp_add_jobstep
@job_name = N’Daily SampleDB Backup’,
@step_name = N’Backup database’,
@subsystem = N’TSQL’,
@command = N’BACKUP DATABASE SampleDB TO DISK = \
N”/var/opt/mssql/data/SampleDB.bak” WITH NOFORMAT, NOINIT, \
NAME = ”SampleDB-full”, SKIP, NOREWIND, NOUNLOAD, STATS = 10′,
@retry_attempts = 5,
@retry_interval = 5 ;
GO
Составьте график работы
EXEC dbo.sp_add_schedule
@schedule_name = N’Daily SampleDB’,
@freq_type = 4,
@freq_interval = 1,
@active_start_time = 233000 ;
USE msdb ;
GO
Прикрепите расписание и добавьте сервер заданий
EXEC sp_attach_schedule
@job_name = N’Daily SampleDB Backup’,
@schedule_name = N’Daily SampleDB’;
GO
EXEC dbo.sp_add_jobserver
@job_name = N’Daily SampleDB Backup’,
@server_name = N'(LOCAL)’;
GO
Начать работу
EXEC dbo.sp_start_job N’ Daily SampleDB Backup’ ;
GO
Для получения более подробной информации, пожалуйста, прочтитеэтотобъявление.