Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouLuiz Henrique Lagos Ventura Alterado mais de 8 anos atrás
1
SQL Saturday #488 Assumi o cargo de DBA. O que devo aprender para ontem? Fabrício Lima | FabricioLima Soluções em BD Site: http://www.fabriciolima.net
2
Patrocinadores
3
Como cheguei até aqui? Mãe, quando eu crescer eu quero ser um DBA!!!
4
Como cheguei até aqui? Formação: Ciência da Computação – UFES Grupo Dadalto (10 anos): Estagiário (3 meses) Analista de Banco de Dados (2 anos) DBA (Júnior/Pleno/Senior – 6 anos) Coordenador de infra e DBA (2 anos) Consultor e Instrutor independente (Desde 06/2015) FabricioLima Soluções em BD - Consultorias e Treinamentos
5
Como é minha vida hoje?
6
#SQN.... A verdade... Trabalhando muito... Estudando sempre...
7
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 Tuning Soluções de HA e DR Dever de Casa
8
O que devo aprender para ontem sobre a instalação do SQL Server? 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 quais recursos e serviços serão instalados. Precisa do SSRS e SSAS? Instalação de Service Pack e Patches
9
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
10
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
11
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 db_datawriter Objeto (Table, View, Function ou Procedure) Grant Deny Revoke
12
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/
13
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
14
O que preciso aprender para ontem sobre algumas Tarefas do Dia a Dia do DBA? DBCC CHECKDB http://www.sqlskills.com/blogs/paul/categor y/checkdb-from-every-angle/
15
O que preciso aprender para ontem sobre algumas Tarefas do Dia a Dia do DBA? Shrink Estou doido para rodar um Shrink hoje!!!
16
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/
17
Recovery Model Simple, Bulk-Logged e FULL Tipos de Backup: FULL Diferencial Log O que preciso aprender para ontem sobre Backup? Para pensar: “Quem tem 2 backups tem 1 e quem tem 1 não tem nenhum”
18
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 Diff + Bkp dos Logs Restore até uma hora específica: Bkp Full + Bkp Diff + Bks dos Logs com STOP AT 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
19
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/
20
O que preciso aprender para ontem sobre TUNING? Procedure sp_WhoisActive Link para Download do código dessa procedure: http://sqlblog.com/blogs/adam_machani c/archive/2012/03/22/released-who-is- active-v11-11.aspx http://sqlblog.com/blogs/adam_machani c/archive/2012/03/22/released-who-is- active-v11-11.aspx São quase 5 mil linhas de código Adam Machanic
21
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, vi que você rodou ele às 13h45min, da máquina FIN01 e ele demorou 1min27s. 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.
22
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?
23
Í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
24
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. Obs.: A query está nas anotações do Slide BUG no SQL 2012 e 2014 (reinicia com REBUILD): http://www.littlekendra.com/2016/03/07/sql-server- 2016-rc0-fixes-index-usage-stats-bug-missing- indexes-still-broken/ O que preciso aprender para ontem sobre TUNING
25
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 BUG no SQL 2012, 2014 e 2016 (reinicia com REBUILD): http://www.littlekendra.com/2016/03/07/sql-server-2016-rc0-fixes-index-usage-stats-bug- missing-indexes-still-broken / NUNCA CRIE TODOS OS ÍNDICES INDICADOS POR ESSA DMV!!! Analise a qtd de Colunas, tamanho da tabela, Índices que já existem e etc...
26
Dicas para analisar uma query: Plano de Execução Ctrl+L Crtl+M SET STATISTICS IO ON O que preciso aprender para ontem sobre TUNING? Consumo Antes: Table 'NOMETABELA'. Scan count 1, logical reads 532078, physical reads 0 Consumo Depois: Table 'NOMETABELA'. Scan count 1, logical reads 1153, physical reads 0
27
O que preciso aprender para ontem sobre TUNING? Que tal analisar esse execution Plan?
28
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=twit ter.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= 0CCQQFjAB&url=http%3A%2F%2Fdownload.microsoft.com%2Fdownload%2F4%2F7%2Fa%2 F47a548b9-249e-484c-abd7- 29f31282b04d%2FPerformance_Tuning_Waits_Queues.doc&ei=L- zEVM3uPPaHsQT75oBg&usg=AFQjCNFRIebSlMLnry8gH99CQklhdmokJw&sig2=KjKuBRKVN WjcUv9Q8PG7uQ&bvm=bv.84349003,d.cWc
29
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)
30
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
31
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...
32
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&ut m_campaign=sqlbackupbundle&__hstc=81186632.bdbc59f5f888a85d2c87a85f9b4a38d9. 1441479079284.1441479079284.1441479079284.1&__hssc=81186632.1.144147907928 4&__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
33
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
35
DÚVIDAS?
36
Obrigado!!! CONTATOS: SITE: www.fabriciolima.net E-MAIL: FABRICIO@FABRICIOLIMA.NET TWITTER: @FABRICIODBA FACEBOOK: HTTPS://WWW.FACEBOOK.COM/FABRICIOLIMASOLUCOESEMBANCODEDADOS/ SKYPE: FABRICIOLIMA.NET
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.