sexta-feira, 7 de outubro de 2016

SQL Server - Trace Flags

As Trace Flags alteram o comportamento da instância, database ou sessão de usuário, quanto ativas.

Elas podem ser resultado de um "workaround" (contorno/solução) de algum "bug" conhecido, ou terem sido recomendadas pelo suporte da Microsoft, ou simplesmente porque o DBA/programador estão fazendo alguma experimentação no banco de dados.

Em todo o caso, elas só deveria estar ativas por algum motivo bem específico e devidamente fundamentado.

Faz parte do check-list do DBA verificar quais flags estão ativas, principalmente em um ambiente desconhecido, para apurar possíveis causas de problemas.

Isto pode ser feito executando-se o comando abaixo:

DBCC TRACESTATUS

A lista completa (e em crescimento) de trace flags pode ser encontrada aqui, num belíssimo trabalho de compilação da descrição e fonte de referência para as mesmas:

http://www.sqlservice.se/updated-microsoft-sql-server-trace-flag-list/

Abcs!

quarta-feira, 21 de setembro de 2016

Blog do Dirceu Resende

Recomendo o Blog de de desenvolvimento e SQL Server do nosso amigo Dirceu Resende:

http://www.dirceuresende.com/blog/

Abcs!

Windows 10 - Erro ao acessar compartilhamento no Linux

Depois destas últimas atualizações do Windows 10, perdi o acesso a um compartilhamento no Samba, segue abaixo dicas pra resolução do problema:

https://techjourney.net/cannot-connect-to-cifs-smb-samba-network-shares-shared-folders-in-windows-10/

Abcs!

segunda-feira, 1 de agosto de 2016

Big Data e Data Science: mini-curso gratuito de Diego Nogare

Nosso colega e MVP Data Platform, Diego Nogare, montou um mini-curso muito bacana, falando mais sobre os conceitos envolvendo o assunto do momento: Big Data.

Sao 12 aulas, segue abaixo link da primeira aula.

Fonte:
http://www.datascienceinstitute.com.br/mini-curso-introducao-a-big-data-e-data-science-aula-1/

Aproveite!

sexta-feira, 29 de julho de 2016

Terça de Dados - Canal DBA Brasil

Estou acompanhando um blog DBA Brasil, criado pelo amigo DBA Fábio Cotrim e alguns amigos:
http://www.dbabr.com.br/blog/

Achei interessante uma seção chamada Terça de Dados:
http://www.dbabr.com.br/blog/index.php/category/tercasdedados/

Acompanhe também pelo YouTube:
https://www.youtube.com/channel/UCAZxnrkOD_PTrfMK3-SbCLA/videos

Recomendo!

quarta-feira, 27 de julho de 2016

Management Studio 2016

Última versão do Management Studio, atualizada em 14/07/2016, com uma série de bug fixes.

Pode ser utilizado desde a versão 2008 até a versão 2016.

Link: https://msdn.microsoft.com/en-us/library/mt238290.aspx

terça-feira, 26 de julho de 2016

Propriedade do Database - Delayed Durability

A propriedade "delayed durability" do database muda a forma de gravação do log em disco.


Por padrão, a mesma está desligada (DISABLED), e o log é gravado em disco assim que possível, conforme a fila.

Quando esta opção é alterada para ALLOWED ou FORCED, a transação é marcada como gravada e o processo de gravação em disco é feito em background.

Fazendo um paralelo com o Oracle, trata-se da opção COMMIT WRITE... NOWAIT.

Neste momento, o banco está abrindo mão do "D" da regra ACID, e o banco pode se comportar de maneira inesperada, ficando inconsistente.

Em ambientes onde percebe-se o wait tipo WRITELOG, algum DBA pode recomendar que esta opção seja alterada, para resolver o gargalo do log de transações.

Eu preciso dizer que a alteração desta propriedade é extremamente desaconselhável.

Principalmente, se o seu sistema não tolera perda de dados (algum tolera ?)

Não digam que não avisei...

Mais informações:
http://sqlperformance.com/2014/04/io-subsystem/delayed-durability-in-sql-server-2014

