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 :

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
Pourriez-vous m'aider ?

Merci d'avance !