Delen via


Er kunnen time-outproblemen optreden bij het implementeren van SQL CLR-objecten via Visual Studio

Dit artikel helpt u bij het oplossen van het time-outprobleem dat optreedt bij het implementeren van CLR-objecten (SQL Common Language Runtime) via Visual Studio.

Oorspronkelijke productversie: SQL Server
Oorspronkelijk KB-nummer: 2011805

Symptomen

Wanneer u SQL CLR-objecten implementeert van Visual Studio naar SQL Server, kunnen er verschillende fouten optreden die vergelijkbaar zijn met de volgende:

  • Foutbericht 1:

    Fout: het starten van de databaseuploadtransactie is mislukt.
    Fout: de bewerking kan niet worden voltooid

  • Foutbericht 2:

    Bestand implementeren: TEstAssembly.dll, Pad: E:\cases\CL MY\TEstAssembly\TEstAssembly\obj\Debug\TEstAssembly.dll ... Fout: time-out is verlopen. De time-outperiode is verstreken voordat de bewerking werd voltooid, of de server reageert niet.

Maar als u dezelfde CLR-objecten implementeert met behulp van CREATE ASSEMBLY de opdracht in SQL Server Management Studio, ondervindt u geen problemen.

Oorzaak

Het probleem treedt op wanneer de SQL CLR-objecten zo groot zijn dat het lang duurt om ze te implementeren in SQL Server. De standaardtime-outwaarde voor verbindingen is 15 seconden en voor query's respectievelijk 30 seconden. Bij het implementeren van grote assembly's kan het meer dan 30 seconden duren voordat de CREATE ASSEMBLY instructie die wordt uitgevoerd op de BACK-end van SQL Server, wordt geretourneerd, wat resulteert in de fout die wordt beschreven in de sectie Symptomen .

Oplossing

Verhoog de time-outwaarden voor query's en time-outwaarden voor verbindingen in Visual Studio met behulp van de volgende procedures.

De time-out van de query wijzigen

  1. Navigeer in Visual Studio IDE naar Tools ->Options ->Database Tools ->Query and View Designers.

  2. U kunt de optie Langlopende query annuleren uitschakelen of de waarde van de optie Annuleren na optie **** wijzigen in een hogere waarde.

De time-out voor de verbinding wijzigen

  1. Schakel In Visual Studio IDE Server Explorer in door te navigeren naar View ->Server Explorer.

  2. Klik in Server Explorer met de rechtermuisknop op de verbinding met SQL Server waar de CLR-objecten worden geïmplementeerd en selecteer Verbinding wijzigen.

  3. Selecteer de knop Geavanceerd in het venster Verbinding wijzigen.

  4. Wijzig in het venster Geavanceerde eigenschappen de time-outwaarde verbinden onder de sectie Initialisatie in een hogere waarde.