Como criar uma coleção para estações de trabalho

Isso pode parecer uma postagem de blog estranha para escrever. Por que não simplesmente pesquisar todas as estações de trabalho com “Windows 7%” e “Windows 10%” em sua consulta? Assim que tiver essas informações, você poderá criar uma coleção para estações de trabalho. Sim, isso funciona, mas aqui está o problema: você está fazendo com que o SQL Server trabalhe mais do que o necessário. Além disso, o que acontece quando você adiciona outro sistema operacional (SO) de estação de trabalho, como o Windows 8, à mistura? Mais trabalho!

Nesta postagem do blog, eu explico com mais detalhes por que é ruim criar consultas de coleção usando o símbolo de porcentagem “%” nelas. Em vez disso, mostro uma consulta muito simples que pega todos os sistemas operacionais de estação de trabalho sem prejudicar o SQL Server ou o servidor do site SCCM. Depois disso, tudo o que você precisa fazer é criar a coleção para as estações de trabalho.

O problema com o símbolo de porcentagem “%”

Aqui vou eu, entrando nos detalhes do SQL Server e como os índices funcionam em um banco de dados! A maioria de vocês sabe o que “páginas brancas" Está certo? É aquele livro de 3 polegadas de espessura que fica perto do telefone residencial de seus pais. Pense nas páginas em branco como um banco de dados porque é exatamente isso que é, um banco de dados.

Para ajudar a provar meu ponto de vista, os índices do SQL Server são semelhantes às páginas brancas de uma lista telefônica, fiz uma pesquisa rápida no Bing por estações de trabalho WQL SCCM. Eu encontrei este link para Consultas WQL ConfigMgr no site Microsoft TechNet Gallery. A primeira consulta listada é “Todas as estações de trabalho ativas do Windows (laptops / desktops)”.

selecionar

SMS_R_SYSTEM.ResourceID,

SMS_R_SYSTEM.ResourceType,

SMS_R_SYSTEM.Name,

SMS_R_SYSTEM.SMSUniqueIdentifier,

SMS_R_SYSTEM.ResourceDomainORWorkgroup,

SMS_R_SYSTEM.Client

a partir de

SMS_R_System

junção interna SMS_G_System_CH_ClientSummary em SMS_G_System_CH_ClientSummary.ResourceId = SMS_R_System.ResourceId junção interna SMS_G_System_SYSTEM_ENCLOSURE em SMS_G_System_SYSTEM_ENCLOSURE.ResourceID = SMS_R_System.ResourceId

Onde

SMS_G_System_SYSTEM_ENCLOSURE.ChassisTypes in (“3”, “4”, “5”, “6”, “7”, “15”, “16”, “8”, “9”, “10”, “11”, “ 14 ”)

e SMS_R_System.OperatingSystemNameandVersion like “Microsoft Windows NT Workstation%”

e SMS_G_System_CH_ClientSummary.ClientActiveStatus = 1

e SMS_R_System.Client = 1

e SMS_R_System.Obsolete = 0

e SMS_R_System.Active = 1

Esta consulta está olhando para o System Enclosure e o atributo Chassis Type. Posso escrever uma postagem de blog inteira sobre por que essa consulta NÃO encontrará todas as estações de trabalho, mas isso fica para outro dia. Estou mostrando esta consulta para que você dê uma olhada na seção destacada.

Antes de voltar ao meu ponto sobre as páginas em branco, o que o símbolo de porcentagem “%” faz nesta consulta? Vamos falar sobre índices e varreduras de tabela do SQL Server.

O que são índices do SQL Server?

De acordo com Ponto de tutoriais, “Índices são tabelas de pesquisa especiais que o mecanismo de pesquisa de banco de dados pode usar para acelerar a recuperação de dados. Simplificando, um índice é um ponteiro para dados em uma tabela. Um índice em um banco de dados é muito semelhante a um índice no final de um livro. ”

O que são varreduras de tabela?

