Utilizando a Ferramenta Surface Area Configuration no Microsoft SQL Server 2008 R2 através de Política de Gerenciamento.

Hoje gostaria de destacar para vocês uma das maiores funcionalidades adicionados ao Microsoft SQL Server, conhecida como Surface Area Configuration, presente desde a versão 2005, mas que na versão 2008 acabou sendo integrada a uma nova funcionalidade denominada Política de Gerenciamento ou Policy Management.

Anúncios

Olá pessoal, tudo bem com vocês?

Hoje gostaria de destacar para vocês uma das maiores funcionalidades adicionados ao Microsoft SQL Server, conhecida como Surface Area Configuration, presente desde a versão 2005, mas que na versão 2008 acabou sendo integrada a uma nova funcionalidade denominada Política de Gerenciamento ou Policy Management.

Presente no Microsoft SQL Server 2005, a Surface Area Configuration, foi introduzida como uma ferramenta que permitia ao administrador visualizar e gerenciar o estado de inicialização dos serviços instalados no Microsoft SQL Server 2005, independente da quantidade de instâncias instaladas.

Administrando servidores com Gerenciamento Baseado em Políticas

A partir do Microsoft SQL Server 2008, a Microsoft introduziu um novo conceito de gerenciamento e administração de recursos e funcionalidades de instâncias SQL Server, através do próprio Management Studio, como também, utilizando o Policy Management, sendo este, composto por um conjunto de configurações de políticas de segurança para tornar ainda mais segura o processo de administração de qualquer Servidor Microsoft SQL Server.

Gerenciamento Baseado em Políticas é um sistema para gerenciar uma ou mais instâncias do SQL Server 2008. Quando os administradores de políticas do SQL Server usam o Gerenciamento Baseado em Políticas, eles usam o SQL Server Management Studio para criar políticas para gerenciar entidades no servidor, como as instâncias do SQL Server, bancos de dados ou outros objetos do SQL Server.

O Gerenciamento Baseado em Políticas tem três componentes:

  • Gerenciamento de política: Os administradores de políticas criam políticas.
  • Administração explícita: Os administradores selecionam um ou mais destinos gerenciados e verificam explicitamente se eles estão de acordo com uma política específica, ou explicitamente fazem com que os destinos estejam de acordo com uma política.
  • Modos de avaliação: Há quatro modos de avaliação, três dos quais podem ser automatizados:
  1.                                                                i.      Sob demanda. Este modo avalia a política quando especificado diretamente pelo usuário.
  2.                                                              ii.      Ao alterar: impedir. Esse modo automatizado usa gatilhos DDL para impedir violações de política.
  1.                                                           iii.      Ao alterar: log apenas. Este modo automatizado usa a notificação de eventos para avaliar uma política quando uma alteração relevante é feita.

 

  1.                                                            iv.      Ao agendar. Este modo automatizado usa um trabalho do SQL Server Agent para avaliar periodicamente uma política.

Foi a partir deste novo contexto que o Surface Area Configuration deixou de ser utilizado como uma ferramenta externa e passou a ser integrado a este novo ambiente, mas de forma discreta e praticamente desconhecida por boa parte dos profissionais.

A meu ver um ponto falho em que a Microsoft subestimou o conhecimento e uso desta ferramenta por parte dos profissionais, conhecedores, especialistas e amantes do Microsoft SQL Server. Mas independente de qualquer opinião, esta ferramenta ainda esta presente, o que nos fortalece a possibilidade de fazermos uso de seus recursos.

