Exportar (0) Imprimir
Expandir Tudo
Este tópico ainda não foi avaliado como - Avalie este tópico

Solução de problemas do Banco de dados SQL do Windows Azure

Este documento contém informações sobre como solucionar problemas pertinentes especificamente ao Microsoft Banco de dados SQL do Windows Azure. 

Tabelas de eventos de conectividade do SQL Server

Para ajudar no rastreamento e na solução de problemas da atividade do banco de dados, o Windows Azure Banco de dados SQL oferece um conjunto de exibições de gerenciamento dinâmico (DMV) que registra eventos de conectividade de banco de dados, incluindo:

  • conexões com êxito

  • conexões com falha

  • conexões terminadas

  • limitação

  • deadlocks

Os eventos são coletados e agregados em duas exibições do catálogo que residem no banco de dados mestre lógico: sys.database_connection_stats e sys.event_log. Você pode usar essas exibições juntas para solucionar problemas na atividade do banco de dados. Por exemplo, você pode usar a exibição sys.database_connection_stats para identificar os intervalos de tempo em que ocorrem erros e, depois, usar a exibição sys.event_log para exibir os detalhes desses erros.

sys.database_connection_stats

Essa exibição fornece um resumo de êxitos e falhas da conexão de banco de dados. As colunas contidas nesta exibição, bem como os eventos coletados por ela, são descritos em sys.database_connection_stats.

Por exemplo, a seguinte consulta exibe todas as estatísticas de conexão para o banco de dados "my_user_db":

select * from sys.database_connection_stats
where database_name = 'my_user_db'
order by start_time desc

A seguinte consulta de exemplo gera a saída apresentada (nem todas as colunas são exibidas):


start_time                  end_time                    success_count total_failure_count connection_failure_count
 --------------------------- --------------------------- ------------- ------------------- ------------------------
 2012-09-27 14:20:00.0000000 2012-09-27 14:25:00.0000000 20            0                   0 
 2012-09-27 14:25:00.0000000 2012-09-27 14:30:00.0000000 2             0                   0 
 2012-09-27 14:30:00.0000000 2012-09-27 14:35:00.0000000 7             0                   0 
 2012-09-27 14:35:00.0000000 2012-09-27 14:40:00.0000000 14            0                   0 
 2012-09-27 14:40:00.0000000 2012-09-27 14:45:00.0000000 26            120                 120 
 2012-09-27 14:50:00.0000000 2012-09-27 14:55:00.0000000 9             0                   0 


sys.event_log

Esta exibição contém os detalhes de eventos relativos à conectividade. As colunas contidas nesta exibição, bem como os tipos de eventos coletados por ela, são descritos em sys.event_log.

Como exemplo, a seguinte consulta exibe todas as conexões malsucedidas para o banco de dados "my_user_db":

select * from sys.event_log 
where database_name ='my_user_db'
and event_type <> 'connection_successful'
order by start_time desc

A seguinte consulta de exemplo gera a saída apresentada (nem todas as colunas são exibidas):


event_type              event_subtype_desc       event_count description                                            
----------------------- ------------------------ ----------- -------------------------------------------------------
connection_failed       client_close             1           Client may have timed out when establishing connection.
connection_failed       client_close             1           Client may have timed out when establishing connection.
connection_terminated   idle_connection_timeout  1           Connection has been idle for longer than system defined
connection_terminated   idle_connection_timeout  1           Connection has been idle for longer than system defined
connection_failed       login_failed_for_user    90          Login failed for user.                                 
connection_terminated   idle_connection_timeout  1           Connection has been idle for longer than system defined
connection_failed       login_failed_for_user    110         Login failed for user.                                 
connection_failed       client_close             125         Client may have timed out when establishing connection.
connection_terminated   idle_connection_timeout  1           Connection has been idle for longer than system defined
connection_terminated   idle_connection_timeout  2           Connection has been idle for longer than system defined


O seguinte exemplo de consulta exibe todas as instâncias de deadlock para o mesmo banco de dados (novamente, nem todas as colunas são mostradas no exemplo de saída):


select * from sys.event_log 
where database_name = 'my_user_db'
and event_type='deadlock'
order by start_time desc

