• Nenhum resultado encontrado

PROCEDIMENTOS DE BACKUP E RESTAURAÇÃO - SQL SERVER

N/A
N/A
Protected

Academic year: 2021

Share "PROCEDIMENTOS DE BACKUP E RESTAURAÇÃO - SQL SERVER"

Copied!
8
0
0

Texto

(1)

FACULDADE DE ADMINISTRAÇÃO E NEGÓCIOS DE SERGIPE – FANESE

NÚCLEO DE PÓS-GRADUAÇÃO E EXTENSÃO – NPGE

PROCEDIMENTOS DE BACKUP E RESTAURAÇÃO - SQL SERVER

DAYSE SOARES SANTOS

ARACAJU

2011

(2)

FACULDADE DE ADMINISTRAÇÃO E NEGÓCIOS DE SERGIPE – FANESE

NÚCLEO DE PÓS-GRADUAÇÃO E EXTENSÃO – NPGE

PROCEDIMENTOS DE BACKUP E RESTAURAÇÃO - SQL SERVER

Trabalho de Conclusão de Módulo de Procedimentos de backup e restauração – SQL server, do curso de Especialização em Bancos de Dados – FANESE, submetido à banca examinadora para avaliação de conclusão do referido módulo.

Orientador: Prof.David Couto

DAYSE SOARES SANTOS

ARACAJU

2011

(3)

AMBIENTE

Nome da Empresa: Seda Confecção

Campo de negócio

A empresa Seda Confecção é voltada para confecção e venda de roupas

femininas e já possuem 7 unidades no estado de Sergipe. Com o seu crescimento,

foi necessário a contratação de um sistema ERP(Enterprise Resource Planning) o

SysERP.

A base de dados da empresa hoje possui 25GB e para evitar qualquer

eventualidade de perca dos dados, foi definido um plano de backup.

Para criar uma estratégia de backup é necessário obter algumas informações:

 Horário de funcionamento: Segunda a Sexta das 08:00 as 18:00 hs e aos

Sábados das 08:00 às 16:00 hs.

 Tolerância de perda de dados: 03:00 hs.

 Tempo de limite de recuperação dos dados: 02:00hs

 Trafego de dados por dia: 600MB a 800MB

DEFINIÇÃO DE ESTRATÉGIA PARA BACKUP

 Backup FULL: Sábado a partir das 23:30hs .

 Backup Diferencial: Diariamente (de segunda a sábado) a partir das 20:00hs.

 Backup Log: a cada 3hs, sendo que o backup iniciará das 8:00hs às 19:00hs

ESTRATÉGIA PARA RESTAURAÇÃO

Antes de restaurar o backup:

 Deve-se ter a mídia exata em mãos.

 Saber com toda a certeza o caminho de destino para reversão.

 Autorização para efetuar essa ação.

(4)

SCRIPT

INICIANDO A RESTAURAÇÃO

RESTORE DATABASE [bd_seda] FROM DISK =

N'C:\Backups\FULL\bd_seda_backup_2011_10_28_233438_4396928.bak' WITH FILE = 1, NORECOVERY, NOUNLOAD, STATS = 10

GO

RESTORE DATABASE [bd_seda] FROM DISK =

N'C:\Backups\DIFERENCIAL\bd_seda_backup_2011_10_28_234847_5148365.bak' WITH FILE = 1, NORECOVERY, NOUNLOAD, STATS = 10

GO

RESTORE LOG [bd_seda] FROM DISK =

N'C:\Backups\LOG\bd_seda_backup_2011_10_28_234937_3965629.trn' WITH FILE = 1, NORECOVERY, NOUNLOAD, STATS = 10

GO

RESTORE LOG [bd_seda] FROM DISK =

N'C:\Backups\LOG\bd_seda_backup_2011_10_29_001943_6849065.trn' WITH FILE = 1, NOUNLOAD, STATS = 10

GO

DBCC CHECKDB(bd_seda)

BACKUP AUTOMÁTICO (JOB)

FULL

USE [msdb] GO

/****** Object: Job [Backup FULL.Subplan_1] Script Date: 10/29/2011 00:24:06 ******/ BEGIN TRANSACTION

DECLARE @ReturnCode INT SELECT @ReturnCode = 0

/****** Object: JobCategory [Database Maintenance] Script Date: 10/29/2011 00:24:06 ******/ IF NOT EXISTS (SELECT name FROM msdb.dbo.syscategories WHERE name=N'Database Maintenance' AND category_class=1)

BEGIN

EXEC @ReturnCode = msdb.dbo.sp_add_category @class=N'JOB', @type=N'LOCAL', @name=N'Database Maintenance'

IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback END

(5)

