Codificando .Net e-Magazine Edição 18

 

Embed or link this publication

Description

Revista Codificando .Net e-Magazine Edição 18

Popular Pages


p. 1



[close]

p. 2

sumário edição 18 número 18 ano 04 2010 editores alexandre tarifa diego nogare emerson facunte sergio gonçalves fernanda sallai revisÃo sara barbosa fabrício sanchez erick lopes editoraÇÃo e diagramaÇÃo adriano almeida fabiano rodrigues colaboradores alliston carlos antonio lucas finotti pereira anderson castro everton josé benedicto fabrício sanchez fabrício frança lima fernando gonçalves Ítalo chesley leandro alves santos 04 quanto tempo levaria para descobrir uma database corrompida por fabrício frança lima 9 introdução ao windows phone 7 series por anderson castro 17 autenticando usuários em asp .net web forms por fernando gonçalves 23 visual studio lightswitch ­ É bom mas é preciso entendê-lo por fabrício sanchez 29 entity framework trabalhando com model first por ítalo chesley fale com editor É muito importante para a equipe saber a sua opinião sobre a revista caso tenha alguma critica sugestão ou elogio entre em contato caso tenha interesse em publicar um artigo na revista envie o título e um resumo do tema em formato word revista@codificando.net 35 sql server integration services ssis por everton josé benedicto 43 o novo visual studio lightswitch por alliston carlos 47 gerando gráficos com silverlight wcf e linq por antonio lucas finotti pereira produzido por 59 reutilizando código nativo no .net por leandro alves santos www.codificando.net 03 editorial 66 close

[close]

p. 3

edição 18 número 18 ano 04 2010 editorial olá leitores da revista codificando.net e-magazine nesse editorial não poderei detalhar sobre os artigos que compõem a revista pois tenho muitos comunicados importantes a fazer encerro nessa edição de número 18 minha passagem pela revista É com imenso prazer e satisfação que faço parte dessa equipe desde a sua edição de número 9 e sou editora desde a edição de número 15 foi 1 ano e 8 meses de pura dedicação e alegria para transmitir a vocês leitores conteúdo de qualidade agradeço a toda a equipe da revista codificando.net e-magazine que seguiu ao meu lado fazendo dessa uma referência para muitos profissionais da área além do meu desligamento da revista é com pesar que falo do desligamento de mais 3 profissionais são eles os diagramadores adriano almeida e fabiano rodrigues e o revisor fabrício sanchez agradeço a eles por todo o empenho e dedicação que tiveram à revista e desejo todo sucesso do mundo para todos mas muita calma pessoal pois tenho 2 comunicados muito bons para fazer um deles é a entrada do erick lopes como revisor da revista e a do novo editor cleber dantas profissionais esses que tenho certeza farão o melhor de si para dar continuidade ao trabalho que já vem sendo elaborado na revista e para o crescimento da mesma podemos dizer que se fecha um ciclo e começa se outro fernanda sallai encerrando ciclos não por causa do orgulho por incapacidade ou por soberba mas porque simplesmente aquilo já não se encaixa mais na sua vida fernando pessoa cleber dantas erick lopes editorial

[close]

p. 4

