Lista de possíveis novidades a serem lançadas em 2020 para Windows 10


Segundo o WebSite Windows Central, a Microsoft que atualmente esta trabalhando no Build 20H1, codinome da próxima grande atualização do Windows, destaca algumas informações sobre as possíveis novidades a serem adicionadas ao Windows 10 em 2020.

Aparência do Windows

  • O Explorador de Arquivos ganhará uma nova interface de pesquisa e agora é alimentado por um novo sistema, o “ELF64 Linux”.
  • O Teclado Virtual ganhou mais 39 idiomas adicionais baseados nas tecnologias SwiftKey.
  • O Input Method Editor (IME) ganhou melhorias para japonês, bem como chinês simplificado e tradicional.
  • O Ditador agora suporta 12 idiomas adicionais.
  • A lista de Wi-Fi foi atualizada com uma interface do usuário aprimorada e melhor iconografia.
  • O Windows Ink Workspace agora é menor e fornece acesso direto ao Microsoft Whiteboard e ao Snip & Sketch.
  • Uma nova experiência da Cortana está presente e apresenta uma nova interface do usuário de conversação, modo claro e escuro e muito mais.
  • Os Desktops Virtuais agora podem ser renomeados e salvos entre as reinicializações.
  • Novas opções de notificação estão presentes e permitem que o usuário controle quais aplicativos podem emitir notificações. Também ficou mais fácil ocultar o conteúdo das notificações.
  • Agora, os usuários podem adicionar eventos ao calendário diretamente no menu desdobrável de hora e data na barra de tarefas.

Configurações

  • Vai ser possível remover todas senhas tradicionais do sistema, isso condicionado apenas ao uso exclusivo dos mecanismos de autenticação do Windows Hello.
  • Uma nova seção de visualização geral para a área Idiomas nas Configurações permitirá saber rapidamente quais idiomas estão selecionados como padrão para sua exibição do Windows, aplicativos e sites, formato regional, teclado e fala.
  • A nova opção de “Cloud Download” permitirá restaurar o Windows a partir de um back-up feito na Nuvem.

Continuar lendo Lista de possíveis novidades a serem lançadas em 2020 para Windows 10

Script Challenge – 15 – A resposta….


Boa tarde, pessoal…

Tudo bem?  Seja mais uma vez muito bem vindo ao meu blog, mais especificamente ao post que apresenta a resposta para o Script Challenge – 2018 – Post 15, publicado em fevereiro de 2019, sendo este respectivamente o terceiro post após o retorno desta desafiadora sessão em meu blog denominada Script Challenge (Script Desafiador ou Desafio do Script) como queiram traduzir.

Espero que você já tenha ouvido falar desta sessão ou acessado alguns dos posts publicados na mesma, caso ainda não tenha feito, fique tranquilo você vai encontrar no final deste post uma pequena relação contendo os últimos desafios lançados e seus respostas.

Vamos então falar um pouco mais sobre o último desafio, estou me referindo ao Script Challenge 14, desta forma, seja bem vindo a mais um post da sessão Script Challenge.


Script Challenge 15

Falando do desafio de número 15, o mesmo foi publicado no mês de fevereiro de 2019, período de data em que praticamente todos nós estamos começando a iniciar nossas atividades profissionais e principalmente acadêmicas.

Começo de ano não é fácil, volta as aulas, correria de comprar material escolar, renovação de mensalidades, matrículas, IPVA, IPTU, tanta conta para pagar que as coisas acabam se tornando um grande furação em nossas vidas e precisamos de alguma maneira, anotar, gerenciar ou auditar tudo o que estamos fazendo.

Pois bem, o Script Challenge 15 possui um pouco relação ou conexão com toda esta loucura, não necessariamente com a volta as volta as aulas, ou impostos que devemos pagar.

Na verdade, sabemos que existem determinadas situações, ações, procedimentos e demais atividades que se não cumprimos da maneira que estava preestabelecida acabamos de alguma forma sendo notificados ou até mesmo penalizados, pensando justamente desta forma, o Script Challenge 15 se relaciona.

Continuando nossa história, quero lhe perguntar: E ai já matou a charada? Acho que ainda não! Não é mesmo?

Mas para te ajudar mais um pouco vou apresentar a Figura 1 que contem todo código Transact-SQL utilizado neste desafio, contendo trechos ou partes de código ocultas, procedimento que realizei no post que contempla o lançamento deste desafio como forma de aumentar o nível de dificuldade:

Figura 1 – Código Transact-SQL apresentado no Script Challenge 15.

