Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2349 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  MS SQL Server 2005 Shrink File

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

MS SQL Server 2005 Shrink File

n°2174048
Playmic
Posté le 04-02-2013 à 18:02:16  profilanswer
 

Bonjour à tous,  :hello:  
 
Pourriez vous m'éclairiez sur un point dans Microsoft SQL Server 2005 :
 
J'ai un fichier de logs de base de données (.ldf) qui est devenu très gros avec le temps (presque 70Go). Hors, lorsque je vais dans Task > Shrink > File, je peut voir que 99% de l'espace disponible est libre.  :ouch:  
 
Puis-je donc utiliser sans risque cette fonction Shrink et va t'elle vraiment faire diminuer la taille de ce fichier ?
 
D'avance merci.

mood
Publicité
Posté le 04-02-2013 à 18:02:16  profilanswer
 

n°2174089
Setlel
Posté le 04-02-2013 à 23:15:07  profilanswer
 

Non. Techniquement oui, mais en fait shrink c'est de la merde et c'est une commande qui pose beaucoup plus de problème qu'autre chose.

 

select name,  recovery_model_desc, log_reuse_wait_desc from sys.databases

 

Regarde le résultat pour la base en question, ca devrait déjà donner qq idées.


Message édité par Setlel le 04-02-2013 à 23:15:22
n°2174132
boomy29
PSN: tintine29
Posté le 05-02-2013 à 11:00:50  profilanswer
 

Code trouver sur le net pour nettoyer un fihicer log d'une base et que j'utilise maintenant  

Spoiler :

 
 
declare @chemin_svg nvarchar(max)
set @chemin_svg = 'e:SQLLog' mettre un chemin valide  
 
DECLARE @t_bdd TABLE( ligne int identity(1,1), id_bdd int, name varchar(max))
INSERT @t_bdd( id_bdd, name ) select database_id, name  from sys.databases where database_id > 4 passer eventuellement le nom de ta base en question à nettoyer  
 
DECLARE @k Int
declare @id_bdd int
declare @name varchar(max)
 
WHILE EXISTS( select id_bdd from @t_bdd)  
BEGIN
SELECT TOP 1 @k = ligne, @id_bdd = id_bdd , @name = name FROM @t_bdd
--traitement
declare @chemin_svg_bdd nvarchar(max)
set @chemin_svg_bdd = @chemin_svg + @name
declare @req nvarchar(max)
set @req = 'USE ['+ @name + ']  
BACKUP LOG [' + @name + '] TO DISK = ''' + @chemin_svg_bdd + '.trn''
-- Tente de convaincre le moteur d''utiliser
-- le début du journal de transactions
CHECKPOINT
 
-- Si la portition active n''est plus à la fin
-- du journal de transactions, vide cette partie
BACKUP LOG [' + @name + '] TO DISK = ''' + @chemin_svg_bdd + '.trn''
-- Le Shrink est maintenant possible
DBCC SHRINKFILE(2, 10, TRUNCATEONLY)
 
-- du journal de transactions, vide cette partie
BACKUP LOG [' + @name + '] TO DISK = ''' + @chemin_svg_bdd + '.trn''
-- Le Shrink est maintenant possible
DBCC SHRINKFILE(2, 10, TRUNCATEONLY)'
exec sp_executesql @req
delete @t_bdd where ligne = @k -- à la fin
end
 
GO


ensuite tu peux supprimer le fichier qui a été créer  
c'est bien de faire ça avant un backup comme ça la restauration prendre moins de temps après


---------------
[Ach] Just dance + cam PS4
n°2174139
Oliiii
Posté le 05-02-2013 à 11:39:04  profilanswer
 

Pas besoin de tout ca, c'est un fichier log.
Si il y a de l'espace libre tu peux faire un shrink vers une taille plus raisonable.
 
Pour eviter que ca ne se reproduise il faut soit prévoir des backup log regulier (si le recovery model est a full ou Bulk Logged), soit trouver la grosse transaction qui fait gonfle le log jusque la (si le recovery model est a simple).


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  MS SQL Server 2005 Shrink File

 

Sujets relatifs
Convertir un Varchar en int avec le SQL[Résolu] Changement mot de passe SQL chez Free ?
SQLSERVER 2005 : procédure stockée à moitié executéeVisual studio ( 2005 ) - enlever certains logs
Script de traitement SQLScript de traitement SQL
MS DOS (FTP) - Connexion fermée par l'hôte distantPHP + Sql Server
Créer automatiquement des enrégistrements dans une table avec PL SQL 
Plus de sujets relatifs à : MS SQL Server 2005 Shrink File


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR