Compartilhar via


Você pode enfrentar problemas de tempo limite ao implantar objetos SQL CLR por meio do Visual Studio

Este artigo ajuda você a resolver o problema de tempo limite que ocorre ao implantar objetos CLR (Common Language Runtime) do SQL por meio do Visual Studio.

Versão original do produto: SQL Server
Número original do KB: 2011805

Sintomas

Ao implantar objetos SQL CLR do Visual Studio no SQL Server, você pode enfrentar vários erros semelhantes aos seguintes:

  • Mensagem de erro 1:

    Erro: falha ao iniciar a transação de upload do banco de dados.
    Erro: A operação não pôde ser concluída

  • Mensagem de erro 2:

    Arquivo de implantação: TEstAssembly.dll, Caminho: E:\cases\CL MY\TEstAssembly\TEstAssembly\obj\Debug\TEstAssembly.dll ... Erro: Tempo limite expirado. O tempo limite acabou antes da conclusão da operação ou o servidor não está respondendo.

Mas se você implantar os mesmos objetos CLR usando CREATE ASSEMBLY o comando no SQL Server Management Studio, não terá problemas.

Causa

O problema ocorre quando os objetos SQL CLR são tão grandes que leva muito tempo para implantá-los no SQL Server. O valor de tempo limite padrão para conexões é de 15 segundos e para consultas é de 30 segundos, respectivamente. Ao implantar assemblies grandes, a CREATE ASSEMBLY instrução que é executada no back-end do SQL Server pode levar mais de 30 segundos para ser retornada, resultando no erro descrito na seção Sintomas .

Solução

Aumente os valores de Tempo limite de consulta e Tempo limite de conexão no Visual Studio usando os procedimentos a seguir.

Alterando o tempo limite da consulta

  1. No IDE do Visual Studio, navegue até Ferramentas ->Opções ->Ferramentas de Banco de Dados -Designers de> Consulta e Exibição.

  2. Você pode desmarcar a opção Cancelar consulta de execução longa ou alterar o valor da opção Cancelar após **** para um valor mais alto.

Alterando o tempo limite da conexão

  1. No IDE do Visual Studio, habilite o Gerenciador de Servidores navegando até Exibir -Gerenciador de> Servidores.

  2. No Gerenciador de Servidores, clique com o botão direito do mouse na conexão com o SQL Server em que os objetos CLR estão sendo implantados e selecione Modificar Conexão.

  3. Selecione o botão Avançado na janela Modificar conexão .

  4. Na janela Propriedades avançadas, altere o valor de Tempo limite de conexão na seção Inicialização para um valor mais alto.