e-magazine quanto tempo levaria para descobrir uma database corrompida por fabrício frança lima alguns de vocês devem estar neste momento com um peso na consciência por não terem uma resposta para esta simples pergunta lembraram que já leram em algum artigo na internet uma pessoa falando sobre um comando chamado dbcc checkdb que verifica se uma database está corrompida mas mesmo assim não fizeram nada no seu banco de dados outros sabem mais ou menos o tempo que levariam para descobrir uma corrupção pois realizam esse procedimento manualmente quando possuem um tempo livre e se lembram de executar entretanto também tenho certeza que existem várias pessoas que já possuem uma rotina que checa a consistência de seu banco de dados e sabem exatamente o tempo que levaria para descobrir se existe uma database corrompida no seu ambiente parabéns para estas pessoas acredito que todos vocês já ouviram falar no comando dbcc checkdb presente no sql server este comando checa a consistência de todos os objetos de uma base de dados examinando sua estrutura física e lógica a fim de identificar se existe alguma corrupção nesta base geralmente as pessoas só procuram conhecer esse comando quando encontram algum problema de corrupção no seu ambiente através de uma mensagem de erro por exemplo quando um usuário faz uma leitura de um dado corrompido em alguma tabela entretanto uma corrupção deve ser encontrada antes do usuário para que seja possível resolvê-la o mais rápido possível e esse problema não chegar ao usuário final você que é responsável por alguma base de dados sendo um administrador de banco de dados ou um desenvolvedor que cuida da base de dados de seus próprios sistemas deve criar um procedimento para realizar a procura por dados corrompidos ou inconsistentes em todas as suas bases de dados com a menor freqüência que seu ambiente permitir mas fabrício eu tenho uma ótima rotina de backup onde armazeno o backup de todas as minhas databases nos últimos 10 dias então caso alguém me relate um erro de algum dado corrompido basta eu restaurar um backup para resolver o meu problema certo nem sempre imagine que você descubra uma corrupção de uma database duas semanas depois dela ter ocorrido na sua ótima rotina de backup você guardou 10 dias de backup com dados out nov 2010 codificando.net e-magazine www.codificando.net 4

[close]

p. 5

quanto tempo levaria para descobrir uma database corrompida e-magazine corrompidos você não tem uma base de dados limpa para realizar a recuperação dos seus dados o que pode ocasionar uma perda de dados valiosos dependendo do tipo de corrupção gerada pense em como você chegaria para o seu chefe e diria que perdeu dados de umas das tabelas mais importantes do seu ambiente e não tem como recuperálos espero que ninguém tenha que passar por essa experiência em meu ambiente possuo um job diário que chama uma stored procedure que executa o comando dbcc checkdb para todas as minhas databases e todos os dias recebo um relatório com o resultado da execução desse comando demonstrarei em seguida como faço esse acompanhamento em meu ambiente de modo que você também possa utilizá-lo claro que cada ambiente tem suas particularidades que podem tornar mais difícil o desenvolvimento dessa rotina tais como possuir uma janela de tempo para a execução recursos de hardware disponíveis databases com tamanhos muito grandes e espaço disponível no disco que armazena a database tempdb mostrarei como faço no meu ambiente para que sirva de parâmetro na criação de sua própria rotina contudo devem ser realizadas adequações e testes necessários para a implantação em seu ambiente inicialmente criei uma stored procedure que realiza o comando dbcc checkdb das databases do meu servidor a listagem 1 apresenta o código para realizar esta tarefa create procedure dbo.stpcheckdb_databases as begin declare @databases table id_database int identity 1,1 nm_database varchar50 declare @total int @loop int @nm_database varchar50 caso não deseje fazer o check de alguma database basta retirá-la na cláusula where insert into @databases nm_database select name from master.dbo.sysdatabases where name not in tempdb select @total maxid_database from @databases set @loop 1 while loop @total begin select @nm_database nm_database from @databases where id_database @loop dbcc checkdb nm_database with no_infomsgs set @loop @loop 1 end end listagem 1 utilização da opção no_infomsgs codificando.net e-magazine na listagem 1 pode-se notar a utilização da opção no_infomsgs para reduzir o resultado desse comando e retornar apenas as informações essenciais para identificar possíveis erros também é possível identificar que a database tempdb é ignorada caso você não queira que esse procedimento seja executado para outras databases basta adicioná-las na cláusula in juntamente com a tempdb além de não ter necessidade de rodar um checkdb para o tempdb também pode existir alguma database no www.codificando.net out nov 2010 5

[close]

p. 6