Bom chegou a hora de revelar o que exatamente este bloco de código se propõem a fazer, chegou o momento de revelar e desvendar este desafio. A seguir apresento a resposta para o Script Challenge 15 e o todo bloco de código disponível para você utilizar em seus ambientes de trabalho ou estudos.

A resposta

Como você pode ter percebido, no decorrer deste post e também no post de lançamento, procurei de uma forma bastante simples mas não explícita exibir ao longo do texto, pequenas dicas que poderiam ajudar, nortear e quem sabe indicar uma possível resposta ou solução para o desafio.

Falando mais diretamente, a resposta para o Script Challenge 15, esta totalmente relacionada as nossas atividades diárias, mas não no mundo real, mas sim no mundo virtual, estou me referindo a chamada auditoria, palavrinha que para muitos chega a dar calafrios. Não é mesmo?

Mas se mesmo assim, você ainda não conseguiu adivinhar ou até mesmo pode estar se perguntando: Qual a relação do Script Challenge – 15 tem haver com auditoria? A resposta para seu questionamento é muito simples, para qualquer Administrador de Banco de Dados, Administrador de Servidores, Desenvolvedor, enfim um profissional de tecnologia, tudo o que fazemos basicamente em um computador deve de alguma forma ser monitorada, auditada, controlada, afim de gerar evidência do que foi feito e por quem foi feito, como uma forma de nos proteger e si proteger.

Então a resposta para o Script Challenge 15 se relaciona com a possibilidade que o script apresenta em nos ajudar a identificar tudo o que esta sendo acesso, manipulado e processado, por quem, como, quando, onde e de que forma ao se conectar em um servidor ou instância de banco de dados Microsoft SQL Server, isso tudo em tempo real, ou como gostam de dizer Real Time.

De uma forma muito simples e direta, esta é a resposta, auditoria em tempo real. Abaixo apresento o script original que ilustra esta capacidade que o Microsoft SQL Server em conjunto com suas visões e funções de gerenciamento dinâmico possui:

— Script Challenge 15 – A resposta – Realizando Auditoria em tempo real (In Live) —

Use Master
Go

SELECT ser.session_id As ‘SessionID’,
ssp.ecid,
DB_NAME(ssp.dbid) As ‘DatabaseName’,
ssp.nt_username as ‘User’,
ser.status As ‘Status’,
ser.wait_type As ‘Wait’,
SUBSTRING (sqt.text,  ser.statement_start_offset/2,
(CASE WHEN
ser.statement_end_offset = -1 THEN LEN(CONVERT(NVARCHAR(MAX), sqt.text)) * 2
ELSE ser.statement_end_offset
END – ser.statement_start_offset)/2) As ‘Individual Query’,
sqt.text As ‘Parent Query’,
ssp.program_name As ‘ProgramName’,
ssp.hostname,
ssp.nt_domain As ‘NetworkDomain’,
ser.start_time
FROM sys.dm_exec_requests ser INNER JOIN sys.sysprocesses ssp
On ser.session_id = ssp.spid
CROSS APPLY sys.dm_exec_sql_text(ser.sql_handle)as sqt
WHERE ser.session_Id > 50
AND ser.session_Id NOT IN (@@SPID)
ORDER BY SessionID, ssp.ecid
Go

Então, agora você deve ter gostado deste desafio, não é verdade? Ter a capacidade de identificar, monitorar e registrar tudo o que esta sendo acessado ou manipulado em tempo real, com certeza é algo útil e de extrema importância para qualquer empresa.

A Figura 2 apresentada abaixo, ilustra o conjunto de dados retornados após a execução do Script Challenge – 15:
Figura 2 – Informações coletadas em tempo real, dentre elas SessionID, DatabaseName e ProgramName.

Dentre o conjunto de colunas retornadas pelo Script Challenge 15, destaco algumas:

  • User – Apresenta o nome do usuário que esta conectado e processando a query;
  • Status – Apresenta o status em tempo real da execução, waiting ou suspended da query;
  • Wait – Apresenta qual é o Wait Types utilizado pela query;
  • Individual Query – Apresenta se a query processada esta sendo executada de forma individual, em conjunta ou até mesmo se ele é uma sequência de execuções de blocos de código; e
  • ProgramName – Apresenta o nome do programa, aplicações ou software que esta disparando a execução da query.

Muito bom, sensacional, conseguimos, chegamos ao final, esta é a resposta para o Script Challenge 14, fico extremamente feliz por ter conseguido compartilhar este conteúdo com vocês.