EXEC @ReturnCode = msdb.dbo.sp_add_job @job_name=N'Backup FULL.Subplan_1', @enabled=1, @notify_level_eventlog=2, @notify_level_email=0, @notify_level_netsend=0, @notify_level_page=0, @delete_level=0,

@description=N'No description available.', @category_name=N'Database Maintenance',

@owner_login_name=N'DAYSE-72E78CBF4\Dayse', @job_id = @jobId OUTPUT IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback

/****** Object: Step [Subplan_1] Script Date: 10/29/2011 00:24:06 ******/

EXEC @ReturnCode = msdb.dbo.sp_add_jobstep @job_id=@jobId, @step_name=N'Subplan_1', @step_id=1, @cmdexec_success_code=0, @on_success_action=1, @on_success_step_id=0, @on_fail_action=2, @on_fail_step_id=0, @retry_attempts=0, @retry_interval=0, @os_run_priority=0, @subsystem=N'SSIS',

@command=N'/Server "$(ESCAPE_NONE(SRVR))" /SQL "Maintenance Plans\Backup FULL" /set "\Package\Subplan_1.Disable;false"',

@flags=0

IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback

EXEC @ReturnCode = msdb.dbo.sp_update_job @job_id = @jobId, @start_step_id = 1 IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback

EXEC @ReturnCode = msdb.dbo.sp_add_jobschedule @job_id=@jobId, @name=N'Backup FULL.Subplan_1', @enabled=1, @freq_type=8, @freq_interval=32, @freq_subday_type=1, @freq_subday_interval=0, @freq_relative_interval=0, @freq_recurrence_factor=1, @active_start_date=20111028, @active_end_date=99991231, @active_start_time=233000, @active_end_time=235959, @schedule_uid=N'9eedb51f-c77f-4c54-91ee-0259b8554657' IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback

EXEC @ReturnCode = msdb.dbo.sp_add_jobserver @job_id = @jobId, @server_name = N'(local)' IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback

COMMIT TRANSACTION GOTO EndSave

QuitWithRollback:

IF (@@TRANCOUNT > 0) ROLLBACK TRANSACTION EndSave:

(6)

DIFERENCIAL

USE [msdb] GO

/****** Object: Job [Backup Diferencial.Subplan_1] Script Date: 10/29/2011 00:24:45 ******/ BEGIN TRANSACTION

DECLARE @ReturnCode INT SELECT @ReturnCode = 0

/****** Object: JobCategory [Database Maintenance] Script Date: 10/29/2011 00:24:45 ******/ IF NOT EXISTS (SELECT name FROM msdb.dbo.syscategories WHERE name=N'Database Maintenance' AND category_class=1)

BEGIN

EXEC @ReturnCode = msdb.dbo.sp_add_category @class=N'JOB', @type=N'LOCAL', @name=N'Database Maintenance'

IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback END

DECLARE @jobId BINARY(16)

EXEC @ReturnCode = msdb.dbo.sp_add_job @job_name=N'Backup Diferencial.Subplan_1', @enabled=1, @notify_level_eventlog=2, @notify_level_email=0, @notify_level_netsend=0, @notify_level_page=0, @delete_level=0,

@description=N'No description available.', @category_name=N'Database Maintenance',

@owner_login_name=N'DAYSE-72E78CBF4\Dayse', @job_id = @jobId OUTPUT IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback

/****** Object: Step [Subplan_1] Script Date: 10/29/2011 00:24:45 ******/

EXEC @ReturnCode = msdb.dbo.sp_add_jobstep @job_id=@jobId, @step_name=N'Subplan_1', @step_id=1, @cmdexec_success_code=0, @on_success_action=1, @on_success_step_id=0, @on_fail_action=2, @on_fail_step_id=0, @retry_attempts=0, @retry_interval=0, @os_run_priority=0, @subsystem=N'SSIS',

@command=N'/Server "$(ESCAPE_NONE(SRVR))" /SQL "Maintenance Plans\Backup Diferencial" /set "\Package\Subplan_1.Disable;false"',

@flags=0

IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback

EXEC @ReturnCode = msdb.dbo.sp_update_job @job_id = @jobId, @start_step_id = 1 IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback

EXEC @ReturnCode = msdb.dbo.sp_add_jobschedule @job_id=@jobId, @name=N'Backup Diferencial.Subplan_1', @enabled=1, @freq_type=8, @freq_interval=126, @freq_subday_type=1, @freq_subday_interval=0, @freq_relative_interval=0, @freq_recurrence_factor=1, @active_start_date=20111028, @active_end_date=99991231, @active_start_time=200000,

(7)

@active_end_time=235959,

@schedule_uid=N'8cac7d6c-055e-4163-8e1f-f84ddadd4624' IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback

EXEC @ReturnCode = msdb.dbo.sp_add_jobserver @job_id = @jobId, @server_name = N'(local)' IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback

COMMIT TRANSACTION GOTO EndSave

QuitWithRollback:

IF (@@TRANCOUNT > 0) ROLLBACK TRANSACTION EndSave:

GO

LOG

USE [msdb] GO

/****** Object: Job [Backup LOG.Subplan_1] Script Date: 10/29/2011 00:25:19 ******/ BEGIN TRANSACTION

DECLARE @ReturnCode INT SELECT @ReturnCode = 0

/****** Object: JobCategory [Database Maintenance] Script Date: 10/29/2011 00:25:19 ******/ IF NOT EXISTS (SELECT name FROM msdb.dbo.syscategories WHERE name=N'Database Maintenance' AND category_class=1)

BEGIN

EXEC @ReturnCode = msdb.dbo.sp_add_category @class=N'JOB', @type=N'LOCAL', @name=N'Database Maintenance'

IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback END

DECLARE @jobId BINARY(16)

EXEC @ReturnCode = msdb.dbo.sp_add_job @job_name=N'Backup LOG.Subplan_1', @enabled=1, @notify_level_eventlog=2, @notify_level_email=0, @notify_level_netsend=0, @notify_level_page=0, @delete_level=0,

@description=N'No description available.', @category_name=N'Database Maintenance',

@owner_login_name=N'DAYSE-72E78CBF4\Dayse', @job_id = @jobId OUTPUT IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback

/****** Object: Step [Subplan_1] Script Date: 10/29/2011 00:25:19 ******/

EXEC @ReturnCode = msdb.dbo.sp_add_jobstep @job_id=@jobId, @step_name=N'Subplan_1', @step_id=1, @cmdexec_success_code=0, @on_success_action=1, @on_success_step_id=0, @on_fail_action=2, @on_fail_step_id=0, @retry_attempts=0, @retry_interval=0, @os_run_priority=0, @subsystem=N'SSIS',

@command=N'/Server "$(ESCAPE_NONE(SRVR))" /SQL "Maintenance Plans\Backup LOG" /set "\Package\Subplan_1.Disable;false"',

(8)

@flags=0

IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback

EXEC @ReturnCode = msdb.dbo.sp_update_job @job_id = @jobId, @start_step_id = 1 IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback

EXEC @ReturnCode = msdb.dbo.sp_add_jobschedule @job_id=@jobId, @name=N'Backup LOG.Subplan_1', @enabled=1, @freq_type=8, @freq_interval=126, @freq_subday_type=8, @freq_subday_interval=3, @freq_relative_interval=0, @freq_recurrence_factor=1, @active_start_date=20111028, @active_end_date=99991231, @active_start_time=80000, @active_end_time=190000, @schedule_uid=N'429d46fa-9fcf-479f-87c4-cbacabe90b93' IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback

EXEC @ReturnCode = msdb.dbo.sp_add_jobserver @job_id = @jobId, @server_name = N'(local)' IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback

COMMIT TRANSACTION GOTO EndSave

QuitWithRollback:

IF (@@TRANCOUNT > 0) ROLLBACK TRANSACTION EndSave:

Referências

Documentos relacionados

9 Para fazer backup de arquivos do banco de dados Microsoft SQL Server e restaurá-los, é recomendável usar os utilitários de backup e restauração internos pertencentes ao SQL..

- POSTO PP: estes procedimentos são para o posto da portaria, quando houver a necessidade do vigia efetuar a substituição do porteiro na portaria. O posto é no portão

16) Caso alguma irregularidade seja constatada, os porteiros devem comunicar imediatamente a empresa e esta deverá contatar o responsável indicado pelo Câmpus..

O DIRETOR-GERAL DO CÂMPUS SAPUCAIA DO SUL DO INSTITUTO FEDERAL SUL-RIO-GRANDENSE, no uso de suas atribuições legais e regimentais, vem estabelecer os

Mineração de conhecimento interativa em níveis diferentes de abstração: Como é  difícil  prever  o  que  exatamente  pode  ser  descoberto  de  um  banco 

Dissertação (Mestrado Profissional em Gestão e Tecnologia em Sistemas Produtivos). Centro Estadual de Educação Tecnológica Paula Souza, São Paulo, 2014. A Governança Corporativa,

O ADMINISTRADOR e o GESTOR utilizam técnicas de monitoramento de risco (“monitoramento”) para obter estimativa do nível de exposição do FUNDO aos riscos ora

Como resposta aos objetivos propostos o trabalho identificou formas de abordagem à SCRM e uma estrutura lógica para a gestão dos riscos em cadeia de suprimentos composta pela