quanto tempo levaria para descobrir uma database corrompida e-magazine seu ambiente que seja restaurada ou clonada em outro servidor nesse caso não é necessário fazer essa verificação mais de uma vez para a mesma database o próximo passo é identificar uma janela no seu ambiente onde exista menos concorrência por recursos do servidor e agendar a execução da procedure stpcheckdb_databases depois de identificado o melhor horário de execução basta criar um job com a periodicidade que você definiu para chamar essa procedure É possível visualizar o output da execução do comando dbcc checkdb de três maneiras · na própria conexão que executa o comando manualmente como por exemplo no management studio no log do sql server no microsoft windows application event log seleciona o número de arquivos insert into #logf exec sp_enumerrorlogs declare @tsql nvarchar2000 declare @lc int select @lc minarchivenumber from #logf loop para realizar a leitura de todo o log while @lc is not null begin insert into #templog exec sp_readerrorlog @lc select @lc minarchivenumber from #logf where archivenumber @lc end listagem 2 query que faz a leitura dos log´s e armazena em uma tabela no_infomsgs · · eu utilizo o log do sql server para buscar as informações da execução do comando dbcc checkdb em minha base de dados e retorno essas informações para uma planilha que recebo diariamente através de um pacote do integration services a listagem 2 faz a leitura dos arquivos de log do sql server e armazena o resultado em uma tabela temporária create table #templog logdate datetime processinfo nvarchar50 [text nvarcharmax create table #logf archivenumber logdate logsize recuperado todo o conteúdo do log do sql server com a listagem 3 filtramos esse resultado para visualizarmos apenas as informações referentes à execução do comando dbcc checkdb deve-se filtrar a query através da coluna logdate de acordo com o horário agendado para a execução dessa rotina no exemplo da listagem 3 é retornado todas as execuções realizadas no dia anterior codificando.net e-magazine select logdate substringtext,charindex found text charindex elapsed time text charindex found text possiveis_erros text texto_completo from #templog where logdate castfloorcastgetdate 1 as float as datetime and logdate castfloorcast getdate as float as datetime and text like checkdb order by logdate listagem 3 filtrando os resultados int datetime int esta query retorna a data de execução do comando uma substring do texto do log apenas com a informação de possíveis www.codificando.net out nov 2010 6

[close]

p. 7

quanto tempo levaria para descobrir uma database corrompida e-magazine erros para facilitar a visualização e o texto completo gerado no log do sql server figura 1 logo antes de criar um procedimento para fazer um dbcc checkdb em todas as suas databases você deve realizar um teste com apenas uma base em uma janela de pouca utilização do banco de dados para identificar o tempo dessa execução com isso você terá a ideia de quantas databases você pode verificar por dia para criar a sua rotina cabe salientar que também é possível acompanhar o progresso da execução desse comando na dmv sys.dm_exec_requests na listagem 4 a coluna percent_complete retorna o percentual de execução de um comando dbcc que está sendo executado no banco de dados select percent_complete from sys.dm_exec_requests where command like dbcc listagem 4 retornando o percentual de execução figura 1 resultado do log com as execuções do comando dbcc para que vocês possam visualizar como seria o resultado desta query no caso da existência de uma database corrompida baixei no blog do paul randal um exemplo de uma database corrompida e chamei de dbcorrompida1 em seguida rodei o comando dbcc checkdb e o resultado gerado no log do sql server pode ser visto na figura 2 figura 2 resultado do log de uma database corrompida o tempo de execução do comando dbcc checkdb depende de uma série de fatores tais como · · · tamanho da database recursos físicos disponíveis no servidor memória i/o disco e cpu concorrência de memória i/o cpu e de updates que estejam sendo realizados na base de dados que está sendo checada velocidade do disco onde o temdb fica armazenado · caso você possua uma base de dados muito grande para reduzir o tempo de execução desse procedimento você pode utilizar a opção with physical_only que realiza apenas uma verificação da integridade física da sua database todavia ainda é necessária uma verificação completa dessa base com uma menor frequência no meu ambiente de trabalho como já disse anteriormente recebo essa informação em uma planilha juntamente com outras informações do meu banco de dados o famoso checklist diário que todo dba deve realizar como foi preciso ler todo o arquivo de log do sql server para identificar a execução do comando dbcc checkdb também temos todas as outras informações geradas no log do codificando.net e-magazine www.codificando.net out nov 2010 7