Termos e conceitos do Gerenciamento Baseado em Políticas

  • Destino gerenciado pelo Gerenciamento Baseado em Políticas: As entidades gerenciadas pelo Gerenciamento Baseado em Políticas, como uma instância do Mecanismo de banco de dados do SQL Server, um banco de dados, uma tabela ou um índice. Todos os destinos em uma instância de servidor formam uma hierarquia de destino. Um conjunto de destino é aquele resultante da aplicação de um conjunto de filtros de destino à hierarquia de destino.
  • Faceta do Gerenciamento Baseado em Políticas: Um conjunto de propriedades lógicas que modelam o comportamento ou as características de certos tipos de destinos gerenciados. O número e as características das propriedades são incorporados à faceta e só podem ser adicionados ou removidos pelo criador da faceta. Um tipo de destino pode programar uma ou mais facetas de gerenciamento, e uma faceta de gerenciamento pode ser implementada por um ou mais tipos de destino. Algumas propriedades de uma faceta só podem ser aplicadas a uma versão específica. Por exemplo, a propriedade Database Mail da faceta Configuração da Área da Superfície só se aplica ao SQL Server 2005 e versões posteriores.
  • Condição de Gerenciamento Baseado em Políticas: Uma expressão booleana que especifica um conjunto de estados permitidos de um destino gerenciado pelo Gerenciamento Baseado em Políticas em relação a uma faceta de gerenciamento.
  • Política de Gerenciamento Baseado em Políticas: Uma condição do Gerenciamento Baseado em Políticas e o comportamento esperado, como, por exemplo, modo de avaliação, filtros de destino e agenda. Uma política só pode conter uma condição. As políticas podem ser habilitadas ou desabilitadas.
  • Categoria de política do Gerenciamento Baseado em Políticas: Uma categoria definida pelo usuário para ajudar a gerenciar políticas. Os usuários podem classificar as políticas em categorias diferentes. Uma política pertence a somente uma categoria. Categorias de políticas se aplicam a bancos de dados e servidores. No nível de banco de dados, as seguintes condições se aplicam:
  • Os proprietários de banco de dados podem assinar um conjunto de categorias de política para um banco de dados.
  • Somente as políticas das categorias assinadas podem governar um banco de dados.
  • Todos os bancos de dados assinam implicitamente a categoria de política padrão.

No nível de servidor, é possível aplicar categorias de políticas a todos os bancos de dados.

Política efetiva: As políticas efetivas de um destino são aquelas que governam esse destino. Uma política só será efetiva em relação a um destino se todas as seguintes condições forem satisfeitas:

  • A política está habilitada.
  • O destino pertence ao conjunto de destino da política.
  • O destino ou um dos destinos ancestrais assina o grupo de políticas que contém essa política.

Bom, após este pequeno overview sobre o Policy Management, seus termos, conceitos e formas de administração, vou destacar um pouco de como o Surface Area Configuration é definido no Microsoft SQL Server 2008 R2.

Compreendendo o Surface Area Configuration

Na configuração padrão de novas instalações do SQL Server, muitos recursos não estão habilitados. O SQL Server instala de forma seletiva e inicia somente os principais serviços e recursos, para minimizar o número de recursos que podem ser atacados por um usuário mal-intencionado.

Um administrador de sistema pode alterar esses padrões no momento da instalação e também seletivamente habilitar ou desabilitar recursos de uma instância em execução do SQL Server. Além disso, alguns componentes podem não estar disponíveis ao estabelecer conexão a partir de outros computadores até que os protocolos sejam configurados.

Importante destacar, que ao contrário das novas instalações, nenhum serviço ou recurso existente é desativado durante uma atualização, mas as opções adicionais de configuração da área da superfície poderão ser aplicadas após a conclusão da atualização.

Utilizando o Surface Area Configuration de forma básica

Para trabalharmos com o Surface Area Configuration no Management Studio é bastante simples, seguindo os passos apresentados abaixo:

A habilitação e desabilitação de recursos do SQL Server podem ser configuradas usando as facetas no SQL Server Management Studio. Para configurar área da superfície usando as facetas:

  1. No Management Studio, conecte-se a sua instância do SQL Server.
  2. No Pesquisador de Objetos, clique com o botão direito do mouse no servidor e clique em Facetas, conforme apresenta a Figura 1.

Figura 1 – Opção Facetas no Management Studio.

3. Na caixa de diálogo Exibir Facetas, expanda a lista Faceta e selecione a faceta Configuração da área da superfície apropriada, conforme apresenta a Figura 2. Por padrão estas facetas estão definidas em três categorias:

    1. Configuração       da área da superfície;
    2. Configuração       da área da superfície para o Analysis Services; e
    3. Configuração da área da superfície para o Reporting Services.

Figura 2 – Tela de Configuração das Facetas de acordo com a categoria selecionada.

A seguir apresenta somente as opções disponíveis para faceta Surface Area Configuration, conforme ilustra a Figura 3:

Figura 3 – Relação de Opções disponíveis para faceta Surface Area Configuration.

  1. Na área Propriedades da faceta, selecione os valores desejados para cada propriedade. Ou se preferir selecione, por exemplo, a Faceta DatabaseMailEnabled.
  2. Clique em OK.

Pronto, desta forma simples acabamos de realizar a ativação de uma faceta no Microsoft SQL Server 2008 R2, que posteriormente estará sendo refletido no comportamento e configuração de sua instância.

Algo que pode parecer muito similar a utilização da System Stored Procedure SP_Configure, quando estamos se referindo a configuração de recursos específicos do nosso servidor como no procedimento que realizamos anteriormente, executando o processo de ativação do Database Mail, que pode ser feito de ambas as formas, tanto por SP_Configure, como também por configuração de Facetas em Nível de Servidor.

