Bonjour,
Afin de repérer les TRANSACTIONS NON commiter, j'ai développé un petit script qui permet d'identifier cette transaction, mais je n'arrive pas à incrémenter ma boucle afin qu'il passe à la BD suivante.
Ci dessous le script :
Pourriez-vous m'aider ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39 USE master GO DECLARE @Database nvarchar(100) DECLARE @Nb_Db int DROP TABLE #DB_temp SELECT name INTO #DB_temp FROM sys.databases WHERE name NOT IN ('master','msdb','model','tempdb') SET @Nb_Db = 0 DECLARE DatabaseCursor CURSOR FOR SELECT name FROM #DB_temp OPEN DatabaseCursor FETCH NEXT FROM DatabaseCursor INTO @Database WHILE @Nb_Db <> (select count(name) from #DB_temp) BEGIN BEGIN TRY --DBCC OPENTRAN(@Database) PRINT 'DBCC OK ' + @Database END TRY BEGIN CATCH SELECT ERROR_NUMBER() AS ErrorNumber ,ERROR_SEVERITY() AS ErrorSeverity ,ERROR_STATE() AS ErrorState ,ERROR_PROCEDURE() AS ErrorProcedure ,ERROR_LINE() AS ErrorLine ,ERROR_MESSAGE() AS ErrorMessage END CATCH SET @Nb_Db = @Nb_Db +1 END CLOSE DatabaseCursor DEALLOCATE DatabaseCursor
Merci d'avance!
Partager