Espero que você tenha gostado deste novo post da sessão Script Challenge!


Sua Participação

No post de lançamento deste desafio, contei com a sua participação através de uma enquete contendo algumas opções de respostas que poderiam estar relacionadas com o Script Challenge 15. A seguir apresento o resultado desta enquete:

A opção mais votada com 44% dos votos é justamente a resposta correta para este desafio: ” O bloco de código apresentado se relacionado com a possibilidade de realizar o monitoramento de sessões e programas que solicitaram dados em tempo real ao SQL Server.”

Referências

Agradecimentos

Obrigado por sua visita, espero que este conteúdo aqui apresentado como um possível “desafio” possa ser útil e ao mesmo tempo prover conhecimento, aprendizado ou mostrar recursos e problemas existentes no Microsoft SQL Server que as vezes parecem não ter uma resposta.

Um forte abraço nos encontramos em breve nas demais sessões e especialmente em outubro de 2019 em mais um post da sessão Script Challenge.

Até mais….

Script Challenge – 14 – A resposta….


Boa tarde, pessoal…

Tudo bem?  Seja mais uma vez muito bem vindo ao meu blog, mais especificamente ao post que apresenta a resposta para o Script Challenge – 2018 – Post 14, publicado em junho de 2018, sendo este respectivamente o segundo post após o retorno desta desafiadora sessão em meu blog denominada Script Challenge (Script Desafiador ou Desafio do Script) como queiram traduzir.

Espero que você já tenha ouvido falar desta sessão ou acessado alguns dos posts publicados na mesma, caso ainda não tenha feito, fique tranquilo você vai encontrar no final deste post uma pequena relação contendo os últimos desafios lançados e seus respostas.

Vamos então falar um pouco mais sobre o último desafio, estou me referindo ao Script Challenge 14, desta forma, seja bem vindo a mais um post da sessão Script Challenge.


Script Challenge 14

Falando do desafio de número 14, o mesmo foi publicado no mês de junho de 2018, período de data em que o mundo todo praticamente direcionou os seus olhares para a Rússia, mais especificamente para os jogos de futebol que estavam ocorrendo no país naquele momento.

Pois bem, o Script Challenge 14 não tem nenhum relação com o mundo do futebol, muito menos com o esporte, e como diria aquele apresentador do programa que passa ao domingos: “Sabe o que isso significa? Nada…..”.

Na verdade não é bem assim, para todos aqueles que trabalham com tecnologia e são responsáveis em armazenar, compartilhar, gerenciar e manter dados armazenados em banco de dados, sabe muito bem o quanto temos que nos preocupar em estabelecer boas práticas de retenção de dados afim de podermos ter uma quem sabe vida tranquila ou momentos de lazer.

Continuando nossa história, quero lhe perguntar: E ai já matou a charada? Eu acredito que sim!

Mas para te ajudar mais um pouco vou apresentar a Figura 1 que contem todo código Transact-SQL utilizado neste desafio, contendo trechos ou partes de código ocultas, procedimento que realizei no post que contempla o lançamento deste desafio como forma de aumentar o nível de dificuldade:

Figura 1 – Código Transact-SQL apresentado no Script Challenge 14.

Bom chegou a hora de revelar o que exatamente este bloco de código esta fazendo, chegou o momento de revelar e desvendar este desafio, a seguir apresento a resposta para o Script Challenge 14 e o trecho de código disponível para você utilizar em seus ambientes de trabalho ou estudos.

A resposta 

Como você pode ter percebido, no decorrer deste post e também no post de lançamento, procurei de uma forma bastante simples mas não explícita exibir ao longo do texto, pequenas dicas que poderiam ajudar, nortear e quem sabe indicar uma possível resposta ou solução para o desafio.

Mas se mesmo assim, você ainda não conseguiu adivinhar ou até mesmo esta se perguntando qual a relação do Script Challenge – 14 tem haver com um momento de lazer, calma que eu já vou te responder.

A resposta é muito simples, para qualquer Administrador de Banco de Dados, Administrador de Servidores, Desenvolvedor, enfim um profissional de tecnologia, tudo o que fazemos basicamente em um computador é manipular dados (Criar, Atualizar, Excluir).

Tudo o que fazemos esta relacionado com esta palavrinha pequena, mas de altíssima importância e pensando neste sentido a resposta para este desafio se relaciona a estimativa de crescimento de um arquivo de backup, e o quanto esta atividade tão importante e de alta complexidade pode impactar totalmente na vida daqueles que assim como eu um dia ou por diversos momentos teve que abrir mão do seu convívio familiar para se dedicar a acompanhar esta atividade.

