MCDBA Brasil


  • Home
  • Sobre
  • Contato

Livros





Links Rápidos

SQL Server Builds (All Versions/Editions)


Download SQL Server 2017 (trial)


SQL Server 2017 Feature Pack


SQL Server 2016 Feature Pack


Cumulative Update SQL Server 2017 builds


Cumulative Update SQL Server 2016 builds


Cumulative Update SQL Server 2014 builds


Cumulative Update SQL Server 2012 builds


SQL Server 2005/2008 Samples Databases


Documentando o Servidor SQL Server


Analisando a Performance do Servidor-CheckList


Virtual PASS PT


Faça parte do maior virtual chapter do PASS com conteúdos técnicos em Português sobre SQL Server.

Todos os meses um evento Online para você! Acompanhe aqui os WebCasts já agendados

Sindicalize seu blog ou site ao VirtualPASSPT

SQL Server Blogs

SQL Server Query Processing Team


SQL Programmability & API Development Team


SQL Server Manageability Team


Latin America Support Team


Database + Disk + Performance


Microsoft SQL Server Support


SQL CLR Team


SQL Query Optimization Team


SQL 2005 Code Samples


SQL Server Express Team


SQL SMO Samples


SQL Storage Engine Team


SQL CAT Team


SQL Protocols Team


PSS SQL Server Engineers


Slava Oks on SQLOS


Ken Henderson’s blog


LUTI@Microsoft Blog


kimberly L. Trip’s blog


Fernando Garcia Blog

Dica da Semana

Fazendo Backup Remoto no SQL Server

por Nilton Pinheiro outubro 5, 2004 Nenhum comentário

A primeira coisa que devemos ter em mente é que para realizar o backup em uma máquina remota é necessário que a conta de usuário que inicia os serviços do SQL Server (MSSQLSERVER, SQLServerAgent) tenha acesso à rede. Sendo assim, o SQL Server e o SQL Server Agent não poderão estar rodando com a conta de usuário system account. Eles deverão estar rodando com uma conta de usuário de domínio que tenha permissão de administração na máquina local e permissão para efetuar gravação na máquina remota. Se você utilizar um usuário que seja administrador no domínio (faça parte do grupo administrator no controlador de domínio), isto será resolvido.


Uma vez configurado o usuário, é possivel realizar o backup de duas formas:


1) Criando um device de backup lógico usando um endereço UNC para o servidor remoto.


Isto pode ser feito conforme o exemplo abaixo o qual adiciona no SQL Server um device de backup lógico para o banco Pubs. O arquivo resultante do backup será armazenado no servidor remoto.


USE master
— Cria o device lógico remoto no SQL Server
EXEC sp_addumpdevice ‘DISK’, ‘Pubs_BKP’,’servernamesharenamePubs-BKP.BAK’
GO
— Faz o backup do banco Pubs no device remoto
BACKUP DATABASE Pubs TO Pubs_BKP WITH INIT



Lembre-se que caso você utilize esta opção, o device lógico deverá ser criado apenas uma vez. Para posteriores Backups, basta executar o comando de backup. A opção INIT faz com que os backups existentes no device lógico sejam substituidos pelo backup mais recente.


2) Executar o backup diretamente para um device físico o qual aponta para um servidor remoto. É importante destacar que este procedimento não cria um device lógido no SQL Server.


USE MASTER
GO
BACKUP DATABASE Pubs TO DISK = ‘servernamesharenamePubs-BKP.BAK’ WITH INIT



Pronto, caso queira automatizar o procedimento de backup, basta criar um Job no SQL Server utilizando um dos dois exemplos acima.


Segue abaixo um exemplo de código Transact-SQL para criar um job de backup utilizando a primeira opção. Neste exemplo eu considero que o device de backup lógico (Pubs_BKP) já foi criado em um passo anterior.


Para criar o Job basta colocar o código no QA e teclar F5.


— Cria Job de backup para o banco Pubs. O backup é realizado de Segunda a Sexta às 22:00hs.
— Script generated on 5/10/2004 13:59
BEGIN TRANSACTION           
  DECLARE @JobID BINARY(16) 
  DECLARE @ReturnCode INT   
  SELECT @ReturnCode = 0    
