A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

SQL Saturday #488 Assumi o cargo de DBA. O que devo aprender para ontem? Fabrício Lima | FabricioLima Soluções em BD Site:

Apresentações semelhantes


Apresentação em tema: "SQL Saturday #488 Assumi o cargo de DBA. O que devo aprender para ontem? Fabrício Lima | FabricioLima Soluções em BD Site:"— Transcrição da apresentação:

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

34

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


Carregar ppt "SQL Saturday #488 Assumi o cargo de DBA. O que devo aprender para ontem? Fabrício Lima | FabricioLima Soluções em BD Site:"

Apresentações semelhantes


Anúncios Google