Założę się, że to, co zamierzam zadać, zwykle wchodzi w zakres "złej praktyki", ale chcę zapytać, niezależnie od tego, czy ta funkcja jest przydatna do diagnozowania problemów i testowania długoterminowych skryptów.Czy istnieje sposób na zatrzymanie lub oczekiwanie na kilka chwil z poziomu skryptu?
W skrócie, czy istnieje funkcja wbudowana w SQL Server, którą mógłbym nazwać, która pozwoliłaby mi na "wstrzymanie" na krótki okres czasu?
Mam nocny proces SSIS, który po eksportowaniu danych generuje różne podzbiory danych statystycznych. Ilekroć mam problemy z czasem wykonania pakietu SSIS, mam serię diagnostycznych procedur przechowywanych, które mogę nazwać, które pomagają zdiagnozować, przy której ładowaniu eksport/bulk zajmuje wyjątkowo dużo czasu, aby wykonać.
Podczas drugiej połowy mojego procesu SSIS, w którym generuję dane statystyczne, byłoby naprawdę korzystne, gdybym mógł przeanalizować, gdzie proces może zachodzić, lub przeanalizować, jak szybko może modyfikować dane w moich tabelach danych. Większość procedur statycznych rozpoczyna się od wstawienia danych do tabeli, która jest przełączana przez pętle WHILE i aktualizowana, gdy spełnione są niezbędne warunki.
Mogę łatwo zapytać moje dane, aby przechwycić konkretny wskaźnik podczas wykonywania moich statystycznych procedur składowanych. Chciałbym pobrać te dane, odczekać dokładnie 1 sekundę (lub pewną określoną ilość czasu) i ponownie pobrać metrykę, aby móc je porównać.
Dzięki wprowadzeniu "pauzy" mogę tworzyć bardziej rozbudowane skrypty diagnostyczne, które pozwalają określić, ile wstawek, aktualizacji lub obliczeń rozpoczyna się na sekundę, i które mogą oszacować, które części moich większych procedur zabierają najwięcej czasu .
Założę się, że mogą istnieć pewne narzędzia diagnostyczne, których mógłbym użyć z poziomu SQL Server Management Studio. Przyznaję, że nie majstrowałem przy tym. Jednak zazwyczaj, jeśli istnieje narzędzie w SSMS, wiele funkcjonalności zaplecza może być naśladowana przez pewną formę fantazyjnych skryptów. Innym możliwym ograniczeniem do korzystania z jakiejkolwiek wbudowanej diagnostyki jest to, że wolałbym uruchomić te dane, podczas gdy pakiet SSIS działa nie tylko podczas testowania procedur przechowywanych, które są wykonywane w pakiecie.
Dzięki chłopaki za wszelkie rozwiązania lub wskazówki! Ta prośba nie jest w 100% potrzebna, ale moje nocne pakiety SSIS stają się masywne i muszę zacząć dostrajać "squeeky wheels", które mogłem zignorować w przeszłości.
Co o wdrażaniu podejścia tabeli rejestrowania, gdzie długie procedury eksploatacji wstawiania znaczników czasu i informacji o stanie w osobnej tabeli w trakcie realizacji? Dobrze skonstruowany ślad w ten sposób da ci możliwość określenia danych, które Cię interesują, czyż nie? –