Codificando Magazine 8a edicao

 

Embed or link this publication

Popular Pages


p. 1



[close]

p. 2

powered by codificando.net e-magazine e d i Ç Ã o 7 n Ú mero 7 a n o 2 codificando net 2 0 0 8 editorial fala galera quando eu assumi a editoração da revista coloquei uma meta interna de soltarmos uma edição a cada bimestre ou 2 meses fica a seu critério rs esta é a segunda revista que está nas minhas obrigações e conseguimos publicar-la dois meses depois da anterior para nós isso é uma vitória espero que o conteúdo diversificado atenda aos objetivos e anseios de vocês afinal a revista é para vocês então se alguma coisa não ficou legal ou vocês tenham alguma sugestão/critica/elogio a nos fazer podem ficar a vontade para nos enviar um e-mail em algum dos nossos endereços site@codificandomagazine.net grito@codificandomagazine.net em todas as edições nós deixamos claro o quão difícil é arrumar pessoal qualificado e com conteúdo interessante para colocarmos na revista nesta não será diferente está complicadíssimo conseguirmos artigos práticos e interessantes para colocar na revista então novamente deixamos aqui o convite para vocês interagirem com a comunidade que participam quem tiver interesse em publicar algo na nossa revista nossa porque é da comunidade de todos nós entre em contato conosco nos e-mails acima diego nogare site@codificandomagazine.net equipe editores alexandre tarifa emerson facunte diego nogare sergio gonçalves colaboradores adriano luciano alexandre tarifa cleber dantas diego nogare emerson facunte fabiano belmonte fabiano neves juliano nunes marcelo colla ramon durães ricardo serradas

[close]

p. 3

