Compartilhar via


Tarefas de Gerenciamento de Carga de Trabalho no Sistema de Plataforma de Análise

Tarefas de gerenciamento de carga de trabalho no Analytics Platform System.

Exibir membros de logon de cada classe de recurso

Descreve como exibir os membros de login de cada função de servidor da classe de recursos no SQL Server PDW. Use essa consulta para descobrir a classe de recursos permitida para solicitações enviadas por cada logon.

Para obter descrições de classe de recurso, consulte Gerenciamento de Carga de Trabalho.

Essa consulta exibe a lista de associações para cada classe de recurso. Há três classes de recursos, mediumrc, largerc e xlargerc.

SELECT l.name AS [member], r.name AS [server role]  
FROM sys.server_role_members AS rm  
JOIN sys.server_principals AS l  
  ON l.principal_id = rm.member_principal_id  
JOIN  
  sys.server_principals AS r  
  ON r.principal_id = rm.role_principal_id  
WHERE  
  ( l.[type] = 'S' OR l.[type] = 'U' OR l.[type] = 'G' )  
  AND r.[type] = 'R'  
  AND r.[name] in ('mediumrc', 'largerc', 'xlargerc');  

Se um logon não estiver nessa lista, suas solicitações receberão os recursos padrão. Se um logon for membro de mais de uma classe de recurso, a maior classe terá precedência.

As alocações de recursos são listadas no Gerenciamento de Carga de Trabalho.

Alterar os recursos do sistema alocados para uma solicitação

Descreve como descobrir em qual classe de recurso uma solicitação PDW do SQL Server está em execução e, em seguida, como alterar os recursos do sistema para essa solicitação. Alterar os recursos de uma solicitação requer uma alteração na associação da classe de recurso do login que envia a solicitação, por meio da instrução ALTER SERVER ROLE.

Etapa 1: determinar a classe de recurso para o logon que executa a solicitação.

Essa consulta exibe logons que pertencem às funções de servidor ligadas à classe de recurso. Há três classes de recursos, mediumrc, largerc e xlargerc.

Importante

Essa consulta deve ser executada por um logon com permissão CONTROL SERVER . Se executada por um logon sem a permissão CONTROL SERVER , essa consulta retornará apenas as associações de função para o logon atual.

SELECT l.name AS [member], r.name AS [server role]  
FROM sys.server_role_members AS rm  
JOIN sys.server_principals AS l  
  ON l.principal_id = rm.member_principal_id  
JOIN  
  sys.server_principals AS r  
  ON r.principal_id = rm.role_principal_id  
WHERE  
  l.[type] = 'S'   
  AND r.[type] = 'R'  
  AND r.[name] in ('mediumrc', 'largerc', 'xlargerc');  
GO  

Se não houver logons que fazem parte de uma função de servidor de classe de recurso, a tabela resultante ficará vazia. Nesse caso, se a consulta retornar um logon chamado Ching, quando Ching enviar uma solicitação, a solicitação receberá os recursos padrão do sistema, que são menores do que os recursos da classe de recurso do sistema. Se um logon for membro de mais de uma classe de recurso, a maior classe terá precedência.

Para obter uma lista de alocações de recursos para cada classe de recurso, consulte Gerenciamento de Carga de Trabalho.

Etapa 2: Executar a solicitação em um logon com associação de classe de recurso diferente

Há duas maneiras de executar uma solicitação com recursos de sistema maiores ou menores:

  • Execute a solicitação em um logon diferente que seja membro de uma classe de recurso maior ou menor.

  • Adicione o login necessário a um dos perfis da classe de recurso. Escolha esta opção com cuidado; alterar a classe de recurso para o logon alterará o nível de recurso do sistema para todas as solicitações enviadas pelo logon.

Suponha que Ching seja um membro da função de servidor maior. O exemplo a seguir mostra como adicionar o login Ching à função de servidor xlargerc.

ALTER SERVER ROLE xlargerc ADD MEMBER Ching;  

Ching agora é um membro das funções de servidor largerc e xlargerc. Quando o Ching envia solicitações, as solicitações receberão os recursos do sistema xlargerc.

O exemplo a seguir move o Ching de volta para a função de servidor mediumrc. Para alterar para a nova role, o login deve ser removido das roles de servidor xlargerc e largerc e adicionado à role de servidor mediumrc.

-- Move login Ching back to using medium system resources for requests.  
ALTER SERVER ROLE xlargerc DROP MEMBER Ching;  
ALTER SERVER ROLE largerc DROP MEMBER Ching;  
ALTER SERVER ROLE mediumrc ADD MEMBER Ching;  

Ching agora é um membro da função de servidor mediumrc. O exemplo a seguir altera o Ching para ter os recursos padrão do sistema para solicitações.

-- Move login Ching to use the default system resources for requests.  
ALTER SERVER ROLE mediumrc DROP MEMBER Ching;  

Para obter mais informações sobre como alterar a associação de papéis em classes de recursos, consulte ALTER SERVER ROLE.

Alterar um logon para usar os recursos padrão do sistema nas suas solicitações

Descreve como alterar as alocações de recursos do sistema atribuídas a um logon PDW do SQL Server para os valores padrão.

Para obter descrições de classe de recurso, consulte Gerenciamento de Carga de Trabalho

Quando um logon não for membro de nenhuma função de servidor de classe de recurso, as solicitações enviadas pelo logon receberão a quantidade padrão de recursos do sistema.

Suponha que o login Quinn seja atualmente um membro de todas as funções de servidor das classes de recursos e queira voltar a fazer com que as solicitações recebam apenas os recursos padrão. O exemplo a seguir atribui os recursos padrão às solicitações de Quinn, removendo sua associação de todas as três funções de classe de recursos do servidor.

--Give the requests submitted by Quinn the default system resources   
--by dropping Quinn from all resource class server roles.  
ALTER SERVER ROLE XLargeRC DROP MEMBER Quinn;  
ALTER SERVER ROLE LargeRC DROP MEMBER Quinn;  
ALTER SERVER ROLE MediumRC DROP MEMBER Quinn;  

Exibir o número de slots de simultaneidade necessários para uma solicitação pendente

Descreve como descobrir o número de slots de simultaneidade necessários para uma solicitação que está aguardando a execução no SQL Server PDW.

Para obter mais informações, consulte Gerenciamento de Carga de Trabalho.

Uma solicitação pode estar aguardando muito tempo sem ser executada. Uma das maneiras de solucionar problemas da solicitação é examinar o número de slots de simultaneidade que a solicitação precisa. O exemplo a seguir mostra o número de slots de simultaneidade necessários para cada solicitação de espera.

--Display the number of concurrency slots required   
--for each request that is waiting to run.  
SELECT request_id, concurrency_slots_used AS [Slots Needed], resource_class AS [Resource Class]  
FROM sys.dm_pdw_resource_waits;  

Consulte Também

Gerenciamento de carga de trabalho