Então a resposta para o Script Challenge 14 se relaciona com a possibilidade que o script apresenta em nos ajudar a identificar e estimar o quanto de espaço livre em disco em megabytes ainda teremos antes da execução do backup database levando-se em consideração o tamanho do arquivo de backup a ser criado.

Isso mesmo, esta é a resposta, e o script original que apresenta esta funcionalidade apresentada abaixo:

— Script Challenge 14 – A resposta – Identificando o total de espaço livre em disco antes da realização do backup database — 

— Criando a Stored Procedure —
USE AdventureWorksDW2016
Go

CREATE PROCEDURE dbo.dbo.EstimatedDriveFreeSpaceAndDBSize (
@drvLetter VARCHAR (5),
@enoughSpaceForBackupFlag BIT OUTPUT
)
AS
BEGIN
DECLARE @estimatedBackSizeMB INT,
@estimatedDriveFreeSpaceMB INT,
@dbCheckMessage varchar(80)

SET NOCOUNT ON

SET @dbCheckMessage = Concat (‘Checking database ‘, DB_NAME ())

SELECT @estimatedBackSizeMB = round (sum (a.total_pages) * 8192 / SQUARE (1024.0), 0)
FROM sys.partitions p JOIN sys.allocation_units a
                                            ON p.partition_id = a.container_id
                                           LEFT JOIN sys.internal_tables it
                                            ON p.object_id = it.object_id

CREATE TABLE #freespace

(drive VARCHAR (5),

MBFree DECIMAL (8, 2))

INSERT INTO #freespace (Drive, MBFree)
EXEC xp_fixeddrives

SELECT @estimatedDriveFreeSpaceMB = MBFree
FROM #freespace
WHERE drive = @drvLetter

IF @estimatedBackSizeMB * 1.15 < @estimatedDriveFreeSpaceMB
 SET @enoughSpaceForBackupFlag = 1
ELSE
 SET @enoughSpaceForBackupFlag = 0

SELECT DatabaseName = db_name(),
Estimated_Back_Size_MB = @estimatedBackSizeMB,
Estimated_Drive_Free_Space_MB = @estimatedDriveFreeSpaceMB,
EnoughSpaceForBackupFlag = @enoughSpaceForBackupFlag

DROP TABLE #freespace
SET NOCOUNT OFF
END
GO

Então, agora você deve ter gostado deste desafio, não é verdade? Poder estimar o espaço livre em disco e o tamanho ocupado pelo arquivo mesmo sem executar o Backup Database é realmente uma grande funcionalidade que o Microsoft SQL Server possui.

Observações

  1. Estamos criando uma User Stored Procedure EstimatedDriveFreeSpaceAndDBSize;
  2. A mesma possui um parâmetros de entrada de valores: @drvLetter (utilizado para informar qual a letra da unidade de disco que iremos analisar); e
  3. Um parâmetro de saída @enoughSpaceForBackupFlag (utilizado no momento da execução da stored procedure como sinalizar responsável em apresentar uma mensagem ao usuário).

Para que você possa entender mais ainda sobre como podemos obter os resultados apresentados por este script, declaro a seguir uma possível maneira de executar o Script Challenge – 14:

— Executando o Script Challenge – 14 —

USE AdventureWorksDW2016
Go

DECLARE @enoughSpaceForBackupFlag bit

EXEC Master.dbo.EstimatedDriveFreeSpaceAndDBSize ‘S’, @enoughSpaceForBackupFlag OUTPUT

PRINT @enoughSpaceForBackupFlag
IF @enoughSpaceForBackupFlag = 1
PRINT ‘Continue to Backup…’
ELSE
PRINT ‘Drive Space Problem…’
GO

A Figura 2 apresentada abaixo, ilustra o conjunto de dados retornados após a execução do Script Challenge – 14:

Figura 2 – Informações relacionadas a estimativa de tamanho do arquivo de backup e espaço livre em disco em megabytes.

Muito bom, sensacional, conseguimos, chegamos ao final, esta é a resposta para o Script Challenge 14, fico extremamente feliz por ter conseguido compartilhar este conteúdo com vocês.

Espero que você tenha gostado deste novo post da sessão Script Challenge!


Sua Participação

No post de lançamento deste desafio, contei com a participação através de uma enquete contendo algumas opções de respostas que poderiam estar relacionadas com o Script Challenge 14. A seguir apresento o resultado desta enquete:

A opção mais votada com 77,78% dos votos é justamente a resposta correta para este desafio: “A qual exibe retorna ao usuário informações relacionadas a estimativa de espaço em disco ocupado pelo arquivo de backup de banco de dados e o espaço livre disponível em disco após a conclusão do backup.”

Referências

Agradecimentos

Obrigado por sua visita, espero que este conteúdo aqui apresentado como um possível “desafio” possa ser útil e ao mesmo tempo prover conhecimento, aprendizado ou mostrar recursos e problemas existentes no Microsoft SQL Server que as vezes parecem não ter uma resposta.

Um forte abraço nos encontramos em breve nas demais sessões e especialmente em fevereiro de 2019 em mais um post da sessão Script Challenge.

Até a próxima…

Script Challenge – 2018 – Post 14


Boa tarde comunidade…

Tudo bem? Sexta – feira dia 29/06 estamos no inverno, graças a deus aquele friozinho diminui muito nos últimos dias, eu particularmente gosto do frio, principalmente acompanhado da minha família e do leite quente, chocolate e aquela sopinha no final da tarde que somente minha “pequena” Fernanda sabe fazer.

Introdução

Os posts publicados nesta sessão tem o objetivo de desafiar o visitante a descobrir o que um determinado script pode fazer ao ser executado, e não somente isso, mostrar como podemos aprender com o uso da linguagem Transact-SQL e sua vasta coleção de comandos, funções e instruções adicionadas a cada nova versão ou atualização do Microsoft SQL Server.

Se você ainda não conhecia a sessão Script Challenge, fique tranquilo vai ter a possibilidade agora mesmo, como também a cada 4 meses poder desfrutar de um novo desafio e sua respectiva resposta, por isso esta sessão é denominada Script Challenge(Script Desafio ou Desafio do Script), bom a melhor forma de traduzir eu deixo para você escolher.

Seguindo um frente….

Gostaria de destacar mais uma vez duas mudanças iniciais implementadas na sessão Script Challenge tendo como base o post publicado em outubro de 2017, sendo elas:

  1. Como maneira ou forma de dificultar ainda mais o nível de complexidade do código, o bloco de código que representa o Script Challenge selecionado para compor o post será  apresentado no formato de imagem ou figura; e
  2. Algumas partes das linhas de código, trechos, ou partes de código serão omitidas, justamente como forma de tornar este código ainda mais desafiador.

Antes de destacar o script de hoje, não custa nada saber um pouco mais sobre esta sessão, por este motivo, quero lhe contar um pouco da história que cerca os posts relacionadas a ela…

Um pouco de História

Esta é uma sessão criado no final do ano de 2010 e mantida mensalmente até meados de 2012, desde então não me dediquei mais a mesma devido principalmente em não conseguir identificar possíveis scripts dentro da minha biblioteca que poderiam ser apresentados como um scripts considerados como desafio para os profissionais da área de banco de dados.

Mas acredito que nos últimos anos com o crescimento do Microsoft SQL Server, seu nível de evolução, amadurecimento e recursos adicionais, como também, meu nível de experiência profissional e acadêmica também evolui muito, sinto-me preparado para retornar com esta sessão e poder de forma bastante técnica, didática e conceitual poder lançar um “desafio” e responder o mesmo com muito segurança.

Outro detalhe importante, esta é uma sessão que foi criada, pensando em apresentar pequenos blocos de códigos oriundos da linguagem Transact-SQL que possam apresentar um nível de dificuldade e conhecimento técnico um pouco mais elevado, exigindo assim uma análise mais profunda e até mesmo a criação um pequeno cenário de teste para seu entendimento.

Vamos então conhecer o bloco de código selecionado para ser o Script Challenge deste post.


Script Challenge – 14

O bloco de código Transact-SQL selecionado para fazer parte do Script Challenge de hoje, esta relacionado com uma das atividades diárias exercidas por Administradores de Servidores, Desenvolvedores, DBAs e Administradores de Banco de Dados.

Bom não vou dizer a qual atividade eu me refiro, mas que ela apresenta uma importância muito grande para a vida de qualquer corporação, com certeza apresenta.

O desafio deste respectivo script, esta diretamente ligado com o impacto que o resultado obtido após sua execução e antes da realização da atividade poderá nos trazer, bem como, o mesmo torna-se uma útil ferramenta no que se relacionada a sobrevivência de nossos dados em caso de uma possível falha física.

Esta curioso para saber qual é esta atividade? Mesmo assim, não vou lhe responder hoje, vou deixar que você quebre um pouco a sua cabeça, afim de tentar matar esta curiosidade, mas como não sou tão mal assim, no final do post como de costume vou deixar uma enquete para você expor sua opinião.