Combinando o uso do Surface Area Configuration com a SP_Configure

Como destacado anteriormente a configuração de algumas facetas disponíveis através do Policy Management, com base no Surface Area Configuration pode ser comparado e até mesmo utilizado como alternativa á System Stored Procedure SP_Configure.

Pois bem, por procurar destacar como podemos através de cada um destes recursos fazer uso de funcionalidades do Microsoft SQL Server 2008 R2, como por exemplo, ativar o uso da Extended Stored Procedure XP_CMDShell. Começando pelo uso da Stored Procedure para ativação da XP_CMDShell, conforme apresentado abaixo:

  1. 1.       Ativando a XP_CMDShell e consultando seu status através das Facetas de Servidor:

Por se tratar de uma funcionalidade externa e também um recurso que pode possibilitar o acesso indevido a um usuário mal intencionado o Microsoft SQL Server, por padrão mantém este recurso oculto, bem como, desativado. Vamos então realizar o processo de ativação desta funcionalidade e posteriormente consultar o seu status através da Faceta, conforme o código apresentado abaixo:

sp_configure ‘ xp_cmdshell’,1

reconfigure with override

Após executar este pequeno bloco de código, vamos consultar o valor atribuído para Faceta Surface Area Configuration em sua propriedade DatabaseMailEnabled, utilizando os passos realizados anteriormente. Para ilustrar o valor da propriedade DatabaseMailEnabled, apresento a Figura 4:

Figura 4 – Propriedades disponíveis para faceta Surface Area Configuration, em especial a propriedade DatabaseMailEnabled.

Como já esperado ao executar a SP_Configure, o propriedade DatabaseMailEnabled, teve o seu valor alterado de False para True, o que representa que acabamos de alterar o seu valor e ativar esta funcionalidade para nossa instância de banco de dados.

O próximo passo é realizar justamente o mesmo procedimento, só que de forma inversa, alterando o valor na propriedade e consultado o seu status através da SP_Configure.

  1. Desativando a XP_CMDShell e consultando seu status através da SP_Configure:

Como a tela de Visualização de Facetas já esta aberta e também com a categoria Surface Area Configuration selecionada, vamos alterar o valor da propriedade DatabaseMailEnabled, alterando o seu valor de True para False e depois clicando no botão Ok.

Agora vamos executar o bloco de código apresenta abaixo para obter o retorno da alteração do status da propriedade DatabaseMailEnabled:

sp_configure ‘xp_cmdshell’

Ótimo, nossa alteração foi realizada de forma correta e neste momento a XP_CMDShell voltou ao seu status padrão, ou seja, esta desativada, conforme podemos observar a Figura 5, com base na valor apresentado na coluna Run_Value, retornado como zero (Zero), o que indica pelo SQL Server que o recurso, funcionalidade e propriedade esta desativada:

Figura 5 – Resultado da execução da System Stored Procedure SP_Configure.

Utilizando o Surface Area Configuration de forma avançada

Nossa última jornada será realizar a configuração de uma nova política disponível para o Surface Area Configuration, com base, no conjunto de condições (conditions) e facetas (facets) disponíveis no Policy Management (Gerenciador de Políticas).

Vamos então configurar uma nova Condição, conforme os passos apresentados abaixo:

  1. Conecte-se ao seu Servidor ou Instância SQL Server;
  2. No Explorador de Objetos (Object Explorer), navegue até o Menu Gerenciamento (Management);
  3. Selecione a opção Condições (Conditions), clicando com o botão da direita do mouse e escolhendo a opção Nova Condição (New Condition);
  4. Como base na Figura 6, realize a configuração da sua nova condição, utilizando os seguintes valores:
    1. Name: Condição – Ativar – AdHocRemoteQueries;
    2. Facet: Surface Area Configuration;
    3. Expression:
      1.                                                                           i.      Field: @ADHocRemoteQueries
      2.                                                                          ii.      Operator: =
      3.                                                                        iii.      Value: True
  5. Clique no botão Ok, para confirmar a criação desta nova condição.

Figura 6 – Tela de Configuração da Condição – Ativar – AdHocRemoteQueries.

Pronto, nossa nova condição esta configurado e criada, agora devemos configurar nossa nova política que estará fazendo uso desta condição e de sua faceta. Para isso, vamos realizar os seguintes passos:

  1. Utilizando o menu Management aberto, clique como o botão da direita sobre a opção Políticas (Policies), selecionando a opção Nova Política (New Policy);
  2. Como base na Figura 7, realize a configuração da sua nova condição, utilizando os seguintes valores:
    1. Name: Política – Ativando – AdHocRemoteQueries;
    2. Check Condition: Condição – Ativar – AdHocRemoteQueries;
    3. Evalution Mode: On Change: Log Only;
    4. Server Restriction: None; e
    5. Marque a opção Ativo (Enabled).
  3. Clique no botão Ok, para confirmar a criação desta nova política.

