MVP, Pythian e SQLSat Porto

Fala galera, várias novidades pra contar pra vocês… Vamos lá.   MVP   Dia ‘20140701’ chegou e trouxe o dia em que eu renovaria ou não meu título de MVP em SQL Server, e depois de muita ansiedade finalmente o tão aguardado e-mail chegou. Pois é, fui novamente abençoado com o título MVP em SQL […]

Aplicando Tratamento de Erros no Microsoft SQL Server 2012 e 2014 – Utilizando o Comando THROW.

Bom tarde, Comunidade e Amantes do Microsoft SQL Server. Tudo bem? No último mês de Abril a Microsoft lançou a última versão do Microsoft SQL Server, conhecida como 2014, que internamente é tratada como versão de número 12. Mas ainda estou focado em evoluir o meu conhecimento e experiência na versão 2012, que particularmente foi […]

Clustered Columnstore Indexes – part 34 (“Deleted Segments Elimination”)

Continuation from the previous 33 parts, starting from http://www.nikoport.com/2013/07/05/clustered-columnstore-indexes-part-1-intro/ Segment Elimination for Deleted Row Groups After some very interesting and inspiring conversations during SQLBits, I came to an idea of testing a Segment Elimination while working with a fully deleted…

Tunning no SharePoint e SQL Server com o Developer Dashboard

  Fala galera, mais um artigo no WIKI: “Tunning no SharePoint com o Developer Dashboard” http://social.technet.microsoft.com/wiki/pt-br/contents/articles/25451.sharepoint-2013-tunning-no-sharepoint-com-o-developer-dashboard.aspx Abraço, Demétrio Silva

Recuperando a base de sistema tempdb após um crash de disco!

Olá pessoal tudo certo? Espero que sim! Hoje irei simular a perda de um disco com os arquivos da base de sistema tempdb em uma instalação do SQL Server stand-alone, após o crash da instância, irei mostrar como você pode contornar a situação! Vamos lá!

Simulando o problema...

Tenho dois discos, o disco T: é exclusivo da TEMPDB.


Rodando o comando sp_helpfile no banco de dados TEMPDB, veja que os dois arquivos estão no disco T:


Parei o serviço da instância do SQL Server via Configuration Manager, por estar em um SQL Server stand-alone também seria possível fazê-lo através de outros mecanismos como por exemplo usando o NET STOP.:


Depois fui até o Disk Management, cliquei com o botão direito sobre o disco T:, selecionei “Delete Volume” e confirmei a operação:
 


Pronto, o disco T: está fora da jogada e os arquivos do TEMPDB também:


De volta ao Configuration Manager, tentei iniciar a instância do SQL Server:
 

Não funcionou, fui até o diretório de log da instância, e abri o ERRORLOG:


No ERRORLOG visualizei os seguintes erros no final do arquivo:

2014-05-30 13:26:22.24 spid10s     Clearing tempdb database.
2014-05-30 13:26:22.24 spid10s     Error: 5123, Severity: 16, State: 1.
2014-05-30 13:26:22.24 spid10s     CREATE FILE encountered operating system error 3(The system cannot find the path specified.) while attempting to open or create the physical file 'T:\Data\tempdb.mdf'.
2014-05-30 13:26:22.29 spid10s     Error: 17204, Severity: 16, State: 1.
2014-05-30 13:26:22.29 spid10s     FCB::Open failed: Could not open file T:\Data\tempdb.mdf for file number 1.  OS error: 3(The system cannot find the path specified.).
2014-05-30 13:26:22.33 spid10s     Error: 5120, Severity: 16, State: 101.
2014-05-30 13:26:22.33 spid10s     Unable to open the physical file "T:\Data\tempdb.mdf". Operating system error 3: "3(The system cannot find the path specified.)".
2014-05-30 13:26:22.45 spid10s     Error: 1802, Severity: 16, State: 4.
2014-05-30 13:26:22.45 spid10s     CREATE DATABASE failed. Some file names listed could not be created. Check related errors.
2014-05-30 13:26:22.45 spid10s     Could not create tempdb. You may not have enough disk space available. Free additional disk space by deleting other files on the tempdb drive and then restart SQL Server. Check for additional errors in the event log that may indicate why the tempdb files could not be initialized.
2014-05-30 13:26:22.46 spid10s     SQL Trace was stopped due to server shutdown. Trace ID = '1'. This is an informational message only; no user action is required.