domingo, 17 de julho de 2016

Autodidata

Olá,

se você é como eu, um autodidata nato, você não pode deixar de conferir o vasto conteúdo disponível nos sites abaixo, voltado para área de tecnologia:

EDX: https://www.edx.org/

Os cursos são gratuitos, com atividades semanais, e somente o certificado é pago, opcionalmente.

Uma parceria com diversas instituições, como MIT, Harvard, Berkeley, entre outras, portanto, o conteúdo é de altíssima qualidade.

O outro site é da própria Microsoft, com grupos de estudo para quem está se preparando para algum exame de certificação, com muito material disponível e muitos vídeos.

Born to Learn: https://borntolearn.mslearn.net/

Vão faltar horas no seu dia, aproveite !

quinta-feira, 14 de julho de 2016

Desastre - RPO e RTO

Créditos da Imagem: http://www.hill2dot0.com


No planejamento da estratégia de HA/DR (alta disponibilidade/recuperação de desastres), é muito importante definir os níveis de SLA com seu gestor e/ou cliente, aceitáveis para o negócio.

Se você ainda não definiu uma estratégia de BACKUP das informações, este é o momento.
Num evento de desastre, é inútil lamentar...

Os conceitos aqui apresentados não servem apenas para SQL Server, mas sim, se aplicam a todos os bancos de dados, e se extendem à todas as informações relevantes para o negócio.

Para simplificar então:

- RPO significa o PONTO de recuperação das informações.
Em outras palavras, em que momento as informações do backup estão 100% aproveitáveis.

- RTO significa o TEMPO de recuperação das informações.
Em outras palavras, quanto tempo vou levar para disponibilizar a aplicação para o usuário final, com todas as informações intactas.

Aqui há uma discussão sobre a Matriz de Responsabilidades e SLA, pois vários fornecedores podem estar envolvidos no processo de recuperação do ambiente, e cada um responde pela sua parte, e a sua atividade vai depender da atividade anterior.

Como exemplo, o sistema depende do banco de dados, que depende do sistema operacional, que depende de um componente (disco por exemplo), que depende do fabricante, e assim por diante.

No entanto, cabe a cada um dos envolvidos reduzir ao máximo os tempos destes 2 indicadores.

No caso de banco de dados, dependendo do tamanho total dos arquivos a serem recuperados, há que se balancear os tempos destes 2 indicadores.

Você pode ter que abrir mão de um em relação ao outro, de acordo com as necessidades do negócio.

Na sua estratégia de backup, considere a plataforma Azure da Microsoft, por exemplo, que pode lhe ajudar com uma solução de HA (alta disponibilidade).

Mais informações no blog do Vitor Fava:
https://vfava.wordpress.com/2013/08/20/dicas-para-dba-iniciante-estrategia-de-backup/

Mais informações no blog do Thomas LaRock:
http://thomaslarock.com/2016/07/survive-any-database-disaster/

Abcs!

quarta-feira, 13 de julho de 2016

Excellent article from Kimberly about Isolation Levels

If you want to understand better what are the main Isolation Levels available on SQL Server, this article from Kimberly Tripp (SQL Server MVP) is a must.

http://www.sqlskills.com/blogs/kimberly/locking-isolation-and-read-consistency/

It discusses about locking strategies and how to avoid blocking, one of the biggest issues developers have to deal it when designing applications for databases in general.

Have a good reading!

terça-feira, 12 de julho de 2016

SQL Server Video Archive

98 vídeos sobre diversos tópicos ref. SQL Server:

- Integration Services;
- Master Data Services;
- PowerPivot for Excel;
- Data Quality Services;
- Data Mining;
- Analysis Services;
- Microsoft Certified Master;
- e muito mais!

Só baixar e assistir, em 2 formatos disponíveis (WMV e MP4).

Imperdível!

Fonte: https://technet.microsoft.com/en-us/dn912438

segunda-feira, 11 de julho de 2016

SQL Server 2014 SP2 Liberado

Liberado novo Service Pack do SQL Server 2014, com uma série de correções e novidades.