Figura 7 – Tela de Configuração da Política – Ativando – AdHocRemoteQueries.

Muito bem, nossa política esta criada e definida para ser executa somente quando o log de eventos sofre algum tipo de mudança que possa estar relacionada com esta política. Mas caso você queria testar ou avaliar a execução desta política, basta clicar com o botão da direita do mouse sobre a ela e escolher a opção Evaluate(Avaliar).

Observação: Vale ressaltar que estes procedimentos podem somente ser executados por usuários com permissões de nível de System Administrator, Security Administrator, Server Administrator ou Setup Administrator.

Itens relacionados

A seguir apresenta a relação de Stored Procedures que podem ser utilizadas com as Políticas de Gerenciamento

sp_syspolicy_add_policy_category   sp_syspolicy_rename_policy_category  
sp_syspolicy_add_policy_category_subscription   sp_syspolicy_repair_policy_automation
sp_syspolicy_configure sp_syspolicy_set_config_enabled
sp_syspolicy_delete_policy_category   sp_syspolicy_set_config_history_retention
sp_syspolicy_delete_policy_category_subscription   sp_syspolicy_set_log_on_success
sp_syspolicy_delete_policy_execution_history   sp_syspolicy_subscribe_to_policy_category
sp_syspolicy_purge_health_state   sp_syspolicy_unsubscribe_from_policy_category
sp_syspolicy_purge_history sp_syspolicy_update_policy_category
sp_syspolicy_rename_condition sp_syspolicy_update_policy_category_subscription
sp_syspolicy_rename_policy

Perfeito pessoal acredito ter conseguido cumprir o meu objetivo e mostrar de uma forma bastante simples como podemos utilizar o Surface Area Configuration dentro do Microsoft SQL Server 2008 R2.

Espero que você possa ter gostado, mais uma vez agradeço a sua visita, o seu interesse o meu blog, conto com sua participação.

Nos vemos em breve.

Um grande abraço, até a próxima

Autor: Junior Galvão - MVP

Profissional com vasta experiência na área de Tecnologia da Informação e soluções Microsoft. Graduado no Curso Superior em Gestão da Tecnologia de Sistemas de Informação. Pós-Graduado no Curso de Gestão e Engenharia de Processos para Desenvolvimento de Software com RUP na Faculdade FIAP - Faculdade de Informática e Administração Paulista de São Paulo. Pós-Graduado em Gestão da Tecnologia da Informação Faculdade - ESAMC Sorocaba. Formação MCDBA Microsoft, autor de artigos acadêmicos e profissionais postados em Revistas, Instituições de Ensino e WebSistes. Meu primeiro contato com tecnologia ocorreu em 1995 após meus pais comprarem nosso primeiro computador, ano em que as portas para este fantástico mundo se abriram. Neste mesmo ano, comecei o de Processamento de Dados, naquele momento a palavra TI não existia, na verdade a Tecnologia da Informação era conhecida como Computação ou Informática, foi assim que tudo começou e desde então não parei mais, continuando nesta longa estrada até hoje. Desde 2001 tenho atuado como Database Administrator - Administrador de Banco de Dados - SQL Server em tarefas de Administração, Gerenciamento, Migração de Servidores e Bancos de Dados, Estratégias de Backup/Restauração, Replicação, LogShipping, Implantação de ERPs que utilizam bancos SQL Server, Desenvolvimento de Funções, Stored Procedure, Triggers. Experiência na Coordenação de Projetos de Alta Disponibilidade de Dados, utilizando Database Mirroring, Replicação Transacional e Merge, Log Shipping. Atualmente trabalho como Administrador de Banco de Dados no FIT - Instituto de Tecnologia da Flextronics, como também, Consultor em Projetos de Tunnig e Performance para clientes, bem como, Professor Titular na Fatec São Roque. Desde 2008 exerço a função de Professor Universitário, para as disciplinas de Banco de Dados, Administração, Modelagem de Banco de Dados, Programação em Banco de Dados, Sistemas Operacionais, Análise e Projetos de Sistemas, entre outras. Possuo titulação Oficial Microsoft MVP - SQL Server renovada desde 2007.

2 comentários em “Utilizando a Ferramenta Surface Area Configuration no Microsoft SQL Server 2008 R2 através de Política de Gerenciamento.”

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s