Resolvendo o problema...

Para superarmos este problema, temos que subir o SQL Server usando o parâmetro /f e o traceflag 3608, os mesmos usados no post: (http://sqlmagu.blogspot.com.br/2014/01/movimentacao-incorreta-da.html). O parâmetro -f, indica que quero subir o SQL Server com uma configuração mínima, montando apenas o Resource Database e o master. E o trace flag 3608 serve para não fazer o recovery dos bancos de dados de usuário. Uma vez que meu SQL Server é uma instalação stand alone, irei usar o NET START num prompt de comando elevado. E não se esqueça de trocar o texto em vermelho pelo nome da sua instância do SQL Server:

NET START MSSQL$SQLTEST /f /t3608

Se tudo estiver correto vocês verão a mensagem abaixo:


Notem que na snap-in de Services, o serviço da instância do SQL Server está iniciado:


Como estamos no modo mínimo, apenas um sysadmin poderá se logar por vez no SQL Server, então, vou me conectar ao SQL Server via SQLCMD rodando o comando abaixo:

SQLCMD –S .\SQLTEST –E
  
O –S server para indicar o nome da instância, enquanto que o –E indica uma conexão com login integrado, ou seja, o usuário que está logado no Windows deve possuir privilégios para acessar o SQL Server. Se o comando der certo, estaremos dentro do SQL Server:


Agora basta executarmos um ALTER DATABASE e apontar os arquivos da TEMPDB para um caminho novo em outro disco. Para saber qual nome dos arquivos da TEMPDB que foram perdidos junto com o disco T:,  rode o comando abaixo:

SELECT * FROM SYSALTFILES WHERE DBID = 2
GO

Você verá algo como a seguir:


Agora vou rodar os comandos abaixo para apontar novos caminhos para estes arquivos: 

ALTER DATABASE TEMPDB MODIFY FILE (NAME=’TEMPDEV’, FILENAME=’C:\DATA\TEMPD.MDF’)
GO

ALTER DATABASE TEMPDB MODIFY FILE (NAME=’TEMPLOG’, FILENAME=’C:\LOG\TEMPLOG.LDF’)
GO 

Agora, saia do SQLCMD pressionando CTRL + C, pare o serviço do SQL Server e inicie-o normalmente. Se o serviço iniciar sem problemas, vá até o Management Studio, conecte-se na instância e dispare os comandos abaixo:

USE TEMPDB
GO
SP_HELPFILE 

Pronto! É possível ver que os arquivos estão localizados no novo caminho dentro da unidade "C":
 

Espero que tenham gostado do post! Um abraço!
http://www.virtualpass.com.br/

Recuperar DML através do Transaction Log

Todos sabem que quando é feita uma operação no banco muita coisa passa pelo Transaction Log. Pode ser de minimamente logado ou até quase absolutamente tudo e todo mundo sabe que é possível restaurar tudo do que foi feito através dos arquivos de backup. O script abaixo é o tipo de script que vale muito ser guardado com todo o carinho … Continuar lendo

Um pouquinho de PowerShell – Criando usuários locais no Windows Server

Olá pessoal, Minha área não é e nunca foi PowerShell, mas aqui onde trabalho a equipe administra mais de 500 servidores e sabe-se lá quantas instâncias e estávamos com a necessidade de criar os usuários locais no Windows Server para todos os membros da equipe de DBA. Com um pouco de pesquisa na internet e a ajuda […]

#Dica – Meu SQL Server foi reiniciado! Quando?

Fala galera, Uma forma rápida para descobrir desde quando o SQL Server está rodando é a seguinte:   Abraços e até uma próxima

Novo canal Youtube

Estou aqui pra divulgar um novo canal do youtube o SQL 8k. A ideia deste canal surgiu há algum tempo e muito conteudo foi sendo gerado para que esse canal se tornasse realidade. Mais recentemente fizemos um vídeo com os palestrantes do SQL Saturday #284 para o evento e este é o vídeo que abre os…

MVP 5.0, copa do mundo, carreira, Nimbus…

Em Julho tive a grata notícia da renovação do meu título de MVP por mais um ano. Sempre rola um frio na barriga esperando o e-mail em 1º de Julho, que é o meu ciclo de renovação, mas correu tudo bem e estou feliz por não ter que alterar minha assinatura de e-mail. Legar também ver que Fabiano Amorim e Diego Nogare renovaram, e tivemos a nomeação do Marcelo Fernandes, outro conhecido da comunidade SQL Server.

Conhecendo os MVPs, meu recente contato com outras tecnologias e a comunidade técnica de SQL Server, digo com certeza: Agradeça por existir uma comunidade tão vibrante em torno de um produto! É muito satisfatório poder participar de encontros técnicos, SQLSats, eventos online e continuamente aprender sobre um produto com diferentes pessoas.



E o que espero para 1º de Julho de 2015? Que eu escreva um post de MVP 6.0, mas quero que a cada ano esse e-mail seja mais “suado”, não porque minhas contribuições vão diminuir, pelo contrário, porque torço para que sempre outros candidatos a MVPs estejam surgindo e contribuindo bastante, para que novos experts surjam e que as discussões fiquem cada vez mais avançadas. Assim vamos criando uma cultura positiva e ajudando uns aos outros.



Em Julho também foi o encerramento da nossa copa do mundo, campeonato que eu vivi intensamente. De um início onde eu não estava me importando (veja P.S.1!), mesmo sendo viciado em jogar futebol, até o dia em que um amigo me liga e diz: comprei os jogos de Brasília, só falta você transferir o dinheiro (de graça não foi, infelizmente! :-)). Depois do primeiro jogo da seleção, da ida ao estádio, de cantar o hino nacional e resolver torcer para valer, eu estava envolvido. E sofri demais na humilhação dos dois últimos jogos, principalmente no 7x1 da Alemanha, em que não saí da frente da televisão até o apito final.



