Podczas wdrażania obiektów SQL CLR za pośrednictwem programu Visual Studio mogą wystąpić problemy z przekroczeniem limitu czasu

Ten artykuł pomaga rozwiązać problem z przekroczeniem limitu czasu występujący podczas wdrażania obiektów środowiska SQL Common Language Runtime (CLR) za pośrednictwem programu Visual Studio.

Oryginalna wersja produktu: SQL Server
Oryginalny numer KB: 2011805

Symptomy

Podczas wdrażania obiektów SQL CLR z programu Visual Studio do programu SQL Server mogą wystąpić różne błędy podobne do następujących:

  • Komunikat o błędzie 1:

    Błąd: uruchamianie transakcji przekazywania bazy danych nie powiodło się.
    Błąd: Nie można ukończyć operacji

  • Komunikat o błędzie 2:

    Plik wdrażania: TEstAssembly.dll, ścieżka: E:\cases\CL MY\TEstAssembly\TEstAssembly\obj\Debug\TEstAssembly.dll ... Błąd: Upłynął limit czasu. Limit czasu upłynął przed ukończeniem operacji lub serwer nie odpowiada.

Jeśli jednak wdrażasz te same obiekty CLR przy użyciu CREATE ASSEMBLY polecenia w programie SQL Server Management Studio, nie występują żadne problemy.

Przyczyna

Problem występuje, gdy obiekty SQL CLR są tak duże, że wdrożenie ich w programie SQL Server zajmuje dużo czasu. Domyślna wartość limitu czasu dla połączeń wynosi 15 sekund, a zapytania to odpowiednio 30 sekund. Podczas wdrażania dużych zestawów CREATE ASSEMBLY instrukcja wykonywana na zapleczu programu SQL Server może potrwać ponad 30 sekund, aby zwrócić błąd opisany w sekcji Objawy .

Rozwiązanie

Zwiększ limit czasu zapytania i wartości limitu czasu połączenia w programie Visual Studio, korzystając z poniższych procedur.

Zmiana limitu czasu zapytania

  1. W środowisku IDE programu Visual Studio przejdź do pozycji Narzędzia -Opcje ->>Narzędzia bazy danych ->Query i Wyświetl projektantów.

  2. Możesz usunąć zaznaczenie opcji Anuluj długotrwałe zapytanie lub zmienić wartość opcji Anuluj po opcji **** na wyższą wartość.

Zmiana limitu czasu połączenia

  1. W środowisku IDE programu Visual Studio włącz Eksploratora serwera, przechodząc do widoku ->Eksplorator serwera.

  2. W Eksploratorze serwera kliknij prawym przyciskiem myszy połączenie z programem SQL Server, w którym są wdrażane obiekty CLR, a następnie wybierz polecenie Modyfikuj połączenie.

  3. Wybierz przycisk Zaawansowane w oknie Modyfikowanie połączenia.

  4. W oknie Właściwości zaawansowane zmień wartość Limit czasu połączenia w sekcji Inicjowanie na wyższą wartość.