Agora, vamos dar uma olhada nas varreduras da tabela. MSSQLTips.com diz, “Uma varredura de índice ou varredura de tabela ocorre quando o SQL Server precisa varrer os dados ou páginas de índice para encontrar os registros apropriados. Uma varredura é o oposto de uma busca, onde uma busca usa o índice para localizar os registros que são necessários para satisfazer a consulta. O motivo pelo qual você desejaria encontrar e corrigir suas varreduras é porque elas geralmente exigem mais E / S e também demoram mais para serem processadas. ”

O que o símbolo de porcentagem “%” faz na consulta SCCM WQL?

Resumindo, significa que você está digitalizando todos os registros que começam com “Microsoft Windows NT Workstation”. Isso não é tão eficiente quanto solicitar todos os registros que contenham “Estação de trabalho”, mas mais sobre isso posteriormente.

Voltando à minha analogia com as páginas em branco, quero encontrar todas as linhas com “Jones%” e encontrar o primeiro Jones é bastante fácil. Porque? Em sua maior parte, os índices do SQL Server, semelhantes às páginas em branco de uma lista telefônica, são ordenados com o sobrenome primeiro. Esse não é o caso, no entanto, no banco de dados SCCM e, por esse motivo, a coluna OperatingSystemNameandVersion não é indexada no SQL Server. Isso significa que quando você usa o símbolo de porcentagem %, SCCM deve examinar cada linha no banco de dados para ver se o valor, Jones%, está lá. Em outras palavras, isso requer muita E / S.

Como podemos melhorar esta consulta para criar uma coleção para estações de trabalho?

Use a coluna SystemRole na visualização System (SMS_G_System_SYSTEM). Abaixo está uma captura de tela da coluna Função do Sistema no Explorador de Recursos. Sim, você está vendo isso corretamente. O nome da coluna é uma palavra no banco de dados e WQL e duas palavras no Resource Explorer.

Coleção para estações de trabalho - Coluna de funções do sistema

selecionar

SMS_R_System.ResourceId,

SMS_R_System.ResourceType,

SMS_R_System.Name,

SMS_R_System.SMSUniqueIdentifier,

SMS_R_System.ResourceDomainORWorkgroup,

SMS_R_System.Client

a partir de

SMS_R_System

junção interna SMS_G_System_CH_ClientSummary em SMS_G_System_CH_ClientSummary.ResourceID = SMS_R_System.ResourceId

junção interna SMS_G_System_SYSTEM em SMS_G_System_SYSTEM.ResourceId = SMS_R_System.ResourceId

Onde

SMS_G_System_SYSTEM.SystemRole = “Estação de trabalho”

e SMS_G_System_CH_ClientSummary.ClientActiveStatus = 1

e SMS_R_System.Client = 1

e SMS_R_System.Obsolete = 0

e SMS_R_System.Active = 1

Observe que não mudei muito. Removi o filtro ChassisType na cláusula where porque há estações de trabalho com outros tipos de chassis. Também removi o nome do sistema operacional. Em vez disso, a consulta atualizada procura a função de sistema “Estação de trabalho”. Essas alterações simples tornam a consulta mais eficiente no SQL Server e no servidor do site SCCM.

Com os resultados, agora você pode ir em frente e criar uma coleção para estações de trabalho com o conhecimento de que não está colocando nenhum estresse indevido no SQL Server.

Você gostaria que eu fizesse uma postagem no blog sobre por que uma consulta que procura o atributo System Enclosure ChasisType não encontrará todas as estações de trabalho? Deixe-me saber entrando em contato comigo em @GarthMJ.

Veja como Right Click Tools está mudando a forma como os sistemas são gerenciados.

Aumente imediatamente a produtividade com o nosso limitado e gratuito, Community Edition.

Comece com Right Click Tools hoje:

Compartilhar isso:

Suporte

  • Este campo é para fins de validação e não deve ser alterado.

Contato

  • Este campo é para fins de validação e não deve ser alterado.

Ao enviar este formulário, você entende que o Recast Software pode processar seus dados conforme descrito no Recast Software Política de Privacidade.

pt_BRPortuguese