3 entrevista esta entrevista foi feita por e-mail com muitos nomes conhecidos do mundo sql server infelizmente não teríamos como publicar todas as respostas aqui na revista então selecionamos três entrevistas que já estavam completas para compor esta sessão a entrevista foi criada pelas idéias de fabiano neves que inclusive respondeu todas as perguntas e nos enviou para publicarmos na revista todas as entrevistas serão publicadas no blog do próprio fabiano segue as descrições dos três participantes da entrevista dn diego nogare é graduado em ciência da computação pós-graduado em engenharia de computação com ênfase em desenvolvimento web com .net colaborador do portal linha de código e da revista sql magazine co-líder do grupo de usuários codificando .net líder dos microsoft student partners [msp de são paulo e microsoft most valuable professional [mvp em sql server possui certificações mcp e mcts em sql server 2005 é palestrante em eventos da microsoft codificando .net e ineta br mantém o site www.diegonogare.net fn fabiano neves é consultor de banco de dados sql server 2000,2005 e 2008 desenvolve soluções na plataforma .net e em delphi É técnico em processamento de dados pelo colégio bezerra de menezes e trabalha a alguns anos com sql server focado na criação de data warehouse para muitas empresas do brasil mas já atuou como database solution para uma empresa microsoft solution gold partner possui certificações como mcp mcts e mcitp database developer em sql server 2005 mantém um blog http fabianosqlserver.spaces.live.com com seu conteúdo focado para dba desenvolvedores e usuários de sql server participa ativamente do forum da msdn e technet brasil e ainda ministra webcasts para a microsoft brasil mc formado na escola superior de ensinos empresariais e informática de curitiba pós graduado em gestão de informática com 11 anos de experiência na área participa dos foruns de sql server do msdn br e technet mcdba mcitp dev mcitp dba most valuable professional windows server system ­ sql server p vamos começar falando da novidade do momento quais as novas features do sql server 2008 que você acha mais importante e porque nomeie pelo menos 3 dn 1 merge juntar informações de tabelas para auxiliar a criação de cubos olap ficou mais simples e dinâmico agora é muito mais facil para realizar estes tipos de transações 2 spatial data nestes ultimos anos muitas empresas de logística estão trabalhando com controle terrestre de suas rotas conseguindo rastrear o percurso percorrido por exemplo pelos caminhões com os dados geometricos é possível traçar linhas e confrontar com os dados gerados pelo gps do caminhão 3 dmf o declarative management framework permite criar diversas políticas de utilização do banco de dados aumentando a eficiência da aplicação das politicas estipuladas para o database no dmf por exemplo é possível criar políticas que estipulam o nome da tabela a obrigatoriedade de um determinado schema ou usuário estipular se a política será executada em todos os bancos ou só alguns e em quais servidores ela trabalhará aplicado a praticamente todos os objetos do banco de dados fn 1 que me fez parar e dizer uau foram as implementações de page compression row compression e backup compression fiz alguns testes e me surpreendi com a qualidade de compressão de dados vou repetir uma frase que usei na webcast de caminhos de upgrade para sql server 2008 imagina comprimir um livro de 1000 páginas para apenas 200 e com o mesmo conteúdo pois é mais ou menos isso que o algoritmo de compressão por página lz78 criado pelos geeks seniors lempel e ziv faz nos meus testes cheguei a seguinte conclusão 2 filtered index ­ essa veio bem a calhar poder escrever um comando de create index ix_teste on tabeladata where data 20080101 vai ajudar e muito para quem tem tabelas muito grandes e com acesso a dados mais recentes caso partition não for uma possibilidade imagine o seguinte poderíamos criar um índice para cada período e gravar cada índice em um filegroup diferente que por sua vez estará em discos diferentes interesting vale a pena estudar a fundo essa feature.

[close]

p. 4

4 entrevista 3 resource governor ­ esse pode ser utilizado tanto em ambientes de produção como ambientes de teste imagine o seguinte cenáriobem comum em desenvolvedoras de software um servidor sql server distribuído para todos os desenvolvedores utilizarem para testes desenvolvimento etc em um banco desses rola de tudo select operações bulk insert restore de backup tudo ao mesmo tempo e sempre tem aqueles comilões de recurso que rodam tudo isso ao mesmo tempo jeu não com o resoruce governor poderíamos limitar a quantidade de cpu e memória para que ele não pare o servidore toda a empresa enquanto trabalha mc 1 dmf polices no banco de dados isso é tudo que o dba sonhava rs imagina você poder manter as regras de nomenclatura sem precisar criar nenhum artifício na mão ou ter que comprar uma ferramenta para isso show assino em baixo desse recurso 2 novos recursos de tsql como declaração de variáveis já recebendo um valor poder usar na mesma linha a declaração a variável recebendo um valor e ainda um segunda variável recebendo o valor da primeira meio complicado também achei mais como exemplo declare @variavel1 int 10 @variavel2 int @variavel1 3 table value parameters isso é o que todo mundo queria pelo menos eu quem já não precisou criar rotinas para receber uma lista e converter em array na marra ou até mesmo receber um xml agora é só passar uma tabela no parâmetro e relacionar na procedure show p em relação a performance no sql server 2005 quais as features você acha mais importante dn eu estou sempre puxando a sardinha para o desenvolvimento então vejo que stored procedures e index são boas praticas para melhorar a performance de nossas aplicações com sql server 2005 fn o sql 2005 comparado com o 2000 tem muitas mas posso destacar a partition como uma excelente escolha para balanceamento de carga entre diferentes servidores ficou interessado procure por distributed partitioned views federatad databases mc não sei se e a mais importante mais pelo menos eu acho ser uma das mais importantes afinal depende de cada caso o nível de importância do recurso é a replicação ptp esse modelo de replicação une o que e de bom da merge com o controle da transacional excelente recurso para ou estratégia de recovery ou distribuir a aplicação em vários servidores p quais suas dicas para um profissional que está iniciando em sql server dn procurar as comunidades msdn e technet sempre são bons lugares para começar a aprender as tecnologias microsoft os foruns e grupos de usuários são bons pontos de partidas também recomendo o grupo codificando .net www.codificando.net do qual faço parte fn estudar muito e manter-se atualizado se puder comece com um bom curso oficial microsoft caso não seja possível fazer o curso existem muitos blogs e sites especializados em sql server que na minha opinião tem um conteúdo muito bom e aprofundado em cada área específica do sql.qual faço parte mc seja em sql server seja em linguagem ou qualquer outra área qualquer profissional deve estudar as estruturas e aprender a pensar da maneira mais simples possível pois se conseguir seguir esse ponto não tem como errar em qualquer área que seja pensar em soluções simples ajuda a criar soluções simples no final das contas tudo que todos querem e produtividade p o que é necessário para se tornar um usuário master em sql server dn trabalhar bastante com aquela ferramenta e não parar de estudar as novidades nunca isso não se aplica somente a sql mas a qualquer área relacionada a tecnologia as mudanças são muito dinâmicas fn eu acho que somente com experiência e uma vivência diária de trabalho com o sql server o usuário poderá um dia dizer que é um master em sql server mesmo assim tenho certeza que haverão situações em que até mesmo um super usuário terá que recorrer ao velho e bom senhor do conhecimento pai-google mc primeiro lugar e aprender a ler e entender o books on-line esse e o melhor material de consulta para o sql server e procurar se relacionar com outras pessoas trocando informações e experiências sobre diversos problemas assim você armazena a maior quantidade de pré-soluções possíveis aprendendo a fazer.

[close]

p. 5

5 entrevista p o que é necessário para se tornar um usuário master em transact sql server dn mesma resposta que a 4 fn encontre uma empresa que tem um banco de dados com mais de 2 mil procedures e 3 mil functions e tabelas com mais de 200 milhões de registros e comece a tentar otimizar os códigos tsql acredite ou não isso é muito comum de se encontrar já trabalhei em algumas implementações de dw em diversos banco de dados e já vi alguns desses bancos caso não seja possível faça o seguinte inicie um trace no profiler e abra a aplicação que roda no banco comece dar os cliques e fazer as operações comuns do dia a dia dos usuários do software e depois veja os selects executados por sua aplicação e tente otimizá-los mc como eu disse antes pensar simples e mais ainda aproveitar ao maximo os recursos internos do sql server e depois que uma rotina estiver pronta e funcionado voltar nela e tentar deixar­la melhor e comum quando voltamos ao código antigo e falarmos puxa porque eu fiz isso etc então o processo e um ciclo fazer funcionar testar melhorar fazer funcionar e assim vai p qual sua opinião em relação ao uso excessivo de triggers no banco de dados dn triggers são muito utilizadas para auditoria no sql server 2005 é perfeito mas quando nos pedem para auditar muita coisa muita coisa mesmo a performance é realmente prejudicada então se usar com moderação é muito bem vinda fn eu não sou contra o uso de triggers mas tento evitá-las o máximo possível na minha opinião elas só deixam o código mais complexo e mais pesado eu conversei com o conor cunninghamsuper plus master boss do time do query processor sobre triggers vou deixar 2 links para meus posts falando sobre triggers 1 http fabianosqlserver.spaces.live.com/blog/cns!52eff7477e74caa6!486.entry 2 http fabianosqlserver.spaces.live.com/blog/cns!52eff7477e74caa6!488.entry mc trigger e um procedimento complicado de discutir e muito útil mais as vezes pode deixar você em maus lençóis ou seja bem administrada ela e boa não sou contra o uso sou contra o uso por qualquer coisa lembram do velho exemplo do estoque que a tabela de entrada saída via trigger atualiza a tabela de produtos então sua procedure já faz a entrada porque não por ela atualizar a tabela de produtos mais simples que deixar uma trigger fazer isso e seu controle e maior isso no meu ponto de vista p qual o maior erro que uma pessoa pode cometer ao analisar um plano de execução dn um novato pode não se atentar a um simples e inofensivo tablescan fn sem dúvida é achar que um index seek é sempre melhor que um clustered index scan ou então ver uma flecha indicando o uso de paralelismo e logo voltar no código para incluir um optionmaxdop 1 mc o erro mais comum que eu vejo e achar que todo o table scan e ruim na verdade em alguns casos ele a melhor opção que índices p quando usar um clustered index e quando usar um non clustered index dn os índices físicos clustered ordenam fisicamente os dados na tabela são muito bem vindos quando existe bastante busca na base utilizando a coluna ordenada como filtro já os índices lógicos non-clustered criam uma página de ligação entre os dados físicos desordenados e o índice ordenado uma comparação muito utilizada para conseguir diferenciar os dois tipos é lembrar de um dicionário cujos dados estão ordenados nas paginas da publicação idem o index clustered e de um livro no qual existe um sumário informando em que página está cada informação igual o index non-clustered fn isso depende bastante de cada cenário mas eu particularmente uso int identity1,1 para pks e deixo ela como meu índice cluster e os nonclustered para consultas onde poderei fazer um covered índex onde o sql terá que acessar apenas o nonclustered índex para ler toda as informações necessárias para retornar os dados da consulta.

[close]

p. 6

6 entrevista mc Índice cluster eu geralmente reservo para campos de valor numérico int etc que sofrem pouca alteração ou nenhuma se possível que sejam muito usados no where para os não cluster eu reservo para os campos que estão relacionados com outras tabelas p porque estatísticas são importantes dn as estatísticas nos ajudam a melhorar as consultas e deixar o sistema mais rapido o banco de dados não pode ser um gargalo da aplicação fn estatísticas estão a toda hora sendo utilizadas pelo query processor para conseguir gerar o melhor plano de execução para sua consulta por exemplo com os dados das estatísticas o sql poderá saber se o valor que você está procurando irá retornar 10 ou 10 milhões de linhas no caso de 10 milhões caso ele poderia optar por usar paralelismo por exemplo mc o sql usa elas para determinar o melhor plano então é fundamental manter atualizada seja forçando uma recriação de índices ou simplesmente atualizando elas por períodos espaçados de tempo p o quanto fragmentação no banco de dados pode afetar performance existe algum beneficio em ter fragmentação no banco dn aqui se encaixa a resposta padrão de um analista de sistemas depende rs tem caso quando existe muita inserção de dados que uma fragmentação de 50 nas tabelas ajuda muito na performance já tem caso quando o principal objetivo são consultas que as fragmentações atrapalham porque serão mais paginas que serão lidas quando um resultado for retornado fn physical fragmentation é quando você tem espaço livre nas páginas da tabela isso em alguns casos pode ser uma coisa boa já que irá evitar que o sql efetue splits em futuros inserts e updates na tabela o fillfactor deixa esse espaço livre para você b logical fragmentation é quando a próxima página lógica não é contínua ou seja o sql não irá conseguir fazer um read-ahead o que sempre será ruim confesso que fiquei curioso em relação a algum cenário onde esse tipo de fragmentação seria uma coisa boa entrei em contato com nada mais nada menos que a kimberly trip e para minha surpresa após 1 hora que eu havia enviado o e-mail ela me respondeu dizendo que ela não via nenhum cenário onde esse tipo de fragmentação poderia ser benéfica e mais ela respondeu com cópia para o paul randal perguntando a opinião dele e logo depois ele também respondeu dizendo a mesma coisa portanto me fiz por satisfeito com as respostas mc cara fragmentação em si não e boa tenho rotinas que verificam o nível de fragmentação e corrigem isso na demanda como tenho uma boa janela para fazer isso então na pratica mantenho o percentual de fragmentação sob controle p afinal paralelismo é bom ou ruim dn na minha opnião paralelismo é uma boa se os sistemas operacionais são multi-thread porque o sql server não pode ser porque não poderiamos utilizar em uma consulta extremamente pesada mais de um processamento trabalhei em uma empresa que executava uma proc em 15 horas essa era pesada fn na minha opinião paralelismo é bom o que acontece é que em alguns casos onde temos uma pressão de cpu no servidor e o sql optou por fazer uma determinada consulta utilizando paralelismo e depois disso o servidor recebeu outras requisições que demandavam muito mais cpu neste caso a coisa pode ficar feia mc se seu plano de execução apresenta um alto grau de paralelismo cuidado pois o custo para o sql fazer o split e maior do que se estivesse executando tudo junto e um ponto que devemos olhar com cuidado.

[close]

p. 7

7 entrevista p você utiliza alguma ferramenta para auxiliar na resolução de problemas de performance quais dn trabalhando somente no ambiente do sql server management studio é possível analisar os planos de execuções/estatísticas do nosso banco para um começo simples estas funcionalidades já nos auxiliam a tomar alguma decisão para melhorar o tempo de resposta fn profiler e ssms são minha prediletas as ferramentas de gerenciamento da idera e da quest são muito boas mas é difícil convencer alguém de que o alto custo delas vale a pena mc gosto de usar o profiler gravando em uma tabela depois agrupo o uso das procedures mais usadas em ordem de i/o e tempo de máquina olho o plano de execução delas uma a uma para ver o que pode ser melhorado não uso ferramentas especificas gosto de olhar procedure a procedure mesmo p em um banco de dados em produção você utiliza algum traceflag habilitado dn atualmente eu não estou atuando como dba estou focado em desenvolvimento o que posso dizer é que os traces flags são configurações que variam de ambiente para ambiente nos servidores podem haver habilitações ou desabilitações rolando atraves de traceflags fn sim o 1118 para que o sql não aloque mais extends mistos e sempre aloque extends uniformes evitando uma possível contenção na tempdb que na teoria é a maior utilizada pela controladora sgam já que as tabelas temporárias casualmente são pequenas mc não p cite 3 livros que não podem faltar na coleção de um especialista sql server dn introdução a sistemas de bancos de dados ed campus sql server 2005 implementation and maintenance self-paced training kit ed microsoft press eu utilizo estes dois livros frequentemente para preparar material e tirar dúvidas vou ficar devendo o terceiro livro são vários candidatos a esta vaga rs que com certeza é da microsoft press fn inside sql server 2000 e todos da série inside microsoft sql server 2005 mc das antigas inside sql server 2000 kalen sousa mais novos inside microsoft sql server 2005 t-sql querying ben-gan itzik kollar lubor sarka dejan e sql pocket guide gennick jonathan p nestes anos de experiência qual foi o problema mais difícil de resolver que encontrou dn a algum tempo trabalhei em uma multinacional na ocasião um sistema era temido por todos todo mundo que trabalhava naquele projeto ficava um tempo e saía da empresa comigo não foi diferente também acabei saindo esta aplicação utilizava sql server 2000 server e msde local e as procedures eram imensas e com dynamic-sql tinha proc com mais de 3000 linhas vermelhas rs fn com certeza foi na otimização de uma proc com 2500 linhas que como vocês podem imaginar efetuava vários processos super complexos depois de muito brigar com ela mudei bastante coisa e no fim deu tudo certo mc cara não lembro de nada problemas complicados temos todos os dias isso não se aplica só a mim mais sim a todos que trabalham em ti mais complicado que um problema técnico e ter que explicar para alguém o pode e o que não pode ser feito com evidencias e auto grau de convencimento problemas da área técnica devem ser encarados com desafio e degrau para evolução continua do conhecimento.

[close]

p. 8

8 entrevista p já passou por algum daqueles problemas que resolveu mas até hoje não sabe o que era dn algumas vezes e tentava não mexer mais depois que arrumava vai que quebra de novo fn direto e quanto acontece isso faço o seguinte para tudo fecha apaga e começa novamente sempre deu certo mas não me pergunte qual era o problema mc já com o service pack 3 do sql server tínhamos uma rotina que exportava textos usando opendatasource depois deste service pack não conseguimos mais fazer a rotina funcionar na verdade depois nem tentei mais por achar que não tinha muita lógica fazer isso mesmo contornamos usando bcp e tudo certo ate hoje esta assim alias acho que esta na hora de rever isso também rs p qual o maior banco de dados que já trabalhou e quantas linhas tinha a maior tabela que já viu dn acho que o maior db que trabalhei foi em um banco internacional não tinhamos acesso a muita coisa e por isso não sei quantas linhas tinham nas tabelas mas posso garantir que inseriamos mais de 100.000 linhas por dia fn o banco de dados de um de nossos clientes 200 gb e tabelas com mais de 250 milhões de registros punk tem noção do tempo que demora pra reindexar essa tabela mc acho que o maior que já vi foi o aqui da empresa mesmo temos 2 categorias uma voltada a produção que esta hoje com 130gb com crescimento semanal de aproximadamente 2-3gb e os de olap que esses sim vão para 220gb por conta de manter histórico e tabelas pré processadas usadas nas tomadas de estratégia da empresa a minha maior tabela tem 40mm de linhas com crescimento de aproximado de 500 600 linhas semana p como diria o tobbycharges.com.br bate bola jogo rápido 1 um concorrente digno do sql server 2 uma feature 3 um comando sqlo meu predileto é o shutdown with nowait 4 um livro dn 1 oracle 2 merge 3 select 4 o do c j date indicado anteriormente fn 1 oracle para grandes bds firebird contra a versão express 2 compression 3 shutdown with nowait mc 1 oracle rodando no unix 2 grid do oracle apesar de algumas dúvidas que eu ainda tenho com essa tecnologia gostaria muito de ter um balanceamento de carga entre servidores sql server e um sistema de arquivos preparado so para banco de dados 3 select esse é punk quando você descobre como usar vê que não tem limites

[close]

p. 9

9 entrevista p você tem algum blog site msn como os usuários da comunidade podem entrar em contato com você dn no meu site www.diegonogare.net tem e-mail msn skype só não me acha quem não quiser fn e-mail fabiano_amorim@bol.com.br blog http fabianosqlserver.spaces.live.com/blog msn fabianonevesamorim@hotmail.com mc email e msn mcolla@bol.com.br p deseja deixar alguma consideração final dn estudem sempre todo dia é dia pra aprender como diz meu amigo pedrão [pedro castelo branco conhecimento nunca é demais fn É melhor ser criticado pelos sábios do que ser elogiado pelos insensatos elogios vazios são como gravetos atirados em uma fogueira eclesiastes mc show de bola a intenção de demonstrar como as pessoas vêem o sql server no mercado hoje logo após a versão 2000 que no meu ponto de vista já era muito robusto veio o 2005 começando uma nova era de integração quebrando o paradigma de que sql server e banco de dados para pequenas empresas agora somos entendidos e somos vistos como players de mercado com condições para concorrer com oracle db2 etc cada um na sua categoria ou ainda melhor todos trabalhando juntos créditos da entrevista as questões desta entrevista foi criada pelo próprio fabiano neves os créditos são todos dele infelizmente não conseguiríamos colocar todos os questionários respondidos na revista ficaria imensa só com esta sessão como o próprio fabiano neves me comentou em uma conversa que eu concordo plenamente esta iniciativa é sensacional para os iniciantes em banco de dados mostra diversas visões de diferentes profissionais recomendo fortemente o blog do fabiano é um repositório muito bom sobre banco!

[close]

p. 10

10 utilizando dmvs para diagnóstico no sql 2005 introdução as causas para um problema de lentidão em um banco de dados são muito abrangentes pois existem muitos pontos relevantes que podem influenciar em performance o diagnóstico geralmente exige um monitoramento preciso onde o mais importante é saber o que monitorar para não nos perdermos em meio ao grande número de indicadores existentes para este tipo de monitoramento o sql server 2005 nos auxilia com diversas ferramentas como sql profiler os comandos dbcc s contadores no perfomance monitor do windows e também as dmv s dynamic management views cada uma das ferramentas nos traz uma gama de informações diferentes que complementam o trabalho de diagnóstico neste artigo iremos ver um pouco mais sobre o uso das dmv s já que se trata de uma ferramenta inédita em relação a versão 2000 do sql server conhecendo as dmv s as dmv s dynamic management views são um dos novos recursos que podemos utilizar no sql server 2005 para gerenciamento do ambiente atualmente o sql server 2005 possui aproximadamente 85 dmv s que trazem informações do servidor banco de dados transações índices consultas entre outras informações com esta abragência de informações o trabalho de monitorar e diagnosticar problemas no servidor fica mais fácil eficiente além de mais flexível as dmv s estão separadas em grupos como segue no link http www.microsoft.com/downloads/details.aspx?familyid=2ec9e842-40be-4321-9b56-92fd3860fb32&displaylang=en vocês podem baixar gratuitamente e conhecer o modelo de dados com todas as views de sistemas do sql server 2005 incluindo as dmv s vale a pena dar uma olhada a seguir serão apresentados alguns exemplos de consultas que podem nos auxiliar em alguns diagnósticos estas consultas com certeza podem ser alteradas para mostrar outras informações que acharem mais úteis mas já servem como um ponto de partida.

[close]

p. 11

11 utilizando dmvs para diagnóstico no sql 2005 transações em wait aguardando liberação de recursos um sistema de banco de dados de aplicações mal projetadas ou não otimizadas pode fazer com que as transações aguardem por muito tempo a liberação de recursos já bloqueados tabela índices registros etc por outras transações ocasionando assim lentidão no tempo total de execução das transações a consulta abaixo exibe todas as transações que estão aguardando por liberação de recursos mostrando principalmente o tempo de aguardo e qual sessão está bloqueando o recurso exigido comando com maior uso de cpu na hora de otimizar o desempenho de uma aplicação o mais importante é saber por qual consulta comando ou stored procedure começar a consulta abaixo nos ajuda dizendo quais são os 100 comandos no banco de dados que estão exigindo maior uso de cpu comando com maior acesso de memória tem o mesmo objetivo da consulta anterior porém nos trás a visão por memória utilizada.

[close]

p. 12

12 utilizando dmvs para diagnóstico no sql 2005 comando com maior leitura de disco tem o mesmo objetivo da consulta anterior porém nos trás a visão por maior quantidade de leitura de disco Índices com fragmentação a fragmentação é um dos motivos do aumento do número de leituras em uma consulta diminuindo conseqüente a performance apenas tome cuidado em julgar o resultado apresentando pois a fragmentação apesar de ser uma grande vilã para consultas é muita vantajosa para tabelas com muita atualização conclusão vimos aqui um pouco do potencial da utilização das dmv s onde com certeza podemos criar inúmeras outras consultas para continuar nos ajudando no trabalho de diagnóstico a grande vantagem de usar as dmv s é a possibilidade de criar relatórios para apresentar estes dados de forma mais amigável ou mais prática a exemplo disto a microsoft disponibilizou gratuitamente o performance dashboard reports disponível no link http www.microsoft.com downloads/details.aspx?familyid=1d3a4a0d-7e0c-4730-8204-e419218c1efc&displaylang=en este pacote disponibiliza vários relatórios de performance dentro do dashboard do sql management studio onde neste caso os relatórios utilizam dmv s para recuperação dos dados permitindo inclusive ver detalhes dos problemas utilizando drill-downs nos próprios relatórios esta funcionalidade de importar relatórios no dashboard do sql management studio exige service pack 2 do sql 2005 espero que este artigo tenha ajudado vocês a começarem a usar as dmv s e que vocês consigam criar suas próprias consultas customizadas adriano luciano candido adriano.luciano@gmail.com é pós-graduado no mba em gestão projetos da fgv certificado nos títulos da microsoft mcpd mcdba mcsd.net mcsd mcad mcsa instrutor oficial microsoft e consultor especializado em tecnologia microsoft e em gestão de projeto atuando a mais de 10 anos no mercado de tecnologia palestrante e professor de pós-graduação em diversas universidades de são paulo mantém o site www.adrianoluciano.net

[close]

p. 13

13 afinal o que é xna framework assim como eu algumas pessoas podem estar um pouco perdidas neste monte de novas tecnologias e uma delas é o xna framework que eu confesso que nem sabia direito o que era mas vamos esclarecer as coisas o que é o xna framework xna framework é um conjunto de bibliotecas de código gerenciado net baseado no .net framework 2.0 o xna framework permite aos desenvolvedores de jogos criarem modernos jogos utilizando a linguagem de programação c e um rico conjunto de bibliotecas de desenvolvimento o xna framework facilita a inclusão de conteúdo rico 3d 2d som etc em um jogo o xna framework também fornece uma grande unificação das apis entre as implementações para windows e para o xbox 360 eliminando custo e esforços requeridos na conversão de jogos entre as duas plataformas qual a diferença entre .net framework e xna framework a diferença principal está no fato de que o xna framework é otimizado para o desenvolvimento e execução de jogos mas elementos como as class libraries e o common language runtime estão presentes em ambas o que é o xna game studio express xna game studio express é um conjunto de ferramentas baseado no visual c 2005 express tendo como público-alvo os estudantes e desenvolvedores de jogos por hobby o xna game studio permite desenvolvimento tanto para windows quanto para a plataforma xbox 360 eu posso desenvolver um jogo comercial para xbox 360 com o xna framework e o xna game studio express você consegue desenvolver jogos para windows e xbox 360 mais facilmente estes jogos serão limitados à cenarios não-comerciais quando desenvolvidos para xbox 360 utilizando xna game studio express entretanto você pode desenvolver jogos comerciais para windows utilizando o xna framework e o xna game studio quanto custará o xna game studio express e o xna framework as ferramentas de desenvolvimento xna game studio express e o ambiente de execução xna framework serão completamente gratuitos porém para desenvolver debugar e/ou executar jogos no xbox 360 lhe exigirá a aquisição de uma xna creator s club subscription através de uma das duas formas disponíveis pagamento anual de 99 dólares ou trimestral de 49 dólares o xna framework está disponível também para outras plataformas até o momento atual o xna framework só estará disponível para windows e xbox 360 irei precisar de um disco rígido para executar jogos desenvolvidos com o xna em um xbox 360 sim o ambiente de execução do xna framework requer que um disco rígido esteja presente em seu xbox 360.

[close]

p. 14

14 afinal o que é xna framework eu posso criar outros tipos de aplicações que não-jogos usando xna framework no windows isto é possível mas o primeiro release para xbox 360 é aprimorado para escrita de jogos e o que acontecerá com o managed directx mdx 1.1 mdx 1.1 está em um modo sustentável e não terá novas funções incluídas a ele mais se você possui um cenário de jogos que só está presente no mdx 1.1 contate a microsoft que eles irão considerar para a elaboração do xna framework como o xna framework irá suportar áudio o xna framework irá fornecer suporte à execução de áudio através de managed xact o xna framework suporta xinput ou directinput o xna framework irá fornecer suporte a todos dispositivos de entrada através de managed xinput o xna framework irá substituir meu .net framework não o xna framework não irá substituir ou interferir em sua instalação atual em caso de dúvidas poste aqui a sua questão que ajudarei a solucioná-la mais detalhes em http msdn.microsoft.com/directx/xna/faq juliano nunes http blog.julianonunes.com é graduando em ciência da computação pelo centro universitário de belo horizonte possui certificações mcts sharepoint server 2007 app development e mcad web-based applications for .net atualmente trabalha com análise e arquitetura de software além de atuar como microsoft student partner mentor especialista em asp.net e sql server.

[close]

p. 15

15 lambda expressions expressão lambda foi adicionada ao visual basic 2008 e c 3.0 com o objetivo de apoiar language integrated queries linq .quanto mais você utilizar a expressão lambda mais você verá sua potência e flexibilidade a lambda é uma grande inovação da linguagem mas para você que está iniciando agora como desenvolvedor ou tem pouco tempo com a linguagem pode parecer bem complicado não desanime pois quando você começar a conhecer mais sobre lambda irá entender o quanto ela pode ser útil para o seu dia a dia métodos anônimos não poderia falar sobre expressão lambda sem falar de método anônimos que é uma das evoluções existentes no framework 2.0 lançado no final de 2005 eles podem ser class showclassdelegate usados para passar um bloco de código para um delegate de acordo com o delegate void meudelegate parâmetro do delegate também podem public void eimetodo ser utilizados em lugares onde a criação de um método não é realmente meudelegate del new meudelegateimprimemensagem necessária.vejamos abaixo dois del exemplos um utilizando delegate e outro utilizando métodos anônimos void imprimemensagem note que não precisamos escrever o console.writeline e ai método imprimemensagem fazemos diretamente no entanto métodos anônimos tem uma desvantagem no que diz respeito à legibilidade ele modifica a escrita e o código por vezes se torna realmente difícil de ler class showclasscomanonimos delegate void meudelegate public void eimetodo meudelegate delanonimo delegate console.writeline e ai delanonimo então se tivermos realmente que fazer alguma coisa que seja fácil de ler e também simples de usar é aí que as expressões lambda trabalham a nosso favor por isso muitos dizem que as expressão lambda são uma evolução natural dos métodos anônimos expressão lambda o c 2.0 introduziu o conceito de métodos anônimos que permitem que blocos de código sejam escritos em linha onde delegamos os valores esperados assim podemos escrever códigos mais inteligentes e com um menor número de linhas as expressões lambda são muito utilizadas quando escrevemos métodos anônimos elas nos permitem trabalhar de uma forma mais inteligente e lógica eles também se tornam muito úteis quando escrevemos expressões linq para pesquisa e também podem ser utilizadas em funções como anteriormente já comentadas conseguimos escrever funções muito mais enxutas.

[close]

Comments

no comments yet

YOUBLISHER
About
What Others Say
Sitemap
Impressum

PUBLISHERS
Login
Signup
Tutorials
FAQ
Support

BUSINESS
Overview
Advertising
Support

DEVELOPERS
API

LEGAL
Report a Copyright Violation
Copyright FAQ
Terms of Use
Privacy Policy