Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouFábio Bentes Casado Alterado mais de 8 anos atrás
1
SQL Saturday #469 - Brasília Assumi o cargo de DBA. O que devo aprender para ontem? Fabrício Lima | FabricioLima Soluções em BD E-mail: fabricio@fabriciolima.net Site: http://www.fabriciolima.net/
2
Patrocinadores
3
Agenda O que devo aprender para ontem sobre: Instalação do SQL Server Gerenciamento de Acessos Tarefas diversas do Dia a Dia Backup e Restore SQL Agent Tuning Soluções de HA e DR
4
DBA acomodado diz: “Essa parte é fácil. Pode pular para o próximo tema” “Só dar next->next->finish” “Já instalei um monte de SQL e até hoje estão funcionando” AO NEXT->NEXT->FINISH!!! CAMPANHA : O que devo aprender para ontem sobre a instalação do SQL Server?
5
Escolher a versão mais adequada para sua empresa Custo x Funcionalidades Escolher a localização para as bases do SQL Server Dados, Logs e TempDB Definir a Collation que vai ser utilizada pela instância Definir as contas de serviço do SQL Server Contas de Domínio (uma por serviço) Definir quais recursos e serviços serão instalados. Precisa do SSRS e SSAS? Instalação de Service Pack e Patches
6
O que devo aprender para ontem sobre a instalação do SQL Server? Cost Threshlod for Parallelism Max Degree of Parallelism Instant File Initialization Configuração do Database Mail Configuração da memória do SQL Server Deve conhecer para que serve as bases de sistema (Master, MSDB, MODEL e principalmente TEMPDB).
7
O que devo aprender para ontem sobre a instalação do SQL Server? Referências: Versão e instalação: http://www.microsoft.com/en-us/server-cloud/products/sql-server-editions/ http://msdn.microsoft.com/en-us/library/cc645993.aspx http://www.mssqltips.com/sqlservertip/3244/quick-guide-to-installing-sql-server-2014/ http://blogs.msdn.com/b/pfebrasilsql/archive/2014/10/03/configurando-o-min-server-memory- e-max-server-memory-parte-1.aspx http://blogs.msdn.com/b/pfebrasilsql/archive/2014/12/04/configurando-o-min-e-max-server- memory-parte-2.aspx Virtualização: http://sqlmag.com/sql-server/sql-server-virtualization-tips Webcast sobre Instalação do SQL Server com Vitor Fava Parte 1: https://vfava.wordpress.com/2015/03/25/webcast-guia-de-instalacao-do-sql-server- 2014-parte-1/ Parte 2: https://vfava.wordpress.com/2015/05/08/webcast-instalacao-e-configuracao-do-sql- server-parte-2-3/ IFI http://www.sqlskills.com/blogs/kimberly/instant-initialization-what-why-and-how/ Collation http://sqlmag.com/blog/forcing-collation-where-clause-22-jun-2011
8
O que preciso aprender para ontem sobre Gerenciamento de Acessos? DBA acomodado diz: “Esse negócio de acesso também é tranquilo” “Libero uma permissão que tem lá chamada de sysadmin e nunca mais ninguém vem me encher a paciência com acessos... Funciona de boa” “Acabou com aquela chatice de desenvolvedor toda hora pedindo acesso a uma base diferente” CAMPANHA: SYSADMIN AO DBA!!!
9
O que preciso aprender para ontem sobre Gerenciamento de Acessos? Criação de Logins Windows/SQL Server authentication Senhas fortes por favor!!!
10
O que preciso aprender para ontem sobre Gerenciamento de Acessos? Permissões serão dadas em 3 níveis: Servidor (Server Roles) sysadmin Database (Database Roles) db_Owner, db_datareader e db_datawriter Objeto (Table, View, Function ou Procedure) Grant Deny Revoke
11
O que preciso aprender para ontem sobre Gerenciamento de Acessos? Referências: http://www.mssqltips.com/sqlservertip/1887/understanding-sql-server-fixed- server-roles/ http://www.mssqltips.com/sqlservertip/1900/understanding-sql-server-fixed- database-roles/ http://www.mssqltips.com/sqlservertip/1138/giving-and-removing-permissions- in-sql-server/
12
O que preciso aprender para ontem sobre algumas Tarefas do Dia a Dia do DBA? Criação de Tabelas Tipos de Dados Números: Bigint, Int, Smallint, Tinyint, Numeric, Bit Data e Hora: Datetime, Date, Time Cadeias de caracteres: Char, Varchar, NVarchar e Text Constraints Primary Key Foreign Key Unique Check Default
13
O que preciso aprender para ontem sobre algumas Tarefas do Dia a Dia do DBA? Detach e Attach DBCC CHECKDB http://www.sqlskills.com/blogs/paul/cat egory/checkdb-from-every-angle/
14
O que preciso aprender para ontem sobre algumas Tarefas do Dia a Dia do DBA? Shrink
15
O que preciso aprender para ontem sobre algumas Tarefas do Dia a Dia do DBA? Referências: Page Verify: http://www.littlekendra.com/2011/01/25/pageverify/ Criação de Tabelas: Sintaxe CREATE TABLE - http://msdn.microsoft.com/pt-br/library/ms174979.aspx Tipos de Dados - http://msdn.microsoft.com/pt-br/library/ms187752.aspx http://sqlhints.com/2011/12/23/difference-between-varchar-and-nvarchar/ Constraints Primary key: http://www.techonthenet.com/sql_server/primary_keys.php Foreign Key: http://www.techonthenet.com/sql_server/foreign_keys/foreign_keys.php Unique: http://sqlhints.com/2013/06/02/difference-between-primary-key-and-unique-key-in-sql-server/ Check: http://www.techonthenet.com/sql_server/check.php Default: http://www.mssqltips.com/sqlservertip/1425/working-with-default-constraints-in-sql-server/ Import e Export: http://www.mssqltips.com/sql-server-tip-category/115/import-and-export/ Linked Server: http://www.mssqltips.com/sql-server-tip-category/56/linked-servers/ Detach e Attach: https://msdn.microsoft.com/en-us/library/ms190794.aspx Shink: http://www.sqlskills.com/blogs/paul/category/shrink/
16
Recovery Model Simple, Bulk-Logged e FULL Tipos de Backup: FULL Diferencial Log File\Filegroup O que preciso aprender para ontem sobre Backup? Para pensar: “Quem tem 2 backups tem 1 e quem tem 1 não tem nenhum”
17
O que preciso aprender para ontem sobre Restore? Restore Full da base: Backup Full Restore Diferencial: Backup Full + Backup Differential Restore do Log: Backup Full + Backup Differential + Bkp dos Logs Restore até uma hora específica: Bkp Full + Bkp Differential + Bks dos Logs com STOP AT Também pode ser realizado um restore de página Teste seu backup!!! “Se alguma coisa pode dar errado, dará. E mais, dará errado da pior maneira, no pior momento e de modo que cause o maior dano possível” by Edward Murphy
18
O que preciso aprender para ontem sobre Backup e Restore? Backup http://edvaldocastro.com/recovery-model/ http://edvaldocastro.com/backup01/ http://edvaldocastro.com/bkps-full-diff-log/ http://edvaldocastro.com/pt-br-sql-server-backup-internals-backup-full/ http://www.travisgan.com/2013/04/got-checksum-on-backup-check- again.html http://msdn.microsoft.com/pt-br/library/ms179355.aspx https://edvaldocastro.wordpress.com/2012/01/19/politicabkp/ https://www.simple-talk.com/sql/database-administration/sql-server-backup- and-restore-for-the-accidental-dba/ Restore: http://www.edvaldocastro.com/restore/
19
O que preciso aprender para ontem sobre o SQL Server Agent? Criar Alertas Você precisa aprender a criar e gerenciar Jobs no SQL Server!
20
O que preciso aprender para ontem sobre o SQL Server Agent? Configurar o envio de e-mail
21
O que preciso aprender para ontem sobre o SQL Server Agent? https://www.simple-talk.com/sql/database- administration/setting-up-your-sql-server-agent-correctly/ http://www.mssqltips.com/sql-server-tip-category/27/sql- server-agent/ Referências:
22
O que preciso aprender para ontem sobre TUNING? Procedure sp_WhoisActive Link para Download do código dessa procedure: http://sqlblog.com/blogs/adam_ machanic/archive/2012/03/22/r eleased-who-is-active-v11- 11.aspx http://sqlblog.com/blogs/adam_ machanic/archive/2012/03/22/r eleased-who-is-active-v11- 11.aspx São quase 5 mil linhas de código Adam Machanic
23
O que preciso aprender para ontem sobre TUNING? História Real Usuário: Meu relatório esta Lento! DBA: Lento Quanto? Usuário: Está demorando uns 15 minutos DBA: Eu conferi no meu log e ele está demorando 1 minuto. Mas pode deixar que vou tentar melhorar mais. Usuário: É isso mesmo. Não são 15 minutos não, é 1 minuto, me confundi! Mas está lento!!! DBA: Pronto. Agora está rodando em 2 segundos.
24
Que Log é esse que tem o poder de desmascarar um usuário? Server Side Trace (Profile) ou Extended Events Passo a passo para a criação de um Trace de queries demoradas no BD: http://www.fabriciolima.net/blog/2010/06/05/passo-a-passo-para- encontrar-as-querys-mais-demoradas-do-banco-de-dados-parte-1/ http://fabriciolima.net/blog/2010/06/05/passo-a-passo-para-encontrar- as-querys-mais-demoradas-do-banco-de-dados-parte-2/ Se usado de forma errada, o profile e até mesmo o XEvents pode parar seu banco de dados. O que preciso aprender para ontem sobre TUNING?
25
Índice Clustered Índice Nonclustered Heap (tabela sem um índice clustered) Índice com INCLUDE Page Split FillFactor Fragmentação de Índices REBUILD\REORGANIZE Índices no SQL Server Obs.: Nas anotações desse Slide tem um link com um script do Ola Hallengren para desfragmentar índices
26
DMV’s de índices dm_db_index_usage_stats – Essa dmv informa quantas vezes um índice foi utilizado desde a última vez que o SQL Server foi reiniciado (Informação valiosa). Obs.: A query está nas anotações do Slide O que preciso aprender para ontem sobre TUNING
27
O que preciso aprender para ontem sobre TUNING? DMV de índices sys.dm_db_missing_index_* – Esse conjunto de dmvs informam alguns índices que poderiam ser criados no banco de dados. Obs.: A query está nas anotações do Slide
28
O que preciso aprender para ontem sobre TUNING? Considerações para utilização: Analisar a quantidade de colunas do índice que está sendo sugerido Analisar o tamanho da tabela e a quantidade de vezes que o índice seria utilizado Analisar se já não existe um índice parecido com o que foi sugerido Após criar o índice, acompanhar com a DMV de utilização se esse índice foi utilizado ou não Em caso de pouca utilização, exclua o índice As vezes essa dmv indica índices que já existem (não é 100% confiável) NUNCA CRIE TODOS OS ÍNDICES INDICADOS POR ESSA DMV! sys.dm_db_missing_index_* (continuação)
29
Estatísticas no SQL Server Dica de Leitura: http://www.fabriciolima.net/blog/2011/06/29/rotina-para-atualizar-as- estatisticas-do-seu-banco-de-dados/ Dicas para analisar uma query: Plano de Execução SET STATISTICS IO ON O que preciso aprender para ontem sobre TUNING?
30
Que tal analisar esse execution Plan?
31
O que preciso aprender para ontem sobre TUNING Referências: Estatísticas: http://www.pythian.com/blog/sql-server-statistics-maintenance-and-best-practices/ http://www.red-gate.com/community/books/sql-server-statistics (Livro gratuito) http://www.fabriciolima.net/blog/2011/06/29/rotina-para-atualizar-as-estatisticas-do-seu-banco-de-dados/ Índices: https://www.simple-talk.com/sql/learn-sql-server/sql-server-index-basics/ http://www.sql-server-performance.com/2007/clustered-indexes/ http://www.mssqltips.com/sqlservertip/1206/understanding-sql-server-indexing/ http://www.mssqltips.com/sql-server-tip-category/38/indexing/ http://blogs.msdn.com/b/timchapman/archive/2012/09/28/index-rebuild-vs-reorganize-the-transaction-log-edition.aspx https://www.youtube.com/watch?v=p9FlnOPltA8 http://blogs.msdn.com/b/bartd/archive/2007/07/19/are-you-using-sql-s-missing-index-dmvs.aspx http://www.sql-server-performance.com/2009/identify-missing-indexes-using-sql-server-dmvs/ http://www.mssqltips.com/sqlservertip/1634/using-sql-server-dmvs-to-identify-missing-indexes/ Livro: http://www.amazon.com/Expert-Performance-Indexing-Server-2012/dp/1430237414 PAGE Split: http://www.sqlskills.com/blogs/paul/tracking-page-splits-using-the-transaction-log/ http://sqlblogcasts.com/blogs/tonyrogerson/archive/2007/06/28/what-is-a-page-split-what-happens-why-does-it-happen-why-worry.aspx Execution Plan: http://www.brentozar.com/archive/2012/01/art-of-execution-plan/ Livro Grátis: http://www.red-gate.com/community/books/sql-server-execution-plans-ed- 2?utm_term=executionplans&utm_content=buffer4a0ec&utm_medium=social&utm_source=twitter.com&utm_campaign=buffer https://www.simple-talk.com/books/sql-books/complete-showplan-operators/ SQL Server Performance Tuning Using Wait Statistics: A Beginner’s Guide: https://www.sqlskills.com/help/sql-server-performance-tuning-using-wait-statistics/ Estatísticas: http://www.pythian.com/blog/sql-server-statistics-maintenance-and-best-practices/ http://www.red-gate.com/community/books/sql-server-statistics (Livro gratuito) http://www.fabriciolima.net/blog/2011/06/29/rotina-para-atualizar-as-estatisticas-do-seu-banco- de-dados/ Índices: https://www.simple-talk.com/sql/learn-sql-server/sql-server-index-basics/ http://www.sql-server-performance.com/2007/clustered-indexes/ http://www.mssqltips.com/sqlservertip/1206/understanding-sql-server-indexing/ http://www.mssqltips.com/sql-server-tip-category/38/indexing/ http://blogs.msdn.com/b/timchapman/archive/2012/09/28/index-rebuild-vs-reorganize-the- transaction-log-edition.aspx https://www.youtube.com/watch?v=p9FlnOPltA8 http://blogs.msdn.com/b/bartd/archive/2007/07/19/are-you-using-sql-s-missing-index-dmvs.aspx http://www.sql-server-performance.com/2009/identify-missing-indexes-using-sql-server-dmvs/ http://www.mssqltips.com/sqlservertip/1634/using-sql-server-dmvs-to-identify-missing-indexes/ Livro: http://www.amazon.com/Expert-Performance-Indexing-Server-2012/dp/1430237414 PAGE Split: http://www.sqlskills.com/blogs/paul/tracking-page-splits-using-the-transaction-log/ http://sqlblogcasts.com/blogs/tonyrogerson/archive/2007/06/28/what-is-a-page-split-what- happens-why-does-it-happen-why-worry.aspx Execution Plan: http://www.brentozar.com/archive/2012/01/art-of-execution-plan/ Livro Grátis: http://www.red-gate.com/community/books/sql-server-execution-plans-ed- 2?utm_term=executionplans&utm_content=buffer4a0ec&utm_medium=social&utm_source=twitt er.com&utm_campaign=buffer https://www.simple-talk.com/books/sql-books/complete-showplan-operators/ WAITS STATS: http://www.sqlskills.com/blogs/paul/wait-statistics-or-please-tell-me-where-it-hurts/ http://blogs.msdn.com/b/sqlsakthi/archive/2011/02/08/different-status-of-a-spid-in-sql-server-and- what-do-they-mean.aspx SQL Server Performance Tuning Using Wait Statistics: A Beginner’s Guide: https://www.sqlskills.com/help/sql-server-performance-tuning-using-wait-statistics/ Download White Paper WaitStats: https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=2&cad=rja&uact=8&ved=0 CCQQFjAB&url=http%3A%2F%2Fdownload.microsoft.com%2Fdownload%2F4%2F7%2Fa%2F4 7a548b9-249e-484c-abd7-29f31282b04d%2FPerformance_Tuning_Waits_Queues.doc&ei=L- zEVM3uPPaHsQT75oBg&usg=AFQjCNFRIebSlMLnry8gH99CQklhdmokJw&sig2=KjKuBRKVN WjcUv9Q8PG7uQ&bvm=bv.84349003,d.cWc
32
O que preciso aprender para ontem sobre HA e DR Log Shipping Replicação Database Mirroring Cluster AlwaysOn Avalaibility Groups (2012) AlwaysOn Failover Cluster (2012)
33
O que preciso aprender para ontem sobre HA e DR Log Shipping http://www.sqlshack.com/sql-server-log-shipping/ http://www.mssqltips.com/sql-server-tip-category/100/log-shipping/ http://www.mssqltips.com/sqlservertip/2301/step-by-step-sql-server-log-shipping/ http://www.sql-server-performance.com/2002/log-shipping-70/ Replicação: http://www.sqlservercentral.com/stairway/72401/ http://www.codeproject.com/Articles/715550/SQL-Server-Replication-Step-by-Step http://download.red-gate.com/ebooks/SQL/fundamentals-of-sql-server-2012-replication.pdf (livro grátis) Database Mirroring: http://www.sqlshack.com/sql-server-database-mirroring/ http://www.mssqltips.com/sql-server-tip-category/64/database-mirroring/ http://www.codeproject.com/Articles/109236/Mirroring-a-SQL-Server-Database-is-not-as-hard-as http://fabriciolima.net/blog/2013/01/20/database-mirroring-como-fica-o-backup-do-log-quando-ocorre-um-failover-no-mirror/ (nesse link tem vários outros links para os outros artigos que fiz em uma série sobre o database mirroring) http://www.sqlservercentral.com/blogs/mssqlfun/2014/11/17/interview-questions-on-sql-server-database-mirroring/ AlwaysOn: Leituras Complementares: http://www.brentozar.com/sql/sql-server-alwayson-availability-groups/ http://blogs.technet.com/b/canitpro/archive/2013/08/20/step-by-step-creating-a-sql-server-2012-alwayson-availability-group.aspx https://www.simple-talk.com/sql/database-administration/sql-server-2012-alwayson/ Whitepaper: http://www.sqlskills.com/blogs/joe/alwayson-architecture-guide-building-a-high-availability-and-disaster-recovery-solution-by-using-alwayson-availability- groups/ http://blogs.msdn.com/b/sqlcat/archive/2013/11/20/sql-server-2012-alwayson-high-availability-and-disaster-recovery-design-patterns.aspx
34
Próximos passos Após aprenderem sobre todos os assuntos que passei, agora só falta esses: Resource Governor Query Processor Operating System Configurations Protocols The Storage Engine Trace Flags SQLOS NUMA architecture The Scheduler DAC Buffer Pool In-Memory etc... Cursores T-SQL Filegroup Partitioning Spatial Index LSN Data Pages Indexed View Filtered Index Lock Deadlock Online Index Rebuild etc... Data Compression Resource Database Database Snapshot Phases of Recovery Scans Seeks Aggregations Parallelism Filtered Statistics Cardinality Estimation OPTIMIZE FOR MAXDOP Ad hoc Query Caching etc... Plan Guide ACID Isolation Levels Corruption Service Broker Schemas XML Full-text Compilation Recompilations Checkpoints FORCESEEK Filestream etc...
35
Dicas de Materiais Grátis Livros: http://www.microsoftvirtualacademy.com/ebooks http://www.fabriciolima.net/blog/2010/12/03/free-ebooks-sobre-sql-server-para-download/ http://www.johnsansom.com/dba-jumpstart/ http://www.red-gate.com/products/dba/dba-bundle/entrypage/2012-how-to-become-an-exceptional- dba?utm_source=simpletalk&utm_medium=weblink&utm_content=st_bradbook200907&utm_campaign=sqlbac kupbundle&__hstc=81186632.bdbc59f5f888a85d2c87a85f9b4a38d9.1441479079284.1441479079284.1441479 079284.1&__hssc=81186632.1.1441479079284&__hsfp=2767783758 http://www.red-gate.com/community/books/accidental-dba Vídeo Aulas: http://www.microsoftvirtualacademy.com/product-training/sql-server http://www.microsoftvirtualacademy.com/product-training/product-sql-server-pt https://technet.microsoft.com/en-us/dn912438 Whitepaper SQL https://technet.microsoft.com/en-us/sqlserver/bb671430 Blogs http://sqlmag.com/blog/sql-server-basics http://www.sqlservercentral.com/ https://www.mssqltips.com/index.asp http://blog.sqlauthority.com/ http://www.brentozar.com/sql/becoming-a-dba/ https://www.sqlskills.com/help/accidental-dba/ https://technet.microsoft.com/en-us/dn912438 http://fundamentals.sqlpass.org/MeetingArchive.aspx http://www.virtualpass.com.br/ Música Hoje eu sou um DBA https://www.youtube.com/watch?v=vUR3J7btj3M
36
Conclusão Livros, Artigos, Vídeos e Treinamentos de SQL Server tem aos montes por ai… Acompanhe o máximo de Blogs de SQL Server que conseguirem… Acompanhem as referências de SQL Server nas redes sociais (Twitter, LinkedIn e Facebook) Aumentem o Networking nessa área Fórmula para crescer: Praticar, Estudar, Estudar, Praticar, Estudar, Estudar e Praticar
37
DÚVIDAS? FABRICIO@FABRICIOLIMA.NET HTTP://WWW.FABRICIOLIMA.NET OBRIGADO!
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.