event_category  event_type              event_subtype_desc       event_count description        
--------------- ----------------------- ------------------------ ----------- ------------------
engine          deadlock                deadlock                 1           Deadlock occurred. 
engine          deadlock                deadlock                 1           Deadlock occurred.


Ao executar esta consulta em modo de grade, você obterá o gráfico de deadlock nas colunas additional_data.

Neste exemplo, a consulta encontra eventos de limitação que ocorreram no banco de dados:


select * from sys.event_log 
where database_name = 'my_user_db'
and event_type like 'throttling%'
order by start_time desc

event_type                   event_count description
---------------------------- ----------- ----------------
throttling_long_transaction  2           The session has been terminated because of excessive TEMPDB usage. Try modifying your query to reduce the temporary table space usage.


Falha de logon

O Banco de dados SQL do Windows Azure requer o uso da Autenticação do SQL. Se você não conseguir fazer o logon com êxito, suas credenciais não serão válidas ou o banco de dados solicitado não está disponível.

Se você precisar recuperar nomes de logon ou senhas, entre em contato o administrador do serviço, que pode lhe conceder o acesso adequado ao servidor e ao banco de dados. Administradores do serviço também podem reiniciar suas próprias senhas usando o Portal de Gerenciamento da Plataforma Windows Azure.

Serviço indisponível ou inexistente

Se o servidor já for provisionado e o serviço Banco de dados SQL do Windows Azure está disponível (você pode verificar isso usando a página Status da Integridade do Azure), a causa provável é problemas de configuração em sua instalação local. Por exemplo, talvez você não consiga resolver o nome (que pode ser testado com ferramentas como tracert), o firewall pode estar bloqueando a porta 1433 que é usada no Banco de dados SQL ou você pode estar usando um servidor proxy não configurado corretamente. Use as mesmas técnicas para solucionar essas dificuldades que você usaria no SQL Server.

noteObservação
Para consultar o status dos serviços da plataforma Windows Azure, use a página Status de Integridade do Azure. A página de status contém informações atuais sobre o status do serviço e dados de serviço históricos. Para conectar-se à página de status e verificar a Banco de dados SQL do Windows Azure disponibilidade do serviço em tempo real, clique no botão Service Dashboard na página Suporte do Windows Azure ou clique em Status de Integridade do Azure para ir diretamente para a página de status.

Erros de rede gerais

Você pode receber erros de rede gerais porque o Banco de dados SQL do Windows Azure pode desconectar usuários nestas circunstâncias:

  • Quando uma conexão fica ociosa para um longo período.

  • Quando uma conexão consome uma quantidade excessiva de recursos ou fica retida em uma transação por um longo período.

  • Se o servidor estiver muito ocupado.

Um token de erro de protocolo TDS é enviado antes de desconectar os usuários, quando possível. Para melhorar a experiência com o aplicativo, recomendamos que você implemente a lógica de repetição em seus aplicativos do Banco de dados SQL para capturar esses erros. Quando um erro ocorrer, restabeleça a conexão e execute novamente os comandos com falha ou a consulta.

noteObservação
As durações máximas permitidas estão sujeitas a alterações dependendo do uso dos recursos. Uma sessão conectada inativa por 30 minutos será encerrada automaticamente.

Para obter mais informações sobre como solucionar os erros de perda de conexão, consulte o artigo Gerenciamento de conexões no Banco de dados SQL do Windows Azure no TechNet Wiki. Esse artigo lista os motivos de perdas de conexão e fornece diretrizes e práticas recomendadas de codificação sobre como gerenciar o ciclo de vida de conexão no Banco de dados SQL.

Desempenho da otimização de consultas

Para melhorar desempenho no Banco de dados SQL, use as mesmas técnicas que você usaria no SQL Server. Para obter mais informações, consulte Solução de problemas de consultas nos Manuais Online do SQL Server.

Erros do SQL Server

O Banco de dados SQL do Windows Azure usa um subconjunto de mensagens de erro do SQL Server. Para obter mais informações sobre erros do SQL Server, consulte Referência de erros e eventos (Mecanismo de Banco de Dados) nos Manuais Online do SQL Server.

Consulte também

Isso foi útil para você?
(1500 caracteres restantes)
Agradecemos os seus comentários

Contribuições da comunidade

ADICIONAR
Mostrar:
© 2014 Microsoft. Todos os direitos reservados.