[close]

p. 8

quanto tempo levaria para descobrir uma database corrompida e-magazine sql server disponíveis com isso incluí mais uma aba na planilha com todas essas informações do log obtendo um controle muito maior de tudo o que acontece diariamente no meu banco de dados respondendo a pergunta inicial desse artigo no meu ambiente eu demoro apenas um dia para descobrir se uma database está corrompida e você demoraria quanto tempo espero que possa ter te ajudado há diminuir esse tempo fabrício frança lima bacharel em ciência da computação pela universidade federal do espirito santo trabalha com sql server desde 2006 possui os títulos mcp mcts e mcitp database administrator em sql server e também mantém um blog sobre sql server http fabriciodba.spaces.live.com codificando.net e-magazine www.codificando.net out nov 2010 8

[close]

p. 9

e-magazine introdução ao windows phone 7 series por anderson castro hardware relevado na espanha em 15/02 mobile world congress o windows phone 7 series o novo sistema operacional da microsoft para dispositivos móveis que promete balançar o mercado características · · · · touch 4 ou mais pontos de contato com a tela sensores a-gps acelerômetro bússola câmera 5 megas pixels ou superior gpu directx 9 resolução padrão 800x480 figura 2 800 codificando.net e-magazine figura 1 hardware todos os aparelhos windows phone 7 terão três botões · · · start com o ícone do windows para acesso inicial search com serviços de buscas bing back para voltar à tela anterior 480 figura 2 resolução padrão www.codificando.net out nov 2010 9

[close]

p. 10

introdução ao windows phone 7 series e-magazine interface os serviços e aplicativos foram organizados em cinco centrais hubs · · · · · people pictures docs music vídeo games figura 4 hub-office hub-people responsável por informações dos seus contatos inclusive nas redes sociais update de fotos e mensagens das redes figura 3 hub-pictures nesse hub você tem acesso a sua galeria de imagens fotos podendo interagir com as redes sociais figura 5 figura 5 hub-pictures codificando.net e-magazine hub­games figura 3 hub-people hub-office nesse hub você terá acesso ao pacote office e integração com sharepoint conforme figura 4 acesso ao xbox live com todas suas informações figura 6 figura 6 hub-games www.codificando.net out nov 2010 10

[close]

p. 11

introdução ao windows phone 7 series e-magazine hub-music video para quem já é usuário do zune percebera que ele esta presente em seu telefone incluindo todas as funções sociais da rede do zune conforme figura 7 system notification volume figura 7 hub-music vídeo sua interface é inovadora e inspiradora com o codnome de metro a interface do wp7 promete uma experiência totalmente nova ao usuário figuras 8 e 9 figura 9 interface ciclo de vida a base de desenvolvimento dos aplicativos para wp7 será o silverlight e para desenvolver não será preciso uma versão especifica será simplesmente silverlight codificando.net e-magazine figura 8 metro-nova interface do wp7 inicialmente vamos entender como funciona o ciclo de vida de uma aplicação para wp7 figura 10 direct3d start ex app page figura 10 ciclo de vida www.codificando.net out nov 2010 11

[close]

p. 12

introdução ao windows phone 7 series e-magazine em relação à instalação e distribuição da aplicação no windows phone 7 ela só poderá ser feita via marketplace da microsoft que atualmente funciona da seguinte forma você faz um cadastro e paga-se em torno de r 215,00 por ano para ter seus aplicativos disponíveis aos usuários bem similar a applestore a microsoft disse que será publicado os critérios para desenvolvedores wp7 arquitetura desenvolvimento quando falamos em desenvolvimento para windows phone podemos fazer diversas aplicações usando silverlight e podemos criar jogos usando xna vamos dar os primeiros passos no desenvolvimento de uma aplicação para wp7 você vai precisar · kit de desenvolvimento para o windows phone 7 visual studio 2010 express for windows phone windows phone emulator silverlight 4 tools for visual studio xna game studio 4.0 microsoft expression blend for windows phone link para download http migre.me/1o49p windows phone developer tools rtw figura 11 arquitetura do windows phone usando o visual studio 2010 vamos iniciar um novo projeto vamos criar um projeto do tipo silverlight for windows phonewindows phone application e vamos chamá-lo de nosso conhecido helloworld perceba que também podemos criar um projeto do tipo xna para jogos no windows phone panorama e pivot application veja na figura 13 codificando.net e-magazine figura 12 framework www.codificando.net out nov 2010 12