A seguir apresento o bloco de código:

Figura 1 – Short Script 14.

Muito bem, nosso Script Challenge esta apresentado. Você preparado para mais este desafio?

Tenho a certeza que sim!


Sua participação

Legal, agora quero conter com a sua participação, me ajudando a responder este post, outra grande novidade que estou adicionando aos post da sessão Script Challenge será uma pequena enquete com possíveis respostas para identificar qual é a correta relacionada com o desafio apresentado através do bloco de código selecionado para este post, desta forma, apresento a seguir a Enquete – Script Challenge – 14 e suas alternativas de resposta:

Seguindo em frente, já conhecemos o Script Challenge selecionado, sua enquete e relação de opções de resposta, fica faltando somente a sua participação, algo que eu tenho a certeza que vai acontecer rapidamente.

Durante quanto tempo posso participar…

Outra grande mudança na sessão Script Challenge é seu tempo de publicação “validade”, anteriormente os posts desta sessão eram publicados mensalmente ou bimestralmente, agora serão publicados em um período mais longo, ou seja, a cada 4 meses estarei compartilhando com vocês novos posts dedicados exclusivamente para esta sessão.

Desta forma, você terá mais tempo para participar e me ajudar e encontrar a resposta correta para este desafio, enviando suas possíveis sugestões, críticas e até mesmo alternativas de resposta para minha enquete.

Posts anteriores

Caso esta seja a primeira vez que você acessa um post desta sessão, fico muito feliz e aproveito para compartilhar os posts mais recentes:

https://pedrogalvaojunior.wordpress.com/2017/10/26/script-challenge-2017-o-retorno/

https://pedrogalvaojunior.wordpress.com/2018/03/01/script-challenge-13-a-resposta/


Agradecimentos

Obrigado por sua visita, espero que post apresentado como um possível “desafio” possa ser úteis e ao mesmo tempo prover conhecimento, aprendizado ou mostrar recursos e problemas existentes no Microsoft SQL Server que as vezes parecem não ter uma resposta, ou são tratados com “bichos de sete cabeças”.

Um forte abraço nos encontramos em breve nas demais sessões e especialmente em outubro de 2018 em mais um post da sessão Script Challenge.

Sucesso, mais uma vez obrigado por sua visita, espero que você tenha gostado deste post.

Fique a vontade para conhecer demais publicados até o presente momento nas demais sessões.

Abraços.

Introdução ao Data Collection no Microsoft SQL Server 2008 – Final.


Olá pessoal, bom dia.

Conforme o prometido, estou de volta para finalizar a série de artigos sobre o Data Collection, nesta última parte, vou destacar os recursos do CONJUNTO DE COLETA DE ESTATÍSTICAS DE CONSULTA.

Desejo uma boa leitura.

——————————————————————————————————————————————————–

CONJUNTO DE COLETA DE ESTATÍSTICAS DE CONSULTA.

Reúne dados sobre estatísticas de consulta e texto de consulta individual, planos de consulta e consultas específicas. Esses dados, quando vinculados com as estatísticas e atividades no nível do sistema, permitem que os usuários façam busca detalhada
abaixo do nível de sessão para uma consulta individual. Esse conjunto de coleta reúne dados das fontes a seguir:

  • sys.dm_exec_requests – Retorna informações sobre cada solicitação que está em execução no SQL Server;
  • sys.dm_exec_sessions – Retorna uma linha por sessão autenticada no SQL Server. sys.dm_exec_sessions é um modo de exibição de escopo de servidor que mostra informações sobre todas as tarefas internas e conexões de usuário ativo. Esta informação inclui a versão do cliente, nome do programa cliente, tempo de logon do cliente, usuário de login, configuração de sessão atual e mais. Use sys.dm_exec_sessions para exibir pela primeira vez a carga do sistema atual e para identificar uma sessão de interesse e, em seguida, saiba mais informações sobre a sessão usando outras exibições de gerenciamento
    dinâmico ou funções de gerenciamento dinâmico; 
  • sys.dm_exec_query_stats – Retorna as estatísticas de desempenho agregadas para os planos de consulta em cache. O
    modo de exibição contém uma linha por instrução de consulta no âmbito do plano em cache e a vida útil das linhas estão ligados ao próprio plano. Quando um plano é removido do cache, as linhas correspondentes são eliminadas deste modo
    de exibição.

