test_Rollup.test hata ERROR yazar ardisik hata sayacini artirir kilidi birakir
yordamDB-11 · değişiklik 11.10.2026 · Obje aramaya dön
İfadeler
2 ifade ·
12 çalışma ·
toplam 0,0 sn
| Sorgu (query_hash) | Çalışma | Ort. süre (ms) | Ort. CPU (ms) | Ort. okuma | Süredeki pay |
|---|---|---|---|---|---|
| 0x49D6164985A20A86 | 8 | 0,2 | 0,2 | 28 | %60 |
| 0xC8B6485C701BD18B | 4 | 0,3 | 0,3 | 6 | %40 |
Bağımlılıklar
Doğrudan referanslar (sys.sql_expression_dependencies); dinamik SQL ve geç bağlanan adlar görünmeyebilir.aynı veritabanıbaşka veritabanılinked server
| Yön | Nesne | Tür | Kapsam |
|---|---|---|---|
| kullanıyor | DBA.CollectionRunLog | tablo | aynı veritabanı |
| kullanıyor | DBA.CollectionWatermark | tablo | aynı veritabanı |
| kullanıyor | DBA.usp_Rollup_Daily | yordam | aynı veritabanı |
| kullanıyor | test_Rollup.KosuHazirla | yordam | aynı veritabanı |
| kullanıyor | tSQLt.AssertEqualsString | yordam | aynı veritabanı |
CREATE PROCEDURE test_Rollup.[test hata ERROR yazar ardisik hata sayacini artirir kilidi birakir]
AS
BEGIN
EXEC test_Rollup.KosuHazirla @MarkCommand = N'RAISERROR(N''deneme hatası'', 16, 1);';
INSERT DBA.CollectionWatermark (ServerID, DatabaseName, SourceType, LastValue, LastStatus, ConsecutiveFailures)
VALUES (0, N'(tümü)', 'ROLLUP', NULL, 'ERROR', 2);
DECLARE @thrown nvarchar(4000);
BEGIN TRY
EXEC DBA.usp_Rollup_Daily @Partial = 1;
END TRY
BEGIN CATCH
SET @thrown = ERROR_MESSAGE();
END CATCH
DECLARE @log nvarchar(4000) = (SELECT CONCAT(Status, N'/', ErrorMessage) FROM DBA.CollectionRunLog WHERE SourceType = 'ROLLUP'),
@wm nvarchar(100) = (SELECT CONCAT(LastStatus, N'/', ConsecutiveFailures) FROM DBA.CollectionWatermark WHERE ServerID = 0 AND SourceType = 'ROLLUP'),
@lock nvarchar(32) = APPLOCK_MODE(N'public', N'DBA.Rollup', N'Session');
EXEC tSQLt.AssertEqualsString N'deneme hatası', @thrown; -- job'a hata olarak döner
EXEC tSQLt.AssertEqualsString N'ERROR/[50000] deneme hatası', @log;
EXEC tSQLt.AssertEqualsString N'ERROR/3', @wm; -- ardışık hata sayacı ilerler (bildirim eşiği bunu okur)
EXEC tSQLt.AssertEqualsString N'NoLock', @lock; -- kilit bırakıldı, sonraki koşu bekletilmez
END;
Bu nesnenin analizleri
Kayıt yok
Bu nesne için analiz yok.