Bonsoir,
Je viens de faire des tests sur la procédure stockéepermettant de déplacer un journal de transaction d'un device vers un autre, fournie par Sybase.
Code : Sélectionner tout - Visualiser dans une fenêtre à part sp_logdevice Ma_Database , Device_Log
L'utilisation de la procédure ne déplace pas le journal de transaction mais en ajoute un. J'ai pourtant suivi la doc Sybase. Soit je n'ai pas tout compris, soit ça ne fonctionne pas comme je le pense. Ci-dessous, les résultats de la commande sp_helpdb sur la base avant et après l'application de la procédure :
avant l'application de la procédure :Détail du code utilisé :
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 1> sp_helpdb toto_db 2> go name db_size owner dbid created status ------- ------------- ----- ---- ------------ -------------- toto_db 10.0 MB sa 6 Oct 30, 2009 no options set (1 row affected) device_fragments size usage created free kbytes ------------------------------ ------------- -------------------- ------------------------- ---------------- toto 5.0 MB data only Oct 30 2009 8:56PM 1756 toto 5.0 MB log only Oct 30 2009 8:56PM not applicable -------------------------------------------------------------- log only free kbytes = 5096 (return status = 0)après l'application de la procédure :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 alter database toto log on toto_log='5M' go sp_dboption toto_db , 'single' , true go sp_logdevice toto_db , toto_log goPar ailleurs, lorsque je lance la commande
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 1> sp_helpdb toto_db 2> go name db_size owner dbid created status ------- ------------- ----- ---- ------------ ----------- toto_db 15.0 MB sa 6 Oct 30, 2009 single user (1 row affected) device_fragments size usage created free kbytes ------------------------------ ------------- -------------------- ------------------------- ---------------- toto 5.0 MB data only Oct 30 2009 8:56PM 1756 toto 5.0 MB log only Oct 30 2009 8:56PM not applicable toto_log 5.0 MB log only Oct 30 2009 8:57PM not applicable -------------------------------------------------------------- log only free kbytes = 10196 (return status = 0)voici le résultat :
Code : Sélectionner tout - Visualiser dans une fenêtre à part 1> sp_helplog toto_db
Donc visiblement ma base va continuer à utiliser le device toto en tant que journal de transaction.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 In database 'toto_db', the log starts on device 'toto'. (return status = 0)
Je ne vois pas comment libérer la partie du device toto, malgré l'utilisation de la procédure.
Partager