O conjunto de coleta de Estatísticas de Consultas usa o tipo de coletor de Atividade de Consulta. Este, por sua vez, coleta dados usando o pacote SSIS de QueryActivityCollect.dtsx e carrega dados usando o pacote SSIS de QueryActivityUpload.dtsx.

A tabela 3 a seguir fornecem informações sobre o conjunto de coleta de Estatísticas de Consulta e seu item de coleta.

Nome do conjunto de coleta

Estatísticas de consulta

Modo de coleta Em cache
Freqüência da agenda de carregamento A cada 15 minutos
Retenção de dados 14 dias
Item de coleta Estatísticas de Consulta – Atividade de Consulta

Tabela 3. Informações sobre o conjunto de dados coletados através das Estatísticas de consulta.

SEGURANÇA DO COLETOR DE DADOS

O coletor de dados usa o modelo de segurança baseado em função implementado pelo SQL Server Agent. Esse modelo permite que o administrador do banco de dados execute várias tarefas do data collector em um contexto de segurança que tem apenas as
permissões exigidas para executar a tarefa.

Essa abordagem também é usada para operações que envolvem tabelas internas que só podem ser acessadas usando views ou stored procedures. Nenhuma permissão é concedida a tabelas internas. Em vez disso, as permissões são verificadas no usuário da view ou da stored procedure usada para acessar a tabela.

Outro aspecto fundamental desse modelo de segurança são as permissões concêntricas. Nas permissões concêntricas, funções mais privilegiadas herdam as permissões de funções menos privilegiadas nos objetos (incluindo alertas, operadores, tarefas, agendas e proxy).

Segurança de rede

Informações confidenciais podem ser passadas entre instâncias de destino, a instância relacional associada ao servidor de configuração, os conjuntos de coleta em execução e o servidor que hospeda o data warehouse de gerenciamento.

Para proteger qualquer dado transferido em uma rede, são implementados mecanismos de segurança padrão, como criptografia de protocolo para Transact-SQL.  

Permissões para configurar e usar o coletor de dados

Dependendo da tarefa, os usuários devem ser membros de uma ou mais das funções de banco de dados fixas fornecidas para o coletor de dados. Em ordem de acesso mais privilegiado para acesso menos privilegiado, as funções são as seguintes:

  • dc_admin – Data Collection Administrator;
  • dc_operator – Data Collection Operator; e
  • dc_proxy – Data Collection Proxy.

Essas funções são armazenadas no banco de dados MSDB. Por padrão, nenhum usuário é membro dessas funções de banco de dados. A associação do usuário a elas deve ser explicitamente concedida.

O usuários que são membros da função de servidor fixa sysadmin têm acesso total às views do coletor de dados e aos objetos do SQL Server Agent. Porém, eles precisam ser adicionados explicitamente à funções de coletor de dados.

Os membros das funções db_ssisadmin e dc_admin podem elevar seus privilégios para sysadmin. Essa elevação de privilégios pode ocorrer porque essas funções podem modificar os pacotes do Integration Services e os pacotes do Integration Services podem
ser executados pelo SQL Server usando o contexto de segurança sysadmin do SQL Server Agent. Para se proteger contra essa elevação de privilégios ao executar planos de manutenção, conjuntos de coletas de dados e outros pacotes do Integration Services, é recomendado configurar os trabalhos do SQL Server Agent que executam pacotes para usar uma conta proxy com privilégios limitados ou adicionar apenas membros sysadmin às funções db_ssisadmin e dc_admin.

Função dc_admin

Usuários atribuídos à função dc_admin têm acesso total de administrador (Criação, Leitura, Atualização e Exclusão) à configuração do coletor de dados em uma instância de servidor. Membros dessa função podem executar as seguintes operações:

  • Definir propriedades de nível de coletor;
  • Adicionar novos conjuntos de coleta;
  • Instalar novos tipos de coleta; e
  • Executar todas as operações permitidas à função dc_operator.

A função dc_admin é membro da role SQLAgentUserRole, essa função é necessária para criar agendas e executar tarefas. Importante destacar que, proxies criados para o coletor de dados devem conceder acesso à dc_admin para criá-los e utilizá-los em qualquer etapa da tarefa que exija um proxy.

Função dc_operator

Membros da função dc_operator têm acesso de Leitura e Atualização. Essa função suporta tarefas de operações relacionadas com a execução e configuração de conjuntos de coleta. Membros dessa função podem executar as seguintes operações:

  • Iniciar ou parar um conjunto de coleta;
  • Enumerar conjuntos de coleta existentes;
  • Exibir informações detalhadas (por exemplo, itens e freqüência de coleta) associadas a um conjunto de coleta;
  • Alterar a freqüência de carregamento de conjuntos de coleta existentes;
  • Alterar a freqüência de coleta de itens de coleta que fazem parte de um conjunto de coleta existente.