E o que a copa e a surra da Alemanha têm a ver com esse blog? Ouvi de uma pessoa que foi apenas um jogo, perdeu e pronto, nada demais... Será??? Discordo, e quem pensa isso acho que poderia aproveitar melhor o contexto e exemplos que lhe são oferecidos. Tivemos uma demonstração do que a aplicação, trabalho em equipe e planejamento podem trazer, que somente a raça ou talento de poucos não ganha jogo (muito menos estilo duvidoso e cabelo pintado!). Quem não consegue traçar um paralelo disso com sua carreira ou trabalho, está realmente perdido.



Muitos querem ser como os campeões Alemães, ganhar excelentes salários, ter destaque nas suas empresas, reconhecimento pelo trabalho bem feito e saborear a maravilhosa sensação depois de grandes conquistas. Porém poucos tem a coragem de correr atrás de um objetivo maior, de aceitar o desafio e tentar se superar, de entender quais são seus defeitos, de pedir ajuda e estar continuamente melhorando. E assim esses serão atropelados por outros profissionais (P.S.2!), equipes ou empresas, e ficarão atordoados, como o time do Brasil ficou, e boa parte da nação também.



São esses momentos que colocam a gente para pensar, todo mundo passa por isso na vida, no meu caso pelo menos uma vez por ano. Depois de um triste episódio no ano passado parei para refletir e decidi experimentar a vida de DBA DB2 no Sicoob, decisão que não me arrependo, porém inevitavelmente diminuiu o ritmo da Nimbus... Situação que está mudando recentemente, também depois de longos períodos de reflexão, e espero que você que aprecia treinamentos diferenciados ministrados por Profissionais, possa aproveitar.



Em um mundo de constantes mudanças, principalmente para quem vive na área de tecnologia, o dia de amanhã vai trazer novas surpresas. Cabe a você decidir se quer estar preparado e receber uma boa notícia, ou continuar achando que a vida é injusta e que o jeitinho brasileiro vai resolver tudo na hora H, como funcionou extremamente bem na copa do mundo. :-(

Um grande abraço de um geek que continuamente pensa que não sabe merda nenhuma, mas acredita que está indo no caminho certo, e quer aproveitar com intensidade o que essa vida tem a oferecer.


sr. Nimbus Serviços em Tecnologia - www.srnimbus.com.br



P.S.1: Temos muita coisa errada nesse país, que muito dinheiro foi desperdiçado e roubado para essa copa do mundo acontecer, mas não vou entrar nesse mérito aqui. Acho que temos sim que lutar por melhorias e que muito começa em casa, sendo um processo paulatino, mas que ainda batalharemos por muitas mudanças.



P.S.2: Mas fique tranquilo que mesmo com profissionais melhores, você não ficará sem emprego, pois o mercado é uma mãe! O déficit de profissionais gera vaga para todo mundo, então qualquer um zé mané tem vaga hoje, mas quem sabe essa situação não muda...

Go to Top