Salut à tous,
Je cherche un moyen d'automatiser la purge de mon journal des transactions.
Pour cela je crée la procédure stockée suivante :
Le probleme c'est que j'ai une erreur sur la ligne :
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
40
41
42
43
44
45
46 CREATE PROCEDURE PurgeLog @DatabaseName varchar(128) AS -- déclarations et initialisations DECLARE @LogFileID smallint, @LogFileName nchar(260), @fileid smallint, @filename nchar(260), @status int SET @LogFileID = 0 SET @LogFileName = '' -- recherche le fichier de log de la base de données à purger DECLARE SysfilesCursor CURSOR FOR SELECT [fileid], [filename], [status] FROM sysfiles OPEN SysfilesCursor FETCH NEXT FROM SysfilesCursor INTO @fileid, @filename, @status WHILE @@FETCH_STATUS = 0 BEGIN IF (@status & CAST(0x40 AS INT) = CAST(0x40 AS INT)) BEGIN SET @LogFileID = @fileid SET @LogFileName = @filename END FETCH NEXT FROM SysfilesCursor INTO @fileid, @filename, @status END -- si on a trouvé le fichier de log à purger IF @LogFileID <> 0 BEGIN -- backup (virtuel) du fichier de log BACKUP LOG @DatabaseName WITH TRUNCATE_ONLY -- purge le fichier de log DBCC SHRINKFILE(@LogFileName) END CLOSE SysfilesCursor DEALLOCATE SysfilesCursor GO
Le message d'erreur est :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 -- purge le fichier de log DBCC SHRINKFILE(@LogFileName)
Please help me.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2Le paramètre 1 est incorrect pour cette instruction DBCC.
Merci d'avance.
Partager