Mostrando postagens com marcador windows. Mostrar todas as postagens
Mostrando postagens com marcador windows. Mostrar todas as postagens

sábado, 21 de janeiro de 2012

Um milagre que nunca mais ocorreu.



Windows Vista Leve

terça-feira, 3 de janeiro de 2012

Automatizando Backups no SQL Server Express


1) O primeiro passo é acessar seu servidor SQL Express e criar um diretório para o armazenamento dos arquivos de backup e seus respectivos logs. Como exemplo, crie o diretório Backups no disco C: (C:/Backups).
2) O segundo passo é copiar a procedure com o nome expressmaint.sql no servidor.
3) Salve o script na pasta C:/Backups.
4) Agora é preciso criar esta procedure no banco de dados Master do SQL Express. Para isto, abra o SQL Server Management Studio Express e com ele execute a proecedure:
5) Abra a ferramenta SQL Server Surface Area Configuration (Iniciar|Programas|Microsoft SQL Server 2005|Configuration Tools)
6) Selecione o link Surface Area Configuration for Features
7) Selecione a opção OLE Automation e clique sobre Enable OLE Automation. A ativação deste feature é necessária para o correto funcionamento da procedure. É possível que a execução da procedure já o tenha abilitado, mas vale ir dar uma olhada.
8) Clique em OK e feche a ferramenta
9) Criada a procedure e ativada a feature de OLE Automation, é preciso então criar um segundo arquivo que quando executado pelo utilitário sqlcmd.exe, irá realizar a chamada da procedure. Para isso, copie o script abaixo e salve-o como um arquivo dentro do diretório C:/Backups com o nome databasemaint.sql ou copie o arquivo de mesmo nome no servidor.
EXEC expressmaint
@database = '$(DB)',
@optype = '$(TYPE)',
@backupfldr = '$(BACKUPFOLDER)',
@reportfldr = '$(REPORTFOLDER)',
@dbretainunit = 'days',
@dbretainval = 1,
@report = 1
10) Criado o arquivo databasemaint.sql, pode-se então usar o utilitário sqlcmd.exe para chamar este arquivo e disparar a procedure expressmaint, executando então o backup desejado. Veja um exemplo na figura abaixo:



Observer que no exemplo o utilitário sqlcmd é chamado passando os seguintes parâmetros:
-S ==> O nome do servidor SQL Express
-E ==> Informa ao utilitário para se conectar no SQL Express usando a conta de usuário logada no Windows.
-i ==> Informa a localização do arquivo databasemaint.sql
-v ==> São os parâmetros utilizados dentro do arquivo databasemaint.sql. Neste caso, o sqlcmd substituirá a variável $(DB) (que está dentro do arquivo), pelo nome do banco passado no parâmetro DB. Aqui você pode passar o nome de um banco específico, ALL_USER para fazer backup de TODOS os bancos de usuário ou ainda ALL_SYSTEM para fazer backup apenas dos bancos de sistema (como visto no segundo exemplo da figura - janela DOS).
Para o parâmetro TYPE, você pode passar:
DB - Para backup Full
DIFF - Para backup differencial
LOG - Para backup de Log
CHECKDB - Para checar a integridade da base ou bases
REINDEX - Para executar um REINDEX nas bases
REORG - Para executar uma reorganização de todos os índices
Os parâmetros BACKUPFOLDER e REPORTFOLDER informam o caminho para armazenar os backups e seus respectivos logs.
11) Uma vez que os backups estão sendo executados com sucesso, você pode automatizar o processo para que este seja executado de forma automática. Como o SQL Express não possui o serviço SQL Serve Agent - que lhe permitiria criar jobs para a execução destas tarefas, a alternativa é criar os jobs através do Scheduled Tasks do Windows. Para isso, efetue um duplo-click na opção Scheduled Tasks no painel de controle do Windows.
12) Execute um duplo-click sobre a opção Add Scheduled Tasks para iniciar o Winzard.
13) Clique sobre o botão Browse e localize o utilitário sqlcmd.exe (por default está em C:|Program Files|Microsoft SQL Server|90|Tools|Binn).
14) Entre com um nome para o job (exemplo BackupSQLExpress), escolha a periodicidade de execução do job (por exemplo Daily) e clique em Next.
15) Entre com um horário para execução do job e clique em Next
16) Entre com o usuário e senha que será usado para executar o job. Use um usuário que seja administrador no Windows e no SQL Express.
17) Clique em Next e selecione a opção para abrir as propriedades avançadas do job. Clique em Finish.
18) Na caixa Run, apague o conteúdo existente e entre com:
sqlcmd -S ./SQLEXPRESS -E -i"C:/Backups/databasemaint.sql" -v DB="DBTESTE" -v TYPE="DB" -v BACKUPFOLDER="C:/backups" -v REPORTFOLDER="C:/backups"
Nota: Novamente não esqueça de substituir as barras (/) da linha acima pela barra de separação de diretório. Observe a figura abaixo.




19) Clique em OK e confirme a senha para o usuário novamente.
Pronto, agora o job está criado e será executado automaticamente pelo Windows nos horários e dias agendados. Para testar o job clique sobre o mesmo com o botão direito e selecione a opção Run. Verifique se os arquivos de backups e logs foram criados no diretório C:/Backups. Caso ocorra algum problema, certifique-se de ter alterar a barra (/) na linha de comando e de ter digitado a senha correta para o usuário.


sexta-feira, 2 de dezembro de 2011

Windows viaja no tempo.

Incrível, o Windows consegue modificar um arquivo antes mesmo de ele ser criado. Vejam o print.


Criado em 15 de junho de 2011 e modificado em 12 de maio de 2011, + ou - uns 2 meses antes, haha.

Ok, eu sei como é que isso pode acontecer, mais eu não poderia perder a piada. E por mais que seja possível, não deixa de ser bizarro =P