Download: https://support.microsoft.com/en-us/kb/3171021

Novidade: Comando DBCC CLONEDATABASE

Utilizado para criar uma cópia da estrutura (schema) e das estatísticas de um database, para fins de análise de performance.

Como utilizar: https://support.microsoft.com/en-us/kb/3177838

Fonte: http://sqlserverupdates.com/news/sql-server-2014-sp2-released/

Em detalhes:
http://www.webtelligence-itc.net/webtelligence-itc-blog/2016/7/13/sql-server-2014-sp2-is-released-huge-improvements.html

Características disponíveis somente na versão Enterprise

Principais características disponíveis somente na versão Enterprise Edition (EE) do SQL Server:

- Always Encrypted: criptografia de colunas com informação sensitiva, através de chaves;

- Transparent Data Encryption (TDE): proteção de dados com criptografia (backups e arquivos de dados);

- AlwaysOn Availability Groups: solução HA/DR (Alta Disponibilidade e Disaster Recovery);

- Change Data Capture: log/auditoria de alterações em tabelas;

- Column Store Index: tipo de índice especial de coluna, voltado para Data Warehouse;

- Data Compression: compressão de dados de linhas e páginas de tabelas;

- Database Snapshot: backup instantâneo do database, para fins de relatórios históricos;

- In Memory OLTP: opção para colocar vários objetos diretamente em memória;

- Master Data Services Database: sistema de organização e padronização de dados de múltiplas fontes;

- Online Indexing: "rebuild" de índices sem gerar bloqueios (locks) para a aplicação;

- Oracle Publishing: permite utilizar o Oracle como publicador de uma replicação SQL Server;

- Mirrored Backups: backups espelhados para 2 locais, em paralelo;

- NUMA Aware: fácil integração com sistemas de arquitetura NUMA;

- Resource Governor: controle de CPU e Memória por usuário ou grupo;

- R Server: serviço fornecedor utilizado pela linguagem "R";

- Table and Index Partitioning: particionamento de tabelas e índices.

Fonte: https://msdn.microsoft.com/en-us/library/cc645993.aspx

sexta-feira, 8 de julho de 2016

Exames para Certificação SQL Server 2016

Segue informações sobre os exames (atualizados) para Certificação no SQL Server 2016:

https://borntolearn.mslearn.net/b/weblog/posts/certification-update-sql-2016

Abcs!

terça-feira, 5 de julho de 2016

DatabaseCast: Como ser um DBA ogro!

Ótimo podcast sobre banco de dados!

http://imasters.com.br/banco-de-dados/databasecast-dba-ogro/?trace=1519021197&source=author-archive

Vale a pena conferir, recomendo.

Não deixe de dar uma espiadinha na loja, com alguns brindes, como essa caneca que contém as funções de manipulação de datas em vários bancos.

http://www.zazzle.com.br/caneca_datassql_branca_325ml-168900583784663517

Abcs!

Migracao de Database SQL 2005 -> SQL 2016

Qual o nível de dificuldade de migração de um database que está na versão SQL 2005 para qualquer outra versão mais recente ?

A resposta é Zero!

Você pode simplesmente fazer um detach/attach ou restaurar um backup da versão mais antiga para a versão mais nova, sem a necessidade de passos intermediários.

Não se esqueça de rodar a atualização de estatísticas após a migração !

Mais informações:
http://www.sqlskills.com/blogs/paul/you-can-upgrade-from-any-version-2005-to-any-other-version/

terça-feira, 28 de junho de 2016

Planos de Manutenção

Olá, tudo bem?

Pra você que descobriu os "Maintenance Plans" ou "Planos de Manutenção" do SQL Server, onde você pode configurar os backups, reorganização diária de índices e tabelas, "shrink" etc...

Simplesmente pare!

Em especial, o "shrink", é extremamente desnecessário, e deve ser utilizado somente quando os registros das tabelas de um filegroup são apagados, e muito espaço foi liberado.

Vejo sistemas por aí, que fazem "shrink" dos databases toda noite... sem comentários.

Não acredita em mim ?