IF (SELECT COUNT(*) FROM msdb.dbo.syscategories WHERE name = N'[Uncategorized (Local)]’) < 1
  EXECUTE msdb.dbo.sp_add_category @name = N'[Uncategorized (Local)]’


  — Delete the job with the same name (if it exists)
  SELECT @JobID = job_id    
  FROM   msdb.dbo.sysjobs   
  WHERE (name = N’Backup do Banco Pubs’)      
  IF (@JobID IS NOT NULL)   
  BEGIN 
  — Check if the job is a multi-server job 
  IF (EXISTS (SELECT  *
              FROM    msdb.dbo.sysjobservers
              WHERE   (job_id = @JobID) AND (server_id <> 0)))
  BEGIN
    — There is, so abort the script
    RAISERROR (N’Unable to import job ”Backup do Banco Pubs” since there is already a multi-server job with this name.’, 16, 1)
    GOTO QuitWithRollback 
  END
  ELSE
    — Delete the [local] job
    EXECUTE msdb.dbo.sp_delete_job @job_name = N’Backup do Banco Pubs’
    SELECT @JobID = NULL
  END


BEGIN


  — Add the job
  EXECUTE @ReturnCode = msdb.dbo.sp_add_job @job_id = @JobID OUTPUT , @job_name = N’Backup do Banco Pubs’, @owner_login_name = N’sa’, @description = N’No description available.’, @category_name = N'[Uncategorized (Local)]’, @enabled = 1, @notify_level_email = 0, @notify_level_page = 0, @notify_level_netsend = 0, @notify_level_eventlog = 2, @delete_level= 0
  IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback


  — Add the job steps
  EXECUTE @ReturnCode = msdb.dbo.sp_add_jobstep @job_id = @JobID, @step_id = 1, @step_name = N’Backup do Banco Pubs’, @command = N’BACKUP DATABASE Pubs TO Pubs_BKP’, @database_name = N’master’, @server = N”, @database_user_name = N”, @subsystem = N’TSQL’, @cmdexec_success_code = 0, @flags = 0, @retry_attempts = 0, @retry_interval = 1, @output_file_name = N”, @on_success_step_id = 0, @on_success_action = 1, @on_fail_step_id = 0, @on_fail_action = 2
  IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
  EXECUTE @ReturnCode = msdb.dbo.sp_update_job @job_id = @JobID, @start_step_id = 1


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


  — Add the job schedules
  EXECUTE @ReturnCode = msdb.dbo.sp_add_jobschedule @job_id = @JobID, @name = N’Backup do Banco Pubs’, @enabled = 1, @freq_type = 8, @active_start_date = 20041005, @active_start_time = 220000, @freq_interval = 62, @freq_subday_type = 1, @freq_subday_interval = 0, @freq_relative_interval = 0, @freq_recurrence_factor = 1, @active_end_date = 99991231, @active_end_time = 235959
  IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback


  — Add the Target Servers
  EXECUTE @ReturnCode = msdb.dbo.sp_add_jobserver @job_id = @JobID, @server_name = N'(local)’
  IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback


END
COMMIT TRANSACTION         
GOTO   EndSave             
QuitWithRollback:
  IF (@@TRANCOUNT > 0) ROLLBACK TRANSACTION
EndSave:


Para maiores informações sobre o comando de Backup, consulte por BACKUP DATABASE no Books Online do SQL Server.


 

Avaliação:
Compartilhe:
  • Anterior Como Atualizar do SQL Server 6.5/7.0 para o SQL 200021 anos atrás
  • Próximo Livros em .pdf para download21 anos atrás

Deixe uma resposta Cancelar resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

MVP Reconnect Award

Categorias

  • Artigos (359)
  • Dica da Semana (95)
  • Documentação (54)
  • Downloads (113)
  • MSDE 2000 (3)
  • Sem categoria (1)
  • Tutoriais (9)

Posts recentes

  • #FechouBrasil #PartiuPortugal
  • Brigando com o erro “The cached MSI file is missing”
  • MCDBABRASIL está de volta
  • Documentando o Servidor SQL Server
  • Brigando com os Erros 17182, 17826 e 17120

SQL Server AlwaysOn Video Series

Video1: Introdução ao SQLServer2012 AlwaysOn


Video2: Introdução ao SQLServer2012 AlwaysOn Availability Group


Video3: Introdução ao SQLServer2012 AlwaysOn AVG-Demo


Video4: Introdução ao SQLServer2012 AlwaysOn Listener


Video5: Introdução ao SQLServer2012 AlwaysOn Readable Secondaries


Video6: Introdução ao SQLServer2012 AlwaysOn Readable Secondaries-Demo


Video7: Introdução ao SQLServer2012 AlwaysOn Failover Clustering


Serie SQL Server Failover Clustering End-to-End

Parte 1: Configuração da Rede e Ambiente


Parte 2: Configurando o Windows 2008 R2 Domain Controler e DNS


Parte 3: Preparando os nós para o Failover Cluster


Parte 4: Configurando um Failover Cluster de 2 nós


Parte 5: Configurando as LUNs no iSCSI Software Target (Parte 1)


Parte 6: Configurando as LUNs no iSCSI Software Target (Parte 2)


Parte 7: Apresentando as LUNs para os nós do Failover Cluster


Parte 8: Configurando os discos no Failover Cluster


Parte 9: Instalando a primeira instância virtual do SQL Server 2008


Parte 10: Instalando a segunda instância virtual do SQL Server 2008


Parte 11: Instalando e Configurando o MSDTC no Failover Cluster


Parte 12: Configurando Mount Points no Cluster e SQL Server 2008


Vídeo Extra: Removendo uma Instância do SQL Server 2008 R2 em Cluster


Alta Disponibilidade no SQL Server 2008 R2: Failover Clustering Overview


Alta Disponibilidade no SQL Server 2008 R2: Failover Clustering na Prática

Menu

  • Home
  • Sobre
  • Contato

Mais

  • RSS Feeds
2026 MCDBA Brasil.