A função dc_operator é membro da função db_ssisltduser. A associação a essa função é necessária para que os membros possam enumerar e exibir pacotes do coletor de dados.

Função dc_proxy

Membros da função dc_proxy têm acesso de Leitura aos conjuntos de coleta do coletor de dados e às propriedades de nível de coletor. A função dc_proxy é membro da função db_ssisltduser. A associação a essa função é necessária para que os membros possam enumerar e exibir pacotes do coletor de dados.

Os membros dessa função também podem executar tarefas de sua propriedade e criar etapas de tarefa executadas como uma conta proxy existente. Membros dessa função podem executar as seguintes operações:

  • Exibir informações de configuração do conjunto de coleta (por exemplo, parâmetros de entrada de itens de coleta e a freqüência de coleta desses itens);
  • Obter informações internas criptografadas que só podem ser acessadas por um procedimento armazenado assinado (por exemplo, informações de conexão de data warehouse usadas para carregamento de dados);
  • Registrar em log eventos de tempo de execução do conjunto de coleta;
  • Permissões para configurar usar o Data Warehouse de gerenciamento;
  • Dependendo da tarefa, os usuários devem ser membros de uma ou mais das funções de banco de dados fixas fornecidas para acessar o data warehouse de gerenciamento. Em ordem de acesso mais privilegiado para acesso menos privilegiado, as funções são as seguintes:
  • mdw_admin – Member Dynamic View Administrator;
  • mdw_writer – Member Dynamic View Writer; e
  • mdw_reader – Member Dynamic View Reader.

Essas funções são armazenadas no banco de dados MSDB. Por padrão, nenhum usuário é membro dessas funções de banco de dados. A associação do usuário a elas deve ser explicitamente concedida. O usuários que são membros da função de servidor fixa sysadmin têm acesso total às exibições do coletor de dados. Porém, eles precisam ser adicionados explicitamente à funções do banco de dados para executar outras operações.

Função mdw_admin

Membros da função mdw_admin têm acesso de Leitura, Gravação, Atualização e Exclusão no data warehouse de gerenciamento. Estes membros podem executar as seguintes operações:

  • Alterar o esquema do data warehouse de gerenciamento quando necessário (por exemplo, adicionando uma tabela nova quando é instalado um novo tipo de coleta);
  • Onde houver uma alteração de esquema, o usuário também deve ser membro da função dc_admin para instalar um novo tipo de coletor, pois esta ação exige permissão para atualizar a configuração do coletor de dados no MSDB; e
  • Executar tarefas de manutenção no data warehouse de gerenciamento, como arquivo ou limpeza.

Função mdw_writer

Membros da função mdw_writer podem carregar e gravar dados no data warehouse de gerenciamento. Qualquer coletor que armazena dados no data warehouse de gerenciamento deve ser membro dessa função.

Função mdw_reader

Membros da função mdw_reader têm acesso de Leitura ao data warehouse de gerenciamento. Como o objetivo dessa função é dar suporte à solução de problemas fornecendo acesso a dados históricos, os membros dessa função não podem exibir outros lementos do esquema do data warehouse de gerenciamento.

Conclusão

O coletor de dados (Data Collector) é um componente do SQL Server 2008 utilizado para coleta diferentes conjuntos de dados, muitas vezes funcionando como uma uma agenda previamente definida, conforme escolha do usuário. Os dados são armazenados em um banco de dados relacional, também chamado de Data Warehouse de Gerenciamento.

O coletor fornece um ponto central para coleta de dados em seus servidores de banco de dados e aplicativos, que pode obter dados de várias fontes, não se limitando apenas aos dados de desempenho.

Com esta nova funcionalidade o SQL Server 2008 oferece para o administrador de banco de dados, a possibilidade de obtenção de informações relacionadas ao seu funcionamento, bem como, o que se relaciona a utilização de recursos da máquina para execução de suas transações. O Data Collection torna-se um grande aliado ao DBA ajudando em suas atividades diárias na administração e gerenciamento de seus banco de dados e servidores.

Bom pessoal, vou encerrando aqui mais esta série de artigos, desta vez, destaquei toda a estrutura, funcionamento e recursos existentes no Data Collection.

Espero que vocês tenham gostado, nos encontramos em breve nas próximas séries de artigos.

Até mais.