Segue uma referência de respeito, Brent Ozar:
https://www.brentozar.com/archive/2009/08/stop-shrinking-your-database-files-seriously-now/

Então faça um favor ao SQL Server, desligue o "auto-shrink" de todos os databases, e exclua esse Plano de Manutenção automático, que só demonstram a incompetência de quem está gerenciando este ambiente.

Crie um plano de atualização de estatísticas, e comece a monitorar a fragmentação dos índices, pra organizar uma reindexação/reorganização somente dos índices necessários, de forma periódica.

Esta aparente facilidade de gerenciamento do SQL Server, faz com que muitos DBAs deixem de fazer o trabalho básico de observação e compreensão do funcionamento do mesmo, e acabem por deixar as coisas no modo automático.

PS. O(s) fornecedor(es) do(s) software(s) ainda tem acesso ao usuário "SA" ou tem um usuário com a role "sysadmin" ? Passe no RH por gentileza...

quinta-feira, 23 de junho de 2016

Comparação SQL Server x PostgreSQL

Para pessoas sem restrições de aprender outro banco de dados, sem ficar dizendo o que "seu" é que é o melhor... segue um comparativo macro entre o PostgreSQL e SQL Server.

http://www.davewentzel.com/content/postgresql-sql-server-guy

Estou estudando este banco de dados e preciso dizer que é muito parecido com o SQL Server, principalmente na sua programação PL/pgSQL.

Nos meus treinamentos de SQL Server, sempre tem algum aluno que já utiliza o PostgreSQL e fala maravilhas do mesmo.

Abcs!

terça-feira, 14 de junho de 2016

3 conceitos pra simplificar a vida do desenvolvedor

Esses 3 conceitos sempre me acompanharam durante minha vida como programador, de forma inconsciente:

KISS: Keep It Simple Stupid
Ou seja, não complique, mantenha as coisas na sua forma mais simplificada.
Este conceito não serve apenas para desenvolvimento de software, mas sim, para a vida!

YAGNI: You Aren't Gonna Need It
Não coloque funções extras no software, que você nunca irá utilizar.
Foque no escopo!

DRY: Don't Repeat Yourself
Centralize funções ou blocos de programa que façam coisas parecidas.
Desta forma, no dia em que der problema ou se precisar expandir, você irá mexer num ponto único.

Abcs!

Fonte: http://pt.slideshare.net/jeppec/agile-ddd-cqrs

terça-feira, 31 de maio de 2016

Lumina - Banco de Dados

Olá a todos!

Gostaria de apresentar a empresa Lumina, de Blumenau/SC, especialista em monitoramento e projetos para banco de dados Oracle e SQL Server.

http://site.lumina.inf.br/servicos/banco-de-dados/

Com toda sua equipe certificada em Oracle e SQL Server, a Lumina também tem grande experiência em Projetos de:

- instalação de servidores Standalone, RAC e Cluster;
- migração de sistemas entre vários fornecedores de bancos de dados;
- análise abrangente de ambiente;
- tuning/performance de aplicações;
- políticas de segurança;
- desenvolvimento de rotinas de coleta de estatísticas;
- melhores práticas em rotinas de backup.

A Lumina também é revendedora de Licenças Oracle, Suporte Oracle Database e demais aplicações.

quarta-feira, 18 de maio de 2016

Processos - sp_who

Quais as sessões estão rodando na minha instância?

1. sp_who: procedure padrão e suportada pela documentação do SQL Server.

2. sp_who2: é uma variação da procedure "sp_who", com mais colunas.

3. sp_whoisactive: script desenvolvido por Adam Machanic, que retorna uma série de informações adicionais, tais como o percentual de andamento do processo. Script indispensável para qualquer DBA.

Autor: Machanic, Adam.
URL: http://sqlblog.com/files/folders/beta/entry42453.aspx

Management Studio - The application cannot start

Erro comum ao iniciar o SQL Server Management Studio:

"The application cannot start".

Executar o seguinte comando:

devenv /resetuserdata

Pronto!
Se tiver mais alguma dica, mande nos comentários.

Abraços e até a próxima!