[close]

p. 13

introdução ao windows phone 7 series e-magazine figura 13 novo projeto na listagem 1 podemos ver a estrutura default de nossa aplicação xaml ele contem dois textblock o primeiro contendo o nome da aplicação e o segundo o titulo da pagina em seguida um grid onde iremos colocar os elementos de nossa aplicação listagem 1 figura 14 modo design vamos adicionar ao nosso grid um button e um textblock veja a figura 15 codificando.net e-magazine listagem 1 xaml fique a vontade para alterar no nome de sua aplicação e o título da página agora vamos ver no modo design figura 14 figura 15 interface da aplicação vamos trabalhar no evento click de nosso button adicione o texto hello world ao nosso textblock dentro do evento click www.codificando.net out nov 2010 13

[close]

p. 14

introdução ao windows phone 7 series e-magazine veja que no construtor de nossa página temos o supportedorientations e nesse ponto que vamos definir que nossa aplicação poderá ser visualizada em modo retrato ou paisagem usando o acelerômetro do hardware listagem 2 nessa versão rtw lançada dia 15-09 temos a opção de criar um aplicativo do tipo windows phone panorama application figura 18 figura 18 tipos de projeto listagem 2 mainpage.cs vamos iniciar um projeto panomara application figura 19 vamos compilar nossa aplicação e ver o emulador do wp7 conforme figuras 16 e 17 codificando.net e-magazine figura 19 aplicação em modo design figura 16 menu windows phone veja a estrutura criada nesse tipo de projeto figura 20 figura 17 aplicação funcionando figura 20 estrutura do panorama application www.codificando.net out nov 2010 14

[close]

p. 15

introdução ao windows phone 7 series e-magazine · · · · · · · · · figura 21 aplicação funcionando com três painéis windows phone e xna game studio outro ponto forte do wp7 será a sua capacidade de rodar jogos de forma fantástica além de sua integração com a live É possível criar jogos para wp7 usando xna game studio 4 em agosto foi liberada uma lista dos jogos para wp7 · · · · · · · · · · · · · 3d brick breaker revolution digital chocolate age of zombies halfbrick armor valley protégé games asphalt 5 gameloft assassins creed gameloft bejeweledtm live popcap bloons td digital goldfish brain challenge gameloft bubble town 2 i-play butterfly press start studio carneyvale showtime mgs castlevania konami digital entertainment crackdown 2 project sun · · · · · · · · · · · · · · · · · · · · · · · · · · · · · burst mgs de blob revolution thq deal or no deal 2010 i-play earthworm jim gameloft fast furious 7 i-play fight game rivals rough cookie finger physics mobliss inc flight control namco bandai flowerz carbonated games frogger konami digital entertainment fruit ninja halfbrick game chest-board mgs game chest-card mgs game chest-logic mgs game chest-solitaire mgs geodefense critical thought ghostscape psionic glow artisan powerhead games glyder 2 glu mobile guitar hero 5 glu mobile halo waypoint mgs hexic rush carbonated games i dig it inmotion iblast moki godzilab ilomilo mgs implode xl iugo iquarium infinite dreams jet car stunts true axis let s golf 2 gameloft little wheel one click dog loondon flip n tale max and the magic marker pressplay mini squadron supermono limited more brain exercise namco bandai o.m.g arkedo puzzle quest 2 namco bandai real soccer 2 gameloft the revenants chaotic moon rise of glory revo solutions out nov 2010 codificando.net e-magazine www.codificando.net 15

[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