bonjour,
j'utilise le petit script de backup ci-dessous qui boucle sur toutes les
bases présentes sur mon serveur SQL 2000 (hormis une liste de bases
:
============================================ > set quoted_identifier off
declare @query varchar(1000)
declare @path_backup varchar(100)
declare @dbname varchar(128)
declare @backup_mode varchar(10)
set @path_backup ='d:mssql2000MSSQLBACKUP'
-- ATTENTION --
-- @backup_mode peut etre : ' with init' ou '' selon que l'on veut ecraser
-- les anciens backups présents dans le fichiers de destination de la
sauvegarde ou non
-- set @backup_mode =''
set @backup_mode =' with init'
print 'Début des Sauvegardes initiales'
declare DBcursor cursor for select name from sysdatabases where name not
('tempdb')
open DBCursor
Fetch DBCursor into @dbname
while @@fetch_status = 0
begin
set @query = 'backup database ' + @dbname + ' to disk="' + @path_backup +
'db_' + @@SERVERNAME + '_' + @dbname + '.bak"' + @backup_mode
print 'Sauvegarde a chaud de la base : '+ @dbname + ' en utilisant la
commande suivante :'
print @query
exec (@query)
Fetch DBCursor into @dbname
end
close DBCursor
deallocate DBCursor
print 'Fin des Sauvegardes'
======================================= >
Maintenant, vu la taille des fichiers *.bak obtenus, j'ai besoin
un zippage automatique de chaque fichier *.bak obtenu.
Pour ce faire, j'ai a ma disposition, l'outil de ligne de commande de
9...dont la Syntaxe est :
wzzip.zip db_SERVEURNAME_DBNAME.bak.zip db_SERVEURNAME_DBNAME.bak
Comment puis je effectuer cette opération dans mon script ?
merci d'avance de votre aide.
bonjour,
j'utilise le petit script de backup ci-dessous qui boucle sur toutes les
bases présentes sur mon serveur SQL 2000 (hormis une liste de bases
:
============================================ > set quoted_identifier off
declare @query varchar(1000)
declare @path_backup varchar(100)
declare @dbname varchar(128)
declare @backup_mode varchar(10)
set @path_backup ='d:mssql2000MSSQLBACKUP'
-- ATTENTION --
-- @backup_mode peut etre : ' with init' ou '' selon que l'on veut ecraser
-- les anciens backups présents dans le fichiers de destination de la
sauvegarde ou non
-- set @backup_mode =''
set @backup_mode =' with init'
print 'Début des Sauvegardes initiales'
declare DBcursor cursor for select name from sysdatabases where name not
('tempdb')
open DBCursor
Fetch DBCursor into @dbname
while @@fetch_status = 0
begin
set @query = 'backup database ' + @dbname + ' to disk="' + @path_backup +
'db_' + @@SERVERNAME + '_' + @dbname + '.bak"' + @backup_mode
print 'Sauvegarde a chaud de la base : '+ @dbname + ' en utilisant la
commande suivante :'
print @query
exec (@query)
Fetch DBCursor into @dbname
end
close DBCursor
deallocate DBCursor
print 'Fin des Sauvegardes'
======================================= >
Maintenant, vu la taille des fichiers *.bak obtenus, j'ai besoin
un zippage automatique de chaque fichier *.bak obtenu.
Pour ce faire, j'ai a ma disposition, l'outil de ligne de commande de
9...dont la Syntaxe est :
wzzip.zip db_SERVEURNAME_DBNAME.bak.zip db_SERVEURNAME_DBNAME.bak
Comment puis je effectuer cette opération dans mon script ?
merci d'avance de votre aide.
bonjour,
j'utilise le petit script de backup ci-dessous qui boucle sur toutes les
bases présentes sur mon serveur SQL 2000 (hormis une liste de bases
:
============================================ > set quoted_identifier off
declare @query varchar(1000)
declare @path_backup varchar(100)
declare @dbname varchar(128)
declare @backup_mode varchar(10)
set @path_backup ='d:mssql2000MSSQLBACKUP'
-- ATTENTION --
-- @backup_mode peut etre : ' with init' ou '' selon que l'on veut ecraser
-- les anciens backups présents dans le fichiers de destination de la
sauvegarde ou non
-- set @backup_mode =''
set @backup_mode =' with init'
print 'Début des Sauvegardes initiales'
declare DBcursor cursor for select name from sysdatabases where name not
('tempdb')
open DBCursor
Fetch DBCursor into @dbname
while @@fetch_status = 0
begin
set @query = 'backup database ' + @dbname + ' to disk="' + @path_backup +
'db_' + @@SERVERNAME + '_' + @dbname + '.bak"' + @backup_mode
print 'Sauvegarde a chaud de la base : '+ @dbname + ' en utilisant la
commande suivante :'
print @query
exec (@query)
Fetch DBCursor into @dbname
end
close DBCursor
deallocate DBCursor
print 'Fin des Sauvegardes'
======================================= >
Maintenant, vu la taille des fichiers *.bak obtenus, j'ai besoin
un zippage automatique de chaque fichier *.bak obtenu.
Pour ce faire, j'ai a ma disposition, l'outil de ligne de commande de
9...dont la Syntaxe est :
wzzip.zip db_SERVEURNAME_DBNAME.bak.zip db_SERVEURNAME_DBNAME.bak
Comment puis je effectuer cette opération dans mon script ?
merci d'avance de votre aide.
bonjour,
j'utilise le petit script de backup ci-dessous qui boucle sur toutes les
bases présentes sur mon serveur SQL 2000 (hormis une liste de bases
:
============================================ > set quoted_identifier off
declare @query varchar(1000)
declare @path_backup varchar(100)
declare @dbname varchar(128)
declare @backup_mode varchar(10)
set @path_backup ='d:mssql2000MSSQLBACKUP'
-- ATTENTION --
-- @backup_mode peut etre : ' with init' ou '' selon que l'on veut ecraser
-- les anciens backups présents dans le fichiers de destination de la
sauvegarde ou non
-- set @backup_mode =''
set @backup_mode =' with init'
print 'Début des Sauvegardes initiales'
declare DBcursor cursor for select name from sysdatabases where name not
('tempdb')
open DBCursor
Fetch DBCursor into @dbname
while @@fetch_status = 0
begin
set @query = 'backup database ' + @dbname + ' to disk="' + @path_backup +
'db_' + @@SERVERNAME + '_' + @dbname + '.bak"' + @backup_mode
print 'Sauvegarde a chaud de la base : '+ @dbname + ' en utilisant la
commande suivante :'
print @query
exec (@query)
Fetch DBCursor into @dbname
end
close DBCursor
deallocate DBCursor
print 'Fin des Sauvegardes'
======================================= >
Maintenant, vu la taille des fichiers *.bak obtenus, j'ai besoin
un zippage automatique de chaque fichier *.bak obtenu.
Pour ce faire, j'ai a ma disposition, l'outil de ligne de commande de
9...dont la Syntaxe est :
wzzip.zip db_SERVEURNAME_DBNAME.bak.zip db_SERVEURNAME_DBNAME.bak
Comment puis je effectuer cette opération dans mon script ?
merci d'avance de votre aide.
bonjour,
j'utilise le petit script de backup ci-dessous qui boucle sur toutes les
bases présentes sur mon serveur SQL 2000 (hormis une liste de bases
:
============================================ > set quoted_identifier off
declare @query varchar(1000)
declare @path_backup varchar(100)
declare @dbname varchar(128)
declare @backup_mode varchar(10)
set @path_backup ='d:mssql2000MSSQLBACKUP'
-- ATTENTION --
-- @backup_mode peut etre : ' with init' ou '' selon que l'on veut ecraser
-- les anciens backups présents dans le fichiers de destination de la
sauvegarde ou non
-- set @backup_mode =''
set @backup_mode =' with init'
print 'Début des Sauvegardes initiales'
declare DBcursor cursor for select name from sysdatabases where name not
('tempdb')
open DBCursor
Fetch DBCursor into @dbname
while @@fetch_status = 0
begin
set @query = 'backup database ' + @dbname + ' to disk="' + @path_backup +
'db_' + @@SERVERNAME + '_' + @dbname + '.bak"' + @backup_mode
print 'Sauvegarde a chaud de la base : '+ @dbname + ' en utilisant la
commande suivante :'
print @query
exec (@query)
Fetch DBCursor into @dbname
end
close DBCursor
deallocate DBCursor
print 'Fin des Sauvegardes'
======================================= >
Maintenant, vu la taille des fichiers *.bak obtenus, j'ai besoin
un zippage automatique de chaque fichier *.bak obtenu.
Pour ce faire, j'ai a ma disposition, l'outil de ligne de commande de
9...dont la Syntaxe est :
wzzip.zip db_SERVEURNAME_DBNAME.bak.zip db_SERVEURNAME_DBNAME.bak
Comment puis je effectuer cette opération dans mon script ?
merci d'avance de votre aide.
bonjour,
j'utilise le petit script de backup ci-dessous qui boucle sur toutes les
bases présentes sur mon serveur SQL 2000 (hormis une liste de bases
:
============================================ > set quoted_identifier off
declare @query varchar(1000)
declare @path_backup varchar(100)
declare @dbname varchar(128)
declare @backup_mode varchar(10)
set @path_backup ='d:mssql2000MSSQLBACKUP'
-- ATTENTION --
-- @backup_mode peut etre : ' with init' ou '' selon que l'on veut ecraser
-- les anciens backups présents dans le fichiers de destination de la
sauvegarde ou non
-- set @backup_mode =''
set @backup_mode =' with init'
print 'Début des Sauvegardes initiales'
declare DBcursor cursor for select name from sysdatabases where name not
('tempdb')
open DBCursor
Fetch DBCursor into @dbname
while @@fetch_status = 0
begin
set @query = 'backup database ' + @dbname + ' to disk="' + @path_backup +
'db_' + @@SERVERNAME + '_' + @dbname + '.bak"' + @backup_mode
print 'Sauvegarde a chaud de la base : '+ @dbname + ' en utilisant la
commande suivante :'
print @query
exec (@query)
Fetch DBCursor into @dbname
end
close DBCursor
deallocate DBCursor
print 'Fin des Sauvegardes'
======================================= >
Maintenant, vu la taille des fichiers *.bak obtenus, j'ai besoin
un zippage automatique de chaque fichier *.bak obtenu.
Pour ce faire, j'ai a ma disposition, l'outil de ligne de commande de
9...dont la Syntaxe est :
wzzip.zip db_SERVEURNAME_DBNAME.bak.zip db_SERVEURNAME_DBNAME.bak
Comment puis je effectuer cette opération dans mon script ?
merci d'avance de votre aide.
Proposition hors sujet, mais apres tout :)
Pourquoi pas activer la compression windows sur le dossier recevant les
backups ? Ca t'evite des trop en faire dans SQL.
Chris.
--
______________________________________________
It's still better that if it would have been worst, isn't it ?
C'est toujours mieux que si c'etait pire !
"Florent G." wrote in message
news:
> bonjour,
>
> j'utilise le petit script de backup ci-dessous qui boucle sur toutes les
> bases présentes sur mon serveur SQL 2000 (hormis une liste de bases
définies)
> :
>
> ============================================ > > set quoted_identifier off
> declare @query varchar(1000)
> declare @path_backup varchar(100)
> declare @dbname varchar(128)
> declare @backup_mode varchar(10)
> set @path_backup ='d:mssql2000MSSQLBACKUP'
>
> -- ATTENTION --
> -- @backup_mode peut etre : ' with init' ou '' selon que l'on veut ecraser
> -- les anciens backups présents dans le fichiers de destination de la
> sauvegarde ou non
> -- set @backup_mode =''
> set @backup_mode =' with init'
>
> print 'Début des Sauvegardes initiales'
>
> declare DBcursor cursor for select name from sysdatabases where name not
in
> ('tempdb')
> open DBCursor
> Fetch DBCursor into @dbname
> while @@fetch_status = 0
> begin
> set @query = 'backup database ' + @dbname + ' to disk="' + @path_backup +
> 'db_' + @@SERVERNAME + '_' + @dbname + '.bak"' + @backup_mode
> print 'Sauvegarde a chaud de la base : '+ @dbname + ' en utilisant la
> commande suivante :'
> print @query
> exec (@query)
> Fetch DBCursor into @dbname
> end
> close DBCursor
> deallocate DBCursor
>
> print 'Fin des Sauvegardes'
> ======================================= > >
> Maintenant, vu la taille des fichiers *.bak obtenus, j'ai besoin
d'effectuer
> un zippage automatique de chaque fichier *.bak obtenu.
> Pour ce faire, j'ai a ma disposition, l'outil de ligne de commande de
winzip
> 9...dont la Syntaxe est :
>
> wzzip.zip db_SERVEURNAME_DBNAME.bak.zip db_SERVEURNAME_DBNAME.bak
>
> Comment puis je effectuer cette opération dans mon script ?
>
> merci d'avance de votre aide.
Proposition hors sujet, mais apres tout :)
Pourquoi pas activer la compression windows sur le dossier recevant les
backups ? Ca t'evite des trop en faire dans SQL.
Chris.
--
______________________________________________
It's still better that if it would have been worst, isn't it ?
C'est toujours mieux que si c'etait pire !
"Florent G." <FlorentG@discussions.microsoft.com> wrote in message
news:96FA2F0A-579A-419F-8466-2DA5E19B08D9@microsoft.com...
> bonjour,
>
> j'utilise le petit script de backup ci-dessous qui boucle sur toutes les
> bases présentes sur mon serveur SQL 2000 (hormis une liste de bases
définies)
> :
>
> ============================================ > > set quoted_identifier off
> declare @query varchar(1000)
> declare @path_backup varchar(100)
> declare @dbname varchar(128)
> declare @backup_mode varchar(10)
> set @path_backup ='d:mssql2000MSSQLBACKUP'
>
> -- ATTENTION --
> -- @backup_mode peut etre : ' with init' ou '' selon que l'on veut ecraser
> -- les anciens backups présents dans le fichiers de destination de la
> sauvegarde ou non
> -- set @backup_mode =''
> set @backup_mode =' with init'
>
> print 'Début des Sauvegardes initiales'
>
> declare DBcursor cursor for select name from sysdatabases where name not
in
> ('tempdb')
> open DBCursor
> Fetch DBCursor into @dbname
> while @@fetch_status = 0
> begin
> set @query = 'backup database ' + @dbname + ' to disk="' + @path_backup +
> 'db_' + @@SERVERNAME + '_' + @dbname + '.bak"' + @backup_mode
> print 'Sauvegarde a chaud de la base : '+ @dbname + ' en utilisant la
> commande suivante :'
> print @query
> exec (@query)
> Fetch DBCursor into @dbname
> end
> close DBCursor
> deallocate DBCursor
>
> print 'Fin des Sauvegardes'
> ======================================= > >
> Maintenant, vu la taille des fichiers *.bak obtenus, j'ai besoin
d'effectuer
> un zippage automatique de chaque fichier *.bak obtenu.
> Pour ce faire, j'ai a ma disposition, l'outil de ligne de commande de
winzip
> 9...dont la Syntaxe est :
>
> wzzip.zip db_SERVEURNAME_DBNAME.bak.zip db_SERVEURNAME_DBNAME.bak
>
> Comment puis je effectuer cette opération dans mon script ?
>
> merci d'avance de votre aide.
Proposition hors sujet, mais apres tout :)
Pourquoi pas activer la compression windows sur le dossier recevant les
backups ? Ca t'evite des trop en faire dans SQL.
Chris.
--
______________________________________________
It's still better that if it would have been worst, isn't it ?
C'est toujours mieux que si c'etait pire !
"Florent G." wrote in message
news:
> bonjour,
>
> j'utilise le petit script de backup ci-dessous qui boucle sur toutes les
> bases présentes sur mon serveur SQL 2000 (hormis une liste de bases
définies)
> :
>
> ============================================ > > set quoted_identifier off
> declare @query varchar(1000)
> declare @path_backup varchar(100)
> declare @dbname varchar(128)
> declare @backup_mode varchar(10)
> set @path_backup ='d:mssql2000MSSQLBACKUP'
>
> -- ATTENTION --
> -- @backup_mode peut etre : ' with init' ou '' selon que l'on veut ecraser
> -- les anciens backups présents dans le fichiers de destination de la
> sauvegarde ou non
> -- set @backup_mode =''
> set @backup_mode =' with init'
>
> print 'Début des Sauvegardes initiales'
>
> declare DBcursor cursor for select name from sysdatabases where name not
in
> ('tempdb')
> open DBCursor
> Fetch DBCursor into @dbname
> while @@fetch_status = 0
> begin
> set @query = 'backup database ' + @dbname + ' to disk="' + @path_backup +
> 'db_' + @@SERVERNAME + '_' + @dbname + '.bak"' + @backup_mode
> print 'Sauvegarde a chaud de la base : '+ @dbname + ' en utilisant la
> commande suivante :'
> print @query
> exec (@query)
> Fetch DBCursor into @dbname
> end
> close DBCursor
> deallocate DBCursor
>
> print 'Fin des Sauvegardes'
> ======================================= > >
> Maintenant, vu la taille des fichiers *.bak obtenus, j'ai besoin
d'effectuer
> un zippage automatique de chaque fichier *.bak obtenu.
> Pour ce faire, j'ai a ma disposition, l'outil de ligne de commande de
winzip
> 9...dont la Syntaxe est :
>
> wzzip.zip db_SERVEURNAME_DBNAME.bak.zip db_SERVEURNAME_DBNAME.bak
>
> Comment puis je effectuer cette opération dans mon script ?
>
> merci d'avance de votre aide.
Hummm...je prefere eviter ce genre de "gadget" et tout incorporer dans mon
script de backup pour le moment.
Je l'ai mis en oeuvre et là, totu est ok; maintenant, il ne me reste plus
qu'à ajouter quelques améliorations de sécurité au script, comme par
verifier que la compression s'est bien terminée et envoyer une alerte (net
send ou mail) en cas de probleme.
La doc winzip indique :
wzzip filename.zip *.doc
If Not ErrorLevel 1 Goto Exit
Echo ***SERIOUS ERROR DETECTED***
:Exit
Comment puis je récuperer cet errorlevel dans ma boucle afin d'executer un
traitement nécessaire ?
Comment vérifier que le fichier wzzip.exe est bien présent dnas le path de
la machine (pré-requis) ?
merc id'avance de votre aide.
"Chris V." a écrit :
> Proposition hors sujet, mais apres tout :)
> Pourquoi pas activer la compression windows sur le dossier recevant les
> backups ? Ca t'evite des trop en faire dans SQL.
>
> Chris.
>
> --
> ______________________________________________
> It's still better that if it would have been worst, isn't it ?
> C'est toujours mieux que si c'etait pire !
> "Florent G." wrote in message
> news:
> > bonjour,
> >
> > j'utilise le petit script de backup ci-dessous qui boucle sur toutes
> > bases présentes sur mon serveur SQL 2000 (hormis une liste de bases
> définies)
> > :
> >
> > ============================================ > > > set quoted_identifier off
> > declare @query varchar(1000)
> > declare @path_backup varchar(100)
> > declare @dbname varchar(128)
> > declare @backup_mode varchar(10)
> > set @path_backup ='d:mssql2000MSSQLBACKUP'
> >
> > -- ATTENTION --
> > -- @backup_mode peut etre : ' with init' ou '' selon que l'on veut
> > -- les anciens backups présents dans le fichiers de destination de la
> > sauvegarde ou non
> > -- set @backup_mode =''
> > set @backup_mode =' with init'
> >
> > print 'Début des Sauvegardes initiales'
> >
> > declare DBcursor cursor for select name from sysdatabases where name
> in
> > ('tempdb')
> > open DBCursor
> > Fetch DBCursor into @dbname
> > while @@fetch_status = 0
> > begin
> > set @query = 'backup database ' + @dbname + ' to disk="' +
> > 'db_' + @@SERVERNAME + '_' + @dbname + '.bak"' + @backup_mode
> > print 'Sauvegarde a chaud de la base : '+ @dbname + ' en utilisant la
> > commande suivante :'
> > print @query
> > exec (@query)
> > Fetch DBCursor into @dbname
> > end
> > close DBCursor
> > deallocate DBCursor
> >
> > print 'Fin des Sauvegardes'
> > ======================================= > > >
> > Maintenant, vu la taille des fichiers *.bak obtenus, j'ai besoin
> d'effectuer
> > un zippage automatique de chaque fichier *.bak obtenu.
> > Pour ce faire, j'ai a ma disposition, l'outil de ligne de commande de
> winzip
> > 9...dont la Syntaxe est :
> >
> > wzzip.zip db_SERVEURNAME_DBNAME.bak.zip db_SERVEURNAME_DBNAME.bak
> >
> > Comment puis je effectuer cette opération dans mon script ?
> >
> > merci d'avance de votre aide.
>
>
>
Hummm...je prefere eviter ce genre de "gadget" et tout incorporer dans mon
script de backup pour le moment.
Je l'ai mis en oeuvre et là, totu est ok; maintenant, il ne me reste plus
qu'à ajouter quelques améliorations de sécurité au script, comme par
verifier que la compression s'est bien terminée et envoyer une alerte (net
send ou mail) en cas de probleme.
La doc winzip indique :
wzzip filename.zip *.doc
If Not ErrorLevel 1 Goto Exit
Echo ***SERIOUS ERROR DETECTED***
:Exit
Comment puis je récuperer cet errorlevel dans ma boucle afin d'executer un
traitement nécessaire ?
Comment vérifier que le fichier wzzip.exe est bien présent dnas le path de
la machine (pré-requis) ?
merc id'avance de votre aide.
"Chris V." a écrit :
> Proposition hors sujet, mais apres tout :)
> Pourquoi pas activer la compression windows sur le dossier recevant les
> backups ? Ca t'evite des trop en faire dans SQL.
>
> Chris.
>
> --
> ______________________________________________
> It's still better that if it would have been worst, isn't it ?
> C'est toujours mieux que si c'etait pire !
> "Florent G." <FlorentG@discussions.microsoft.com> wrote in message
> news:96FA2F0A-579A-419F-8466-2DA5E19B08D9@microsoft.com...
> > bonjour,
> >
> > j'utilise le petit script de backup ci-dessous qui boucle sur toutes
> > bases présentes sur mon serveur SQL 2000 (hormis une liste de bases
> définies)
> > :
> >
> > ============================================ > > > set quoted_identifier off
> > declare @query varchar(1000)
> > declare @path_backup varchar(100)
> > declare @dbname varchar(128)
> > declare @backup_mode varchar(10)
> > set @path_backup ='d:mssql2000MSSQLBACKUP'
> >
> > -- ATTENTION --
> > -- @backup_mode peut etre : ' with init' ou '' selon que l'on veut
> > -- les anciens backups présents dans le fichiers de destination de la
> > sauvegarde ou non
> > -- set @backup_mode =''
> > set @backup_mode =' with init'
> >
> > print 'Début des Sauvegardes initiales'
> >
> > declare DBcursor cursor for select name from sysdatabases where name
> in
> > ('tempdb')
> > open DBCursor
> > Fetch DBCursor into @dbname
> > while @@fetch_status = 0
> > begin
> > set @query = 'backup database ' + @dbname + ' to disk="' +
> > 'db_' + @@SERVERNAME + '_' + @dbname + '.bak"' + @backup_mode
> > print 'Sauvegarde a chaud de la base : '+ @dbname + ' en utilisant la
> > commande suivante :'
> > print @query
> > exec (@query)
> > Fetch DBCursor into @dbname
> > end
> > close DBCursor
> > deallocate DBCursor
> >
> > print 'Fin des Sauvegardes'
> > ======================================= > > >
> > Maintenant, vu la taille des fichiers *.bak obtenus, j'ai besoin
> d'effectuer
> > un zippage automatique de chaque fichier *.bak obtenu.
> > Pour ce faire, j'ai a ma disposition, l'outil de ligne de commande de
> winzip
> > 9...dont la Syntaxe est :
> >
> > wzzip.zip db_SERVEURNAME_DBNAME.bak.zip db_SERVEURNAME_DBNAME.bak
> >
> > Comment puis je effectuer cette opération dans mon script ?
> >
> > merci d'avance de votre aide.
>
>
>
Hummm...je prefere eviter ce genre de "gadget" et tout incorporer dans mon
script de backup pour le moment.
Je l'ai mis en oeuvre et là, totu est ok; maintenant, il ne me reste plus
qu'à ajouter quelques améliorations de sécurité au script, comme par
verifier que la compression s'est bien terminée et envoyer une alerte (net
send ou mail) en cas de probleme.
La doc winzip indique :
wzzip filename.zip *.doc
If Not ErrorLevel 1 Goto Exit
Echo ***SERIOUS ERROR DETECTED***
:Exit
Comment puis je récuperer cet errorlevel dans ma boucle afin d'executer un
traitement nécessaire ?
Comment vérifier que le fichier wzzip.exe est bien présent dnas le path de
la machine (pré-requis) ?
merc id'avance de votre aide.
"Chris V." a écrit :
> Proposition hors sujet, mais apres tout :)
> Pourquoi pas activer la compression windows sur le dossier recevant les
> backups ? Ca t'evite des trop en faire dans SQL.
>
> Chris.
>
> --
> ______________________________________________
> It's still better that if it would have been worst, isn't it ?
> C'est toujours mieux que si c'etait pire !
> "Florent G." wrote in message
> news:
> > bonjour,
> >
> > j'utilise le petit script de backup ci-dessous qui boucle sur toutes
> > bases présentes sur mon serveur SQL 2000 (hormis une liste de bases
> définies)
> > :
> >
> > ============================================ > > > set quoted_identifier off
> > declare @query varchar(1000)
> > declare @path_backup varchar(100)
> > declare @dbname varchar(128)
> > declare @backup_mode varchar(10)
> > set @path_backup ='d:mssql2000MSSQLBACKUP'
> >
> > -- ATTENTION --
> > -- @backup_mode peut etre : ' with init' ou '' selon que l'on veut
> > -- les anciens backups présents dans le fichiers de destination de la
> > sauvegarde ou non
> > -- set @backup_mode =''
> > set @backup_mode =' with init'
> >
> > print 'Début des Sauvegardes initiales'
> >
> > declare DBcursor cursor for select name from sysdatabases where name
> in
> > ('tempdb')
> > open DBCursor
> > Fetch DBCursor into @dbname
> > while @@fetch_status = 0
> > begin
> > set @query = 'backup database ' + @dbname + ' to disk="' +
> > 'db_' + @@SERVERNAME + '_' + @dbname + '.bak"' + @backup_mode
> > print 'Sauvegarde a chaud de la base : '+ @dbname + ' en utilisant la
> > commande suivante :'
> > print @query
> > exec (@query)
> > Fetch DBCursor into @dbname
> > end
> > close DBCursor
> > deallocate DBCursor
> >
> > print 'Fin des Sauvegardes'
> > ======================================= > > >
> > Maintenant, vu la taille des fichiers *.bak obtenus, j'ai besoin
> d'effectuer
> > un zippage automatique de chaque fichier *.bak obtenu.
> > Pour ce faire, j'ai a ma disposition, l'outil de ligne de commande de
> winzip
> > 9...dont la Syntaxe est :
> >
> > wzzip.zip db_SERVEURNAME_DBNAME.bak.zip db_SERVEURNAME_DBNAME.bak
> >
> > Comment puis je effectuer cette opération dans mon script ?
> >
> > merci d'avance de votre aide.
>
>
>
Proposition hors sujet, mais apres tout :)
Pourquoi pas activer la compression windows sur le dossier recevant les
backups ? Ca t'evite des trop en faire dans SQL.
Chris.
--
______________________________________________
It's still better that if it would have been worst, isn't it ?
C'est toujours mieux que si c'etait pire !
"Florent G." wrote in message
news:
> bonjour,
>
> j'utilise le petit script de backup ci-dessous qui boucle sur toutes les
> bases présentes sur mon serveur SQL 2000 (hormis une liste de bases
définies)
> :
>
> ============================================ > > set quoted_identifier off
> declare @query varchar(1000)
> declare @path_backup varchar(100)
> declare @dbname varchar(128)
> declare @backup_mode varchar(10)
> set @path_backup ='d:mssql2000MSSQLBACKUP'
>
> -- ATTENTION --
> -- @backup_mode peut etre : ' with init' ou '' selon que l'on veut
> ecraser
> -- les anciens backups présents dans le fichiers de destination de la
> sauvegarde ou non
> -- set @backup_mode =''
> set @backup_mode =' with init'
>
> print 'Début des Sauvegardes initiales'
>
> declare DBcursor cursor for select name from sysdatabases where name not
in
> ('tempdb')
> open DBCursor
> Fetch DBCursor into @dbname
> while @@fetch_status = 0
> begin
> set @query = 'backup database ' + @dbname + ' to disk="' + @path_backup
> +
> 'db_' + @@SERVERNAME + '_' + @dbname + '.bak"' + @backup_mode
> print 'Sauvegarde a chaud de la base : '+ @dbname + ' en utilisant la
> commande suivante :'
> print @query
> exec (@query)
> Fetch DBCursor into @dbname
> end
> close DBCursor
> deallocate DBCursor
>
> print 'Fin des Sauvegardes'
> ======================================= > >
> Maintenant, vu la taille des fichiers *.bak obtenus, j'ai besoin
d'effectuer
> un zippage automatique de chaque fichier *.bak obtenu.
> Pour ce faire, j'ai a ma disposition, l'outil de ligne de commande de
winzip
> 9...dont la Syntaxe est :
>
> wzzip.zip db_SERVEURNAME_DBNAME.bak.zip db_SERVEURNAME_DBNAME.bak
>
> Comment puis je effectuer cette opération dans mon script ?
>
> merci d'avance de votre aide.
Proposition hors sujet, mais apres tout :)
Pourquoi pas activer la compression windows sur le dossier recevant les
backups ? Ca t'evite des trop en faire dans SQL.
Chris.
--
______________________________________________
It's still better that if it would have been worst, isn't it ?
C'est toujours mieux que si c'etait pire !
"Florent G." <FlorentG@discussions.microsoft.com> wrote in message
news:96FA2F0A-579A-419F-8466-2DA5E19B08D9@microsoft.com...
> bonjour,
>
> j'utilise le petit script de backup ci-dessous qui boucle sur toutes les
> bases présentes sur mon serveur SQL 2000 (hormis une liste de bases
définies)
> :
>
> ============================================ > > set quoted_identifier off
> declare @query varchar(1000)
> declare @path_backup varchar(100)
> declare @dbname varchar(128)
> declare @backup_mode varchar(10)
> set @path_backup ='d:mssql2000MSSQLBACKUP'
>
> -- ATTENTION --
> -- @backup_mode peut etre : ' with init' ou '' selon que l'on veut
> ecraser
> -- les anciens backups présents dans le fichiers de destination de la
> sauvegarde ou non
> -- set @backup_mode =''
> set @backup_mode =' with init'
>
> print 'Début des Sauvegardes initiales'
>
> declare DBcursor cursor for select name from sysdatabases where name not
in
> ('tempdb')
> open DBCursor
> Fetch DBCursor into @dbname
> while @@fetch_status = 0
> begin
> set @query = 'backup database ' + @dbname + ' to disk="' + @path_backup
> +
> 'db_' + @@SERVERNAME + '_' + @dbname + '.bak"' + @backup_mode
> print 'Sauvegarde a chaud de la base : '+ @dbname + ' en utilisant la
> commande suivante :'
> print @query
> exec (@query)
> Fetch DBCursor into @dbname
> end
> close DBCursor
> deallocate DBCursor
>
> print 'Fin des Sauvegardes'
> ======================================= > >
> Maintenant, vu la taille des fichiers *.bak obtenus, j'ai besoin
d'effectuer
> un zippage automatique de chaque fichier *.bak obtenu.
> Pour ce faire, j'ai a ma disposition, l'outil de ligne de commande de
winzip
> 9...dont la Syntaxe est :
>
> wzzip.zip db_SERVEURNAME_DBNAME.bak.zip db_SERVEURNAME_DBNAME.bak
>
> Comment puis je effectuer cette opération dans mon script ?
>
> merci d'avance de votre aide.
Proposition hors sujet, mais apres tout :)
Pourquoi pas activer la compression windows sur le dossier recevant les
backups ? Ca t'evite des trop en faire dans SQL.
Chris.
--
______________________________________________
It's still better that if it would have been worst, isn't it ?
C'est toujours mieux que si c'etait pire !
"Florent G." wrote in message
news:
> bonjour,
>
> j'utilise le petit script de backup ci-dessous qui boucle sur toutes les
> bases présentes sur mon serveur SQL 2000 (hormis une liste de bases
définies)
> :
>
> ============================================ > > set quoted_identifier off
> declare @query varchar(1000)
> declare @path_backup varchar(100)
> declare @dbname varchar(128)
> declare @backup_mode varchar(10)
> set @path_backup ='d:mssql2000MSSQLBACKUP'
>
> -- ATTENTION --
> -- @backup_mode peut etre : ' with init' ou '' selon que l'on veut
> ecraser
> -- les anciens backups présents dans le fichiers de destination de la
> sauvegarde ou non
> -- set @backup_mode =''
> set @backup_mode =' with init'
>
> print 'Début des Sauvegardes initiales'
>
> declare DBcursor cursor for select name from sysdatabases where name not
in
> ('tempdb')
> open DBCursor
> Fetch DBCursor into @dbname
> while @@fetch_status = 0
> begin
> set @query = 'backup database ' + @dbname + ' to disk="' + @path_backup
> +
> 'db_' + @@SERVERNAME + '_' + @dbname + '.bak"' + @backup_mode
> print 'Sauvegarde a chaud de la base : '+ @dbname + ' en utilisant la
> commande suivante :'
> print @query
> exec (@query)
> Fetch DBCursor into @dbname
> end
> close DBCursor
> deallocate DBCursor
>
> print 'Fin des Sauvegardes'
> ======================================= > >
> Maintenant, vu la taille des fichiers *.bak obtenus, j'ai besoin
d'effectuer
> un zippage automatique de chaque fichier *.bak obtenu.
> Pour ce faire, j'ai a ma disposition, l'outil de ligne de commande de
winzip
> 9...dont la Syntaxe est :
>
> wzzip.zip db_SERVEURNAME_DBNAME.bak.zip db_SERVEURNAME_DBNAME.bak
>
> Comment puis je effectuer cette opération dans mon script ?
>
> merci d'avance de votre aide.
Comme ca (en tout cas, ca marche chew moi)
create table #Output
(
TextLine varchar(256)
)
select @vcCmd= 'wzzip.zip db_SERVEURNAME_DBNAME.bak.zip
db_SERVEURNAME_DBNAME.bak'
insert into #output Exec master.dbo.xp_cmdshell @vcCmd
if (select count(*) from #output where Textline like '%Error%') <> 0
begin
-- Mettre ici le traitement d'erreur
end
drop table #Output
Chris
--
______________________________________________
It's still better that if it would have been worst, isn't it ?
C'est toujours mieux que si c'etait pire !
"Florent G." wrote in message
news:
> Hummm...je prefere eviter ce genre de "gadget" et tout incorporer dans mon
> script de backup pour le moment.
>
> Je l'ai mis en oeuvre et là, totu est ok; maintenant, il ne me reste plus
> qu'à ajouter quelques améliorations de sécurité au script, comme par
exemple :
>
> verifier que la compression s'est bien terminée et envoyer une alerte (net
> send ou mail) en cas de probleme.
>
> La doc winzip indique :
> wzzip filename.zip *.doc
> If Not ErrorLevel 1 Goto Exit
> Echo ***SERIOUS ERROR DETECTED***
> :Exit
>
> Comment puis je récuperer cet errorlevel dans ma boucle afin d'executer un
> traitement nécessaire ?
> Comment vérifier que le fichier wzzip.exe est bien présent dnas le path de
> la machine (pré-requis) ?
>
> merc id'avance de votre aide.
>
>
> "Chris V." a écrit :
>
> > Proposition hors sujet, mais apres tout :)
> > Pourquoi pas activer la compression windows sur le dossier recevant les
> > backups ? Ca t'evite des trop en faire dans SQL.
> >
> > Chris.
> >
> > --
> > ______________________________________________
> > It's still better that if it would have been worst, isn't it ?
> > C'est toujours mieux que si c'etait pire !
> > "Florent G." wrote in message
> > news:
> > > bonjour,
> > >
> > > j'utilise le petit script de backup ci-dessous qui boucle sur toutes
les
> > > bases présentes sur mon serveur SQL 2000 (hormis une liste de bases
> > définies)
> > > :
> > >
> > > ============================================ > > > > set quoted_identifier off
> > > declare @query varchar(1000)
> > > declare @path_backup varchar(100)
> > > declare @dbname varchar(128)
> > > declare @backup_mode varchar(10)
> > > set @path_backup ='d:mssql2000MSSQLBACKUP'
> > >
> > > -- ATTENTION --
> > > -- @backup_mode peut etre : ' with init' ou '' selon que l'on veut
ecraser
> > > -- les anciens backups présents dans le fichiers de destination de la
> > > sauvegarde ou non
> > > -- set @backup_mode =''
> > > set @backup_mode =' with init'
> > >
> > > print 'Début des Sauvegardes initiales'
> > >
> > > declare DBcursor cursor for select name from sysdatabases where name
not
> > in
> > > ('tempdb')
> > > open DBCursor
> > > Fetch DBCursor into @dbname
> > > while @@fetch_status = 0
> > > begin
> > > set @query = 'backup database ' + @dbname + ' to disk="' +
@path_backup +
> > > 'db_' + @@SERVERNAME + '_' + @dbname + '.bak"' + @backup_mode
> > > print 'Sauvegarde a chaud de la base : '+ @dbname + ' en utilisant la
> > > commande suivante :'
> > > print @query
> > > exec (@query)
> > > Fetch DBCursor into @dbname
> > > end
> > > close DBCursor
> > > deallocate DBCursor
> > >
> > > print 'Fin des Sauvegardes'
> > > ======================================= > > > >
> > > Maintenant, vu la taille des fichiers *.bak obtenus, j'ai besoin
> > d'effectuer
> > > un zippage automatique de chaque fichier *.bak obtenu.
> > > Pour ce faire, j'ai a ma disposition, l'outil de ligne de commande de
> > winzip
> > > 9...dont la Syntaxe est :
> > >
> > > wzzip.zip db_SERVEURNAME_DBNAME.bak.zip db_SERVEURNAME_DBNAME.bak
> > >
> > > Comment puis je effectuer cette opération dans mon script ?
> > >
> > > merci d'avance de votre aide.
> >
> >
> >
Comme ca (en tout cas, ca marche chew moi)
create table #Output
(
TextLine varchar(256)
)
select @vcCmd= 'wzzip.zip db_SERVEURNAME_DBNAME.bak.zip
db_SERVEURNAME_DBNAME.bak'
insert into #output Exec master.dbo.xp_cmdshell @vcCmd
if (select count(*) from #output where Textline like '%Error%') <> 0
begin
-- Mettre ici le traitement d'erreur
end
drop table #Output
Chris
--
______________________________________________
It's still better that if it would have been worst, isn't it ?
C'est toujours mieux que si c'etait pire !
"Florent G." <FlorentG@discussions.microsoft.com> wrote in message
news:BB4237E5-F028-4E7B-91AE-5DAA528D3A10@microsoft.com...
> Hummm...je prefere eviter ce genre de "gadget" et tout incorporer dans mon
> script de backup pour le moment.
>
> Je l'ai mis en oeuvre et là, totu est ok; maintenant, il ne me reste plus
> qu'à ajouter quelques améliorations de sécurité au script, comme par
exemple :
>
> verifier que la compression s'est bien terminée et envoyer une alerte (net
> send ou mail) en cas de probleme.
>
> La doc winzip indique :
> wzzip filename.zip *.doc
> If Not ErrorLevel 1 Goto Exit
> Echo ***SERIOUS ERROR DETECTED***
> :Exit
>
> Comment puis je récuperer cet errorlevel dans ma boucle afin d'executer un
> traitement nécessaire ?
> Comment vérifier que le fichier wzzip.exe est bien présent dnas le path de
> la machine (pré-requis) ?
>
> merc id'avance de votre aide.
>
>
> "Chris V." a écrit :
>
> > Proposition hors sujet, mais apres tout :)
> > Pourquoi pas activer la compression windows sur le dossier recevant les
> > backups ? Ca t'evite des trop en faire dans SQL.
> >
> > Chris.
> >
> > --
> > ______________________________________________
> > It's still better that if it would have been worst, isn't it ?
> > C'est toujours mieux que si c'etait pire !
> > "Florent G." <FlorentG@discussions.microsoft.com> wrote in message
> > news:96FA2F0A-579A-419F-8466-2DA5E19B08D9@microsoft.com...
> > > bonjour,
> > >
> > > j'utilise le petit script de backup ci-dessous qui boucle sur toutes
les
> > > bases présentes sur mon serveur SQL 2000 (hormis une liste de bases
> > définies)
> > > :
> > >
> > > ============================================ > > > > set quoted_identifier off
> > > declare @query varchar(1000)
> > > declare @path_backup varchar(100)
> > > declare @dbname varchar(128)
> > > declare @backup_mode varchar(10)
> > > set @path_backup ='d:mssql2000MSSQLBACKUP'
> > >
> > > -- ATTENTION --
> > > -- @backup_mode peut etre : ' with init' ou '' selon que l'on veut
ecraser
> > > -- les anciens backups présents dans le fichiers de destination de la
> > > sauvegarde ou non
> > > -- set @backup_mode =''
> > > set @backup_mode =' with init'
> > >
> > > print 'Début des Sauvegardes initiales'
> > >
> > > declare DBcursor cursor for select name from sysdatabases where name
not
> > in
> > > ('tempdb')
> > > open DBCursor
> > > Fetch DBCursor into @dbname
> > > while @@fetch_status = 0
> > > begin
> > > set @query = 'backup database ' + @dbname + ' to disk="' +
@path_backup +
> > > 'db_' + @@SERVERNAME + '_' + @dbname + '.bak"' + @backup_mode
> > > print 'Sauvegarde a chaud de la base : '+ @dbname + ' en utilisant la
> > > commande suivante :'
> > > print @query
> > > exec (@query)
> > > Fetch DBCursor into @dbname
> > > end
> > > close DBCursor
> > > deallocate DBCursor
> > >
> > > print 'Fin des Sauvegardes'
> > > ======================================= > > > >
> > > Maintenant, vu la taille des fichiers *.bak obtenus, j'ai besoin
> > d'effectuer
> > > un zippage automatique de chaque fichier *.bak obtenu.
> > > Pour ce faire, j'ai a ma disposition, l'outil de ligne de commande de
> > winzip
> > > 9...dont la Syntaxe est :
> > >
> > > wzzip.zip db_SERVEURNAME_DBNAME.bak.zip db_SERVEURNAME_DBNAME.bak
> > >
> > > Comment puis je effectuer cette opération dans mon script ?
> > >
> > > merci d'avance de votre aide.
> >
> >
> >
Comme ca (en tout cas, ca marche chew moi)
create table #Output
(
TextLine varchar(256)
)
select @vcCmd= 'wzzip.zip db_SERVEURNAME_DBNAME.bak.zip
db_SERVEURNAME_DBNAME.bak'
insert into #output Exec master.dbo.xp_cmdshell @vcCmd
if (select count(*) from #output where Textline like '%Error%') <> 0
begin
-- Mettre ici le traitement d'erreur
end
drop table #Output
Chris
--
______________________________________________
It's still better that if it would have been worst, isn't it ?
C'est toujours mieux que si c'etait pire !
"Florent G." wrote in message
news:
> Hummm...je prefere eviter ce genre de "gadget" et tout incorporer dans mon
> script de backup pour le moment.
>
> Je l'ai mis en oeuvre et là, totu est ok; maintenant, il ne me reste plus
> qu'à ajouter quelques améliorations de sécurité au script, comme par
exemple :
>
> verifier que la compression s'est bien terminée et envoyer une alerte (net
> send ou mail) en cas de probleme.
>
> La doc winzip indique :
> wzzip filename.zip *.doc
> If Not ErrorLevel 1 Goto Exit
> Echo ***SERIOUS ERROR DETECTED***
> :Exit
>
> Comment puis je récuperer cet errorlevel dans ma boucle afin d'executer un
> traitement nécessaire ?
> Comment vérifier que le fichier wzzip.exe est bien présent dnas le path de
> la machine (pré-requis) ?
>
> merc id'avance de votre aide.
>
>
> "Chris V." a écrit :
>
> > Proposition hors sujet, mais apres tout :)
> > Pourquoi pas activer la compression windows sur le dossier recevant les
> > backups ? Ca t'evite des trop en faire dans SQL.
> >
> > Chris.
> >
> > --
> > ______________________________________________
> > It's still better that if it would have been worst, isn't it ?
> > C'est toujours mieux que si c'etait pire !
> > "Florent G." wrote in message
> > news:
> > > bonjour,
> > >
> > > j'utilise le petit script de backup ci-dessous qui boucle sur toutes
les
> > > bases présentes sur mon serveur SQL 2000 (hormis une liste de bases
> > définies)
> > > :
> > >
> > > ============================================ > > > > set quoted_identifier off
> > > declare @query varchar(1000)
> > > declare @path_backup varchar(100)
> > > declare @dbname varchar(128)
> > > declare @backup_mode varchar(10)
> > > set @path_backup ='d:mssql2000MSSQLBACKUP'
> > >
> > > -- ATTENTION --
> > > -- @backup_mode peut etre : ' with init' ou '' selon que l'on veut
ecraser
> > > -- les anciens backups présents dans le fichiers de destination de la
> > > sauvegarde ou non
> > > -- set @backup_mode =''
> > > set @backup_mode =' with init'
> > >
> > > print 'Début des Sauvegardes initiales'
> > >
> > > declare DBcursor cursor for select name from sysdatabases where name
not
> > in
> > > ('tempdb')
> > > open DBCursor
> > > Fetch DBCursor into @dbname
> > > while @@fetch_status = 0
> > > begin
> > > set @query = 'backup database ' + @dbname + ' to disk="' +
@path_backup +
> > > 'db_' + @@SERVERNAME + '_' + @dbname + '.bak"' + @backup_mode
> > > print 'Sauvegarde a chaud de la base : '+ @dbname + ' en utilisant la
> > > commande suivante :'
> > > print @query
> > > exec (@query)
> > > Fetch DBCursor into @dbname
> > > end
> > > close DBCursor
> > > deallocate DBCursor
> > >
> > > print 'Fin des Sauvegardes'
> > > ======================================= > > > >
> > > Maintenant, vu la taille des fichiers *.bak obtenus, j'ai besoin
> > d'effectuer
> > > un zippage automatique de chaque fichier *.bak obtenu.
> > > Pour ce faire, j'ai a ma disposition, l'outil de ligne de commande de
> > winzip
> > > 9...dont la Syntaxe est :
> > >
> > > wzzip.zip db_SERVEURNAME_DBNAME.bak.zip db_SERVEURNAME_DBNAME.bak
> > >
> > > Comment puis je effectuer cette opération dans mon script ?
> > >
> > > merci d'avance de votre aide.
> >
> >
> >
Hummm..j'aime bien cette version ;-))
Me manque plus que la détection du wzzip.exe pré-requis dnas le PATH et ce
sera top ;-))
Florent.
"Chris V." a écrit :Comme ca (en tout cas, ca marche chew moi)
create table #Output
(
TextLine varchar(256)
)
select @vcCmd= 'wzzip.zip db_SERVEURNAME_DBNAME.bak.zip
db_SERVEURNAME_DBNAME.bak'
insert into #output Exec master.dbo.xp_cmdshell @vcCmd
if (select count(*) from #output where Textline like '%Error%') <> 0
begin
-- Mettre ici le traitement d'erreur
end
drop table #Output
Chris
--
______________________________________________
It's still better that if it would have been worst, isn't it ?
C'est toujours mieux que si c'etait pire !
"Florent G." wrote in message
news:
> Hummm...je prefere eviter ce genre de "gadget" et tout incorporer dans
> mon
> script de backup pour le moment.
>
> Je l'ai mis en oeuvre et là, totu est ok; maintenant, il ne me reste
> plus
> qu'à ajouter quelques améliorations de sécurité au script, comme par
exemple :
>
> verifier que la compression s'est bien terminée et envoyer une alerte
> (net
> send ou mail) en cas de probleme.
>
> La doc winzip indique :
> wzzip filename.zip *.doc
> If Not ErrorLevel 1 Goto Exit
> Echo ***SERIOUS ERROR DETECTED***
> :Exit
>
> Comment puis je récuperer cet errorlevel dans ma boucle afin d'executer
> un
> traitement nécessaire ?
> Comment vérifier que le fichier wzzip.exe est bien présent dnas le path
> de
> la machine (pré-requis) ?
>
> merc id'avance de votre aide.
>
>
> "Chris V." a écrit :
>
> > Proposition hors sujet, mais apres tout :)
> > Pourquoi pas activer la compression windows sur le dossier recevant
> > les
> > backups ? Ca t'evite des trop en faire dans SQL.
> >
> > Chris.
> >
> > --
> > ______________________________________________
> > It's still better that if it would have been worst, isn't it ?
> > C'est toujours mieux que si c'etait pire !
> > "Florent G." wrote in message
> > news:
> > > bonjour,
> > >
> > > j'utilise le petit script de backup ci-dessous qui boucle sur
> > > toutes
les
> > > bases présentes sur mon serveur SQL 2000 (hormis une liste de bases
> > définies)
> > > :
> > >
> > > ============================================ >> > > > set quoted_identifier off
> > > declare @query varchar(1000)
> > > declare @path_backup varchar(100)
> > > declare @dbname varchar(128)
> > > declare @backup_mode varchar(10)
> > > set @path_backup ='d:mssql2000MSSQLBACKUP'
> > >
> > > -- ATTENTION --
> > > -- @backup_mode peut etre : ' with init' ou '' selon que l'on veut
ecraser
> > > -- les anciens backups présents dans le fichiers de destination de
> > > la
> > > sauvegarde ou non
> > > -- set @backup_mode =''
> > > set @backup_mode =' with init'
> > >
> > > print 'Début des Sauvegardes initiales'
> > >
> > > declare DBcursor cursor for select name from sysdatabases where
> > > name
not
> > in
> > > ('tempdb')
> > > open DBCursor
> > > Fetch DBCursor into @dbname
> > > while @@fetch_status = 0
> > > begin
> > > set @query = 'backup database ' + @dbname + ' to disk="' +
@path_backup +
> > > 'db_' + @@SERVERNAME + '_' + @dbname + '.bak"' + @backup_mode
> > > print 'Sauvegarde a chaud de la base : '+ @dbname + ' en utilisant
> > > la
> > > commande suivante :'
> > > print @query
> > > exec (@query)
> > > Fetch DBCursor into @dbname
> > > end
> > > close DBCursor
> > > deallocate DBCursor
> > >
> > > print 'Fin des Sauvegardes'
> > > ======================================= >> > > >
> > > Maintenant, vu la taille des fichiers *.bak obtenus, j'ai besoin
> > d'effectuer
> > > un zippage automatique de chaque fichier *.bak obtenu.
> > > Pour ce faire, j'ai a ma disposition, l'outil de ligne de commande
> > > de
> > winzip
> > > 9...dont la Syntaxe est :
> > >
> > > wzzip.zip db_SERVEURNAME_DBNAME.bak.zip db_SERVEURNAME_DBNAME.bak
> > >
> > > Comment puis je effectuer cette opération dans mon script ?
> > >
> > > merci d'avance de votre aide.
> >
> >
> >
Hummm..j'aime bien cette version ;-))
Me manque plus que la détection du wzzip.exe pré-requis dnas le PATH et ce
sera top ;-))
Florent.
"Chris V." a écrit :
Comme ca (en tout cas, ca marche chew moi)
create table #Output
(
TextLine varchar(256)
)
select @vcCmd= 'wzzip.zip db_SERVEURNAME_DBNAME.bak.zip
db_SERVEURNAME_DBNAME.bak'
insert into #output Exec master.dbo.xp_cmdshell @vcCmd
if (select count(*) from #output where Textline like '%Error%') <> 0
begin
-- Mettre ici le traitement d'erreur
end
drop table #Output
Chris
--
______________________________________________
It's still better that if it would have been worst, isn't it ?
C'est toujours mieux que si c'etait pire !
"Florent G." <FlorentG@discussions.microsoft.com> wrote in message
news:BB4237E5-F028-4E7B-91AE-5DAA528D3A10@microsoft.com...
> Hummm...je prefere eviter ce genre de "gadget" et tout incorporer dans
> mon
> script de backup pour le moment.
>
> Je l'ai mis en oeuvre et là, totu est ok; maintenant, il ne me reste
> plus
> qu'à ajouter quelques améliorations de sécurité au script, comme par
exemple :
>
> verifier que la compression s'est bien terminée et envoyer une alerte
> (net
> send ou mail) en cas de probleme.
>
> La doc winzip indique :
> wzzip filename.zip *.doc
> If Not ErrorLevel 1 Goto Exit
> Echo ***SERIOUS ERROR DETECTED***
> :Exit
>
> Comment puis je récuperer cet errorlevel dans ma boucle afin d'executer
> un
> traitement nécessaire ?
> Comment vérifier que le fichier wzzip.exe est bien présent dnas le path
> de
> la machine (pré-requis) ?
>
> merc id'avance de votre aide.
>
>
> "Chris V." a écrit :
>
> > Proposition hors sujet, mais apres tout :)
> > Pourquoi pas activer la compression windows sur le dossier recevant
> > les
> > backups ? Ca t'evite des trop en faire dans SQL.
> >
> > Chris.
> >
> > --
> > ______________________________________________
> > It's still better that if it would have been worst, isn't it ?
> > C'est toujours mieux que si c'etait pire !
> > "Florent G." <FlorentG@discussions.microsoft.com> wrote in message
> > news:96FA2F0A-579A-419F-8466-2DA5E19B08D9@microsoft.com...
> > > bonjour,
> > >
> > > j'utilise le petit script de backup ci-dessous qui boucle sur
> > > toutes
les
> > > bases présentes sur mon serveur SQL 2000 (hormis une liste de bases
> > définies)
> > > :
> > >
> > > ============================================ >> > > > set quoted_identifier off
> > > declare @query varchar(1000)
> > > declare @path_backup varchar(100)
> > > declare @dbname varchar(128)
> > > declare @backup_mode varchar(10)
> > > set @path_backup ='d:mssql2000MSSQLBACKUP'
> > >
> > > -- ATTENTION --
> > > -- @backup_mode peut etre : ' with init' ou '' selon que l'on veut
ecraser
> > > -- les anciens backups présents dans le fichiers de destination de
> > > la
> > > sauvegarde ou non
> > > -- set @backup_mode =''
> > > set @backup_mode =' with init'
> > >
> > > print 'Début des Sauvegardes initiales'
> > >
> > > declare DBcursor cursor for select name from sysdatabases where
> > > name
not
> > in
> > > ('tempdb')
> > > open DBCursor
> > > Fetch DBCursor into @dbname
> > > while @@fetch_status = 0
> > > begin
> > > set @query = 'backup database ' + @dbname + ' to disk="' +
@path_backup +
> > > 'db_' + @@SERVERNAME + '_' + @dbname + '.bak"' + @backup_mode
> > > print 'Sauvegarde a chaud de la base : '+ @dbname + ' en utilisant
> > > la
> > > commande suivante :'
> > > print @query
> > > exec (@query)
> > > Fetch DBCursor into @dbname
> > > end
> > > close DBCursor
> > > deallocate DBCursor
> > >
> > > print 'Fin des Sauvegardes'
> > > ======================================= >> > > >
> > > Maintenant, vu la taille des fichiers *.bak obtenus, j'ai besoin
> > d'effectuer
> > > un zippage automatique de chaque fichier *.bak obtenu.
> > > Pour ce faire, j'ai a ma disposition, l'outil de ligne de commande
> > > de
> > winzip
> > > 9...dont la Syntaxe est :
> > >
> > > wzzip.zip db_SERVEURNAME_DBNAME.bak.zip db_SERVEURNAME_DBNAME.bak
> > >
> > > Comment puis je effectuer cette opération dans mon script ?
> > >
> > > merci d'avance de votre aide.
> >
> >
> >
Hummm..j'aime bien cette version ;-))
Me manque plus que la détection du wzzip.exe pré-requis dnas le PATH et ce
sera top ;-))
Florent.
"Chris V." a écrit :Comme ca (en tout cas, ca marche chew moi)
create table #Output
(
TextLine varchar(256)
)
select @vcCmd= 'wzzip.zip db_SERVEURNAME_DBNAME.bak.zip
db_SERVEURNAME_DBNAME.bak'
insert into #output Exec master.dbo.xp_cmdshell @vcCmd
if (select count(*) from #output where Textline like '%Error%') <> 0
begin
-- Mettre ici le traitement d'erreur
end
drop table #Output
Chris
--
______________________________________________
It's still better that if it would have been worst, isn't it ?
C'est toujours mieux que si c'etait pire !
"Florent G." wrote in message
news:
> Hummm...je prefere eviter ce genre de "gadget" et tout incorporer dans
> mon
> script de backup pour le moment.
>
> Je l'ai mis en oeuvre et là, totu est ok; maintenant, il ne me reste
> plus
> qu'à ajouter quelques améliorations de sécurité au script, comme par
exemple :
>
> verifier que la compression s'est bien terminée et envoyer une alerte
> (net
> send ou mail) en cas de probleme.
>
> La doc winzip indique :
> wzzip filename.zip *.doc
> If Not ErrorLevel 1 Goto Exit
> Echo ***SERIOUS ERROR DETECTED***
> :Exit
>
> Comment puis je récuperer cet errorlevel dans ma boucle afin d'executer
> un
> traitement nécessaire ?
> Comment vérifier que le fichier wzzip.exe est bien présent dnas le path
> de
> la machine (pré-requis) ?
>
> merc id'avance de votre aide.
>
>
> "Chris V." a écrit :
>
> > Proposition hors sujet, mais apres tout :)
> > Pourquoi pas activer la compression windows sur le dossier recevant
> > les
> > backups ? Ca t'evite des trop en faire dans SQL.
> >
> > Chris.
> >
> > --
> > ______________________________________________
> > It's still better that if it would have been worst, isn't it ?
> > C'est toujours mieux que si c'etait pire !
> > "Florent G." wrote in message
> > news:
> > > bonjour,
> > >
> > > j'utilise le petit script de backup ci-dessous qui boucle sur
> > > toutes
les
> > > bases présentes sur mon serveur SQL 2000 (hormis une liste de bases
> > définies)
> > > :
> > >
> > > ============================================ >> > > > set quoted_identifier off
> > > declare @query varchar(1000)
> > > declare @path_backup varchar(100)
> > > declare @dbname varchar(128)
> > > declare @backup_mode varchar(10)
> > > set @path_backup ='d:mssql2000MSSQLBACKUP'
> > >
> > > -- ATTENTION --
> > > -- @backup_mode peut etre : ' with init' ou '' selon que l'on veut
ecraser
> > > -- les anciens backups présents dans le fichiers de destination de
> > > la
> > > sauvegarde ou non
> > > -- set @backup_mode =''
> > > set @backup_mode =' with init'
> > >
> > > print 'Début des Sauvegardes initiales'
> > >
> > > declare DBcursor cursor for select name from sysdatabases where
> > > name
not
> > in
> > > ('tempdb')
> > > open DBCursor
> > > Fetch DBCursor into @dbname
> > > while @@fetch_status = 0
> > > begin
> > > set @query = 'backup database ' + @dbname + ' to disk="' +
@path_backup +
> > > 'db_' + @@SERVERNAME + '_' + @dbname + '.bak"' + @backup_mode
> > > print 'Sauvegarde a chaud de la base : '+ @dbname + ' en utilisant
> > > la
> > > commande suivante :'
> > > print @query
> > > exec (@query)
> > > Fetch DBCursor into @dbname
> > > end
> > > close DBCursor
> > > deallocate DBCursor
> > >
> > > print 'Fin des Sauvegardes'
> > > ======================================= >> > > >
> > > Maintenant, vu la taille des fichiers *.bak obtenus, j'ai besoin
> > d'effectuer
> > > un zippage automatique de chaque fichier *.bak obtenu.
> > > Pour ce faire, j'ai a ma disposition, l'outil de ligne de commande
> > > de
> > winzip
> > > 9...dont la Syntaxe est :
> > >
> > > wzzip.zip db_SERVEURNAME_DBNAME.bak.zip db_SERVEURNAME_DBNAME.bak
> > >
> > > Comment puis je effectuer cette opération dans mon script ?
> > >
> > > merci d'avance de votre aide.
> >
> >
> >
Re.
au lieu d'executer 1 seule ligne de commande tu peux executer un fichier
batch
@vcCmd='postecbatch.cmd'
dans lequel tu mets
::POUR SE POSITIONNER DANS LE REPERTOIRE DE SAUVEGARDE
c:
cd monrepdesauvegarde
:: VERIFIE SI WINZIP EXISTE SINON LE COPIE A PARTIR D'UN EMPLACEMENT
if not exist wzzip.exe copy serveurpartagewzzip.exe
'wzzip.zip db_SERVEURNAME_DBNAME.bak.zip
If Not ErrorLevel 1 Goto Exit
Echo ***SERIOUS ERROR DETECTED***
:: ENVOI UN MESSAGE SUR TON POSTE par exemple
net send monlogin "erreur traitement sauvegarde"
:Exit
Attention a bien mettre des chemins UNC car le xp_cmdshell s'execute à
partir du serveur il me semble !!!!
Oliv'
"Florent G." a écrit dans le message de
news:
Hummm...je prefere eviter ce genre de "gadget" et tout incorporer dans mon
script de backup pour le moment.
Je l'ai mis en oeuvre et là, totu est ok; maintenant, il ne me reste plus
qu'à ajouter quelques améliorations de sécurité au script, comme par exemple
:
verifier que la compression s'est bien terminée et envoyer une alerte (net
send ou mail) en cas de probleme.
La doc winzip indique :
wzzip filename.zip *.doc
If Not ErrorLevel 1 Goto Exit
Echo ***SERIOUS ERROR DETECTED***
:Exit
Comment puis je récuperer cet errorlevel dans ma boucle afin d'executer un
traitement nécessaire ?
Comment vérifier que le fichier wzzip.exe est bien présent dnas le path de
la machine (pré-requis) ?
merc id'avance de votre aide.
"Chris V." a écrit :
> Proposition hors sujet, mais apres tout :)
> Pourquoi pas activer la compression windows sur le dossier recevant les
> backups ? Ca t'evite des trop en faire dans SQL.
>
> Chris.
>
> --
> ______________________________________________
> It's still better that if it would have been worst, isn't it ?
> C'est toujours mieux que si c'etait pire !
> "Florent G." wrote in message
> news:
> > bonjour,
> >
> > j'utilise le petit script de backup ci-dessous qui boucle sur toutes les
> > bases présentes sur mon serveur SQL 2000 (hormis une liste de bases
> définies)
> > :
> >
> > ============================================ > > > set quoted_identifier off
> > declare @query varchar(1000)
> > declare @path_backup varchar(100)
> > declare @dbname varchar(128)
> > declare @backup_mode varchar(10)
> > set @path_backup ='d:mssql2000MSSQLBACKUP'
> >
> > -- ATTENTION --
> > -- @backup_mode peut etre : ' with init' ou '' selon que l'on veut
> > ecraser
> > -- les anciens backups présents dans le fichiers de destination de la
> > sauvegarde ou non
> > -- set @backup_mode =''
> > set @backup_mode =' with init'
> >
> > print 'Début des Sauvegardes initiales'
> >
> > declare DBcursor cursor for select name from sysdatabases where name not
> in
> > ('tempdb')
> > open DBCursor
> > Fetch DBCursor into @dbname
> > while @@fetch_status = 0
> > begin
> > set @query = 'backup database ' + @dbname + ' to disk="' + @path_backup
> > +
> > 'db_' + @@SERVERNAME + '_' + @dbname + '.bak"' + @backup_mode
> > print 'Sauvegarde a chaud de la base : '+ @dbname + ' en utilisant la
> > commande suivante :'
> > print @query
> > exec (@query)
> > Fetch DBCursor into @dbname
> > end
> > close DBCursor
> > deallocate DBCursor
> >
> > print 'Fin des Sauvegardes'
> > ======================================= > > >
> > Maintenant, vu la taille des fichiers *.bak obtenus, j'ai besoin
> d'effectuer
> > un zippage automatique de chaque fichier *.bak obtenu.
> > Pour ce faire, j'ai a ma disposition, l'outil de ligne de commande de
> winzip
> > 9...dont la Syntaxe est :
> >
> > wzzip.zip db_SERVEURNAME_DBNAME.bak.zip db_SERVEURNAME_DBNAME.bak
> >
> > Comment puis je effectuer cette opération dans mon script ?
> >
> > merci d'avance de votre aide.
>
>
>
Re.
au lieu d'executer 1 seule ligne de commande tu peux executer un fichier
batch
@vcCmd='\postecbatch.cmd'
dans lequel tu mets
::POUR SE POSITIONNER DANS LE REPERTOIRE DE SAUVEGARDE
c:
cd monrepdesauvegarde
:: VERIFIE SI WINZIP EXISTE SINON LE COPIE A PARTIR D'UN EMPLACEMENT
if not exist wzzip.exe copy \serveurpartagewzzip.exe
'wzzip.zip db_SERVEURNAME_DBNAME.bak.zip
If Not ErrorLevel 1 Goto Exit
Echo ***SERIOUS ERROR DETECTED***
:: ENVOI UN MESSAGE SUR TON POSTE par exemple
net send monlogin "erreur traitement sauvegarde"
:Exit
Attention a bien mettre des chemins UNC car le xp_cmdshell s'execute à
partir du serveur il me semble !!!!
Oliv'
"Florent G." <FlorentG@discussions.microsoft.com> a écrit dans le message de
news: BB4237E5-F028-4E7B-91AE-5DAA528D3A10@microsoft.com...
Hummm...je prefere eviter ce genre de "gadget" et tout incorporer dans mon
script de backup pour le moment.
Je l'ai mis en oeuvre et là, totu est ok; maintenant, il ne me reste plus
qu'à ajouter quelques améliorations de sécurité au script, comme par exemple
:
verifier que la compression s'est bien terminée et envoyer une alerte (net
send ou mail) en cas de probleme.
La doc winzip indique :
wzzip filename.zip *.doc
If Not ErrorLevel 1 Goto Exit
Echo ***SERIOUS ERROR DETECTED***
:Exit
Comment puis je récuperer cet errorlevel dans ma boucle afin d'executer un
traitement nécessaire ?
Comment vérifier que le fichier wzzip.exe est bien présent dnas le path de
la machine (pré-requis) ?
merc id'avance de votre aide.
"Chris V." a écrit :
> Proposition hors sujet, mais apres tout :)
> Pourquoi pas activer la compression windows sur le dossier recevant les
> backups ? Ca t'evite des trop en faire dans SQL.
>
> Chris.
>
> --
> ______________________________________________
> It's still better that if it would have been worst, isn't it ?
> C'est toujours mieux que si c'etait pire !
> "Florent G." <FlorentG@discussions.microsoft.com> wrote in message
> news:96FA2F0A-579A-419F-8466-2DA5E19B08D9@microsoft.com...
> > bonjour,
> >
> > j'utilise le petit script de backup ci-dessous qui boucle sur toutes les
> > bases présentes sur mon serveur SQL 2000 (hormis une liste de bases
> définies)
> > :
> >
> > ============================================ > > > set quoted_identifier off
> > declare @query varchar(1000)
> > declare @path_backup varchar(100)
> > declare @dbname varchar(128)
> > declare @backup_mode varchar(10)
> > set @path_backup ='d:mssql2000MSSQLBACKUP'
> >
> > -- ATTENTION --
> > -- @backup_mode peut etre : ' with init' ou '' selon que l'on veut
> > ecraser
> > -- les anciens backups présents dans le fichiers de destination de la
> > sauvegarde ou non
> > -- set @backup_mode =''
> > set @backup_mode =' with init'
> >
> > print 'Début des Sauvegardes initiales'
> >
> > declare DBcursor cursor for select name from sysdatabases where name not
> in
> > ('tempdb')
> > open DBCursor
> > Fetch DBCursor into @dbname
> > while @@fetch_status = 0
> > begin
> > set @query = 'backup database ' + @dbname + ' to disk="' + @path_backup
> > +
> > 'db_' + @@SERVERNAME + '_' + @dbname + '.bak"' + @backup_mode
> > print 'Sauvegarde a chaud de la base : '+ @dbname + ' en utilisant la
> > commande suivante :'
> > print @query
> > exec (@query)
> > Fetch DBCursor into @dbname
> > end
> > close DBCursor
> > deallocate DBCursor
> >
> > print 'Fin des Sauvegardes'
> > ======================================= > > >
> > Maintenant, vu la taille des fichiers *.bak obtenus, j'ai besoin
> d'effectuer
> > un zippage automatique de chaque fichier *.bak obtenu.
> > Pour ce faire, j'ai a ma disposition, l'outil de ligne de commande de
> winzip
> > 9...dont la Syntaxe est :
> >
> > wzzip.zip db_SERVEURNAME_DBNAME.bak.zip db_SERVEURNAME_DBNAME.bak
> >
> > Comment puis je effectuer cette opération dans mon script ?
> >
> > merci d'avance de votre aide.
>
>
>
Re.
au lieu d'executer 1 seule ligne de commande tu peux executer un fichier
batch
@vcCmd='postecbatch.cmd'
dans lequel tu mets
::POUR SE POSITIONNER DANS LE REPERTOIRE DE SAUVEGARDE
c:
cd monrepdesauvegarde
:: VERIFIE SI WINZIP EXISTE SINON LE COPIE A PARTIR D'UN EMPLACEMENT
if not exist wzzip.exe copy serveurpartagewzzip.exe
'wzzip.zip db_SERVEURNAME_DBNAME.bak.zip
If Not ErrorLevel 1 Goto Exit
Echo ***SERIOUS ERROR DETECTED***
:: ENVOI UN MESSAGE SUR TON POSTE par exemple
net send monlogin "erreur traitement sauvegarde"
:Exit
Attention a bien mettre des chemins UNC car le xp_cmdshell s'execute à
partir du serveur il me semble !!!!
Oliv'
"Florent G." a écrit dans le message de
news:
Hummm...je prefere eviter ce genre de "gadget" et tout incorporer dans mon
script de backup pour le moment.
Je l'ai mis en oeuvre et là, totu est ok; maintenant, il ne me reste plus
qu'à ajouter quelques améliorations de sécurité au script, comme par exemple
:
verifier que la compression s'est bien terminée et envoyer une alerte (net
send ou mail) en cas de probleme.
La doc winzip indique :
wzzip filename.zip *.doc
If Not ErrorLevel 1 Goto Exit
Echo ***SERIOUS ERROR DETECTED***
:Exit
Comment puis je récuperer cet errorlevel dans ma boucle afin d'executer un
traitement nécessaire ?
Comment vérifier que le fichier wzzip.exe est bien présent dnas le path de
la machine (pré-requis) ?
merc id'avance de votre aide.
"Chris V." a écrit :
> Proposition hors sujet, mais apres tout :)
> Pourquoi pas activer la compression windows sur le dossier recevant les
> backups ? Ca t'evite des trop en faire dans SQL.
>
> Chris.
>
> --
> ______________________________________________
> It's still better that if it would have been worst, isn't it ?
> C'est toujours mieux que si c'etait pire !
> "Florent G." wrote in message
> news:
> > bonjour,
> >
> > j'utilise le petit script de backup ci-dessous qui boucle sur toutes les
> > bases présentes sur mon serveur SQL 2000 (hormis une liste de bases
> définies)
> > :
> >
> > ============================================ > > > set quoted_identifier off
> > declare @query varchar(1000)
> > declare @path_backup varchar(100)
> > declare @dbname varchar(128)
> > declare @backup_mode varchar(10)
> > set @path_backup ='d:mssql2000MSSQLBACKUP'
> >
> > -- ATTENTION --
> > -- @backup_mode peut etre : ' with init' ou '' selon que l'on veut
> > ecraser
> > -- les anciens backups présents dans le fichiers de destination de la
> > sauvegarde ou non
> > -- set @backup_mode =''
> > set @backup_mode =' with init'
> >
> > print 'Début des Sauvegardes initiales'
> >
> > declare DBcursor cursor for select name from sysdatabases where name not
> in
> > ('tempdb')
> > open DBCursor
> > Fetch DBCursor into @dbname
> > while @@fetch_status = 0
> > begin
> > set @query = 'backup database ' + @dbname + ' to disk="' + @path_backup
> > +
> > 'db_' + @@SERVERNAME + '_' + @dbname + '.bak"' + @backup_mode
> > print 'Sauvegarde a chaud de la base : '+ @dbname + ' en utilisant la
> > commande suivante :'
> > print @query
> > exec (@query)
> > Fetch DBCursor into @dbname
> > end
> > close DBCursor
> > deallocate DBCursor
> >
> > print 'Fin des Sauvegardes'
> > ======================================= > > >
> > Maintenant, vu la taille des fichiers *.bak obtenus, j'ai besoin
> d'effectuer
> > un zippage automatique de chaque fichier *.bak obtenu.
> > Pour ce faire, j'ai a ma disposition, l'outil de ligne de commande de
> winzip
> > 9...dont la Syntaxe est :
> >
> > wzzip.zip db_SERVEURNAME_DBNAME.bak.zip db_SERVEURNAME_DBNAME.bak
> >
> > Comment puis je effectuer cette opération dans mon script ?
> >
> > merci d'avance de votre aide.
>
>
>
Bonjour,
j'ai essayé d'améliorer mon script de backup en y incorporant une
réduction
des fichiers de log (*.ldf).
Mais apparement, il manque un "USE LABASE" quelque part et jesais pas
comment l'indiquer..
merci de votre aide (en effet, dans mon log, j'obtiens toujours le fait
qu'il essaye de réduire le fichier de log de la base master par
défaut....au
lie ude la base sur laquelle on boucle actuellement)
mon script :
========================================= > set quoted_identifier off
declare @query_backup varchar(1000)
declare @query_purge_logs varchar(1000)
declare @query_reduire_logs varchar(1000)
declare @path_backup varchar(100)
declare @dbname varchar(128)
declare @backup_mode varchar(10)
declare @ZipCommand varchar(1000)
declare @NetSendCommand varchar(128)
declare @destinataire_netsend varchar(128)
set @path_backup ='d:mssql2000MSSQLBACKUP'
set @destinataire_netsend ='w-fgi'
-- ATTENTION --
-- @backup_mode peut etre : ' with init' ou '' selon que l'on veut ecraser
-- les anciens backups présents dans le fichiers de destination de la
sauvegarde ou non
-- set @backup_mode =''
set @backup_mode =' with init'
print 'Début des Sauvegardes - ' + replace(replace(convert
(varchar(22),getdate(),120),':','-'),' ','-')
declare DBcursor cursor for select name from sysdatabases where name not
in
('tempdb','savprod','test_JSP_F0X_2005','test_xavier')
open DBCursor
Fetch DBCursor into @dbname
while @@fetch_status = 0
begin
-- Purge du log de la base
set @query_purge_logs = 'backup log ' + @dbname + ' with no_log'
print 'Purge du log de la base : '+ @dbname + ' en utilisant la commande
suivante :'
print @query_purge_logs
exec (@query_purge_logs)
-- Reduction de la taille du fichier de log de la base
set @query_reduire_logs = 'dbcc shrinkfile(2,500)'
print 'Reduction de la taille du fichier de log de la base : '+ @dbname +
'
en utilisant la commande suivante :'
print @query_reduire_logs
exec (@query_reduire_logs)
-- Sauvegarde de la base vers un fichier *.bak
set @query_backup = 'backup database ' + @dbname + ' to disk="' +
@path_backup + 'db_' + @@SERVERNAME + '_' + @dbname + '.bak"' +
@backup_mode
print 'Sauvegarde a chaud de la base : '+ @dbname + ' en utilisant la
commande suivante :'
print @query_backup
exec (@query_backup)
-- On créé une table temporaire pour y stocker le résultat de la commande
de
zippage
-- pour vérifier sa bonne exécution
create table #Output
(
TextLine varchar(256)
)
-- On construit la commande shell qui va être exécutée pour la compression
du fichier en cours
select @ZipCommand = 'wzzip.exe -ex -m ' + @path_backup + 'db_' +
@@SERVERNAME + '_' + @dbname + '.bak.zip ' + @path_backup + 'db_' +
@@SERVERNAME + '_' + @dbname + '.bak'
print 'Compression du fichier de backup en utilisant la commande suivante
:'
print @ZipCommand
-- On exécute la compression et on envoi le résultat dans la table
temporaire
insert into #Output Exec master.dbo.xp_cmdshell @ZipCommand
-- On vérifie si la compression s'est bien passée
if (select count(*) from #Output where Textline like '%Error%') <> 0
begin
-- Erreur de compression, on alerte l'administrateur
select @NetSendCommand = 'net send ' + @destinataire_netsend + ' "Erreur
de compression du backup sur ' + @@SERVERNAME + ' pour la base ' + @dbname
+
'"'
Exec master.dbo.xp_cmdshell @NetSendCommand
end
-- On supprime la table temporaire
drop table #Output
-- On passe a la base suivante
Fetch DBCursor into @dbname
end
close DBCursor
deallocate DBCursor
print 'Fin des Sauvegardes - ' + replace(replace(convert
(varchar(22),getdate(),120),':','-'),' ','-')
========================================= >
Merci
FLorent
"Oliv'" a écrit :Re.
au lieu d'executer 1 seule ligne de commande tu peux executer un fichier
batch
@vcCmd='postecbatch.cmd'
dans lequel tu mets
::POUR SE POSITIONNER DANS LE REPERTOIRE DE SAUVEGARDE
c:
cd monrepdesauvegarde
:: VERIFIE SI WINZIP EXISTE SINON LE COPIE A PARTIR D'UN EMPLACEMENT
if not exist wzzip.exe copy serveurpartagewzzip.exe
'wzzip.zip db_SERVEURNAME_DBNAME.bak.zip
If Not ErrorLevel 1 Goto Exit
Echo ***SERIOUS ERROR DETECTED***
:: ENVOI UN MESSAGE SUR TON POSTE par exemple
net send monlogin "erreur traitement sauvegarde"
:Exit
Attention a bien mettre des chemins UNC car le xp_cmdshell s'execute à
partir du serveur il me semble !!!!
Oliv'
"Florent G." a écrit dans le message
de
news:
Hummm...je prefere eviter ce genre de "gadget" et tout incorporer dans
mon
script de backup pour le moment.
Je l'ai mis en oeuvre et là, totu est ok; maintenant, il ne me reste plus
qu'à ajouter quelques améliorations de sécurité au script, comme par
exemple
:
verifier que la compression s'est bien terminée et envoyer une alerte
(net
send ou mail) en cas de probleme.
La doc winzip indique :
wzzip filename.zip *.doc
If Not ErrorLevel 1 Goto Exit
Echo ***SERIOUS ERROR DETECTED***
:Exit
Comment puis je récuperer cet errorlevel dans ma boucle afin d'executer
un
traitement nécessaire ?
Comment vérifier que le fichier wzzip.exe est bien présent dnas le path
de
la machine (pré-requis) ?
merc id'avance de votre aide.
"Chris V." a écrit :
> Proposition hors sujet, mais apres tout :)
> Pourquoi pas activer la compression windows sur le dossier recevant les
> backups ? Ca t'evite des trop en faire dans SQL.
>
> Chris.
>
> --
> ______________________________________________
> It's still better that if it would have been worst, isn't it ?
> C'est toujours mieux que si c'etait pire !
> "Florent G." wrote in message
> news:
> > bonjour,
> >
> > j'utilise le petit script de backup ci-dessous qui boucle sur toutes
> > les
> > bases présentes sur mon serveur SQL 2000 (hormis une liste de bases
> définies)
> > :
> >
> > ============================================ >> > > set quoted_identifier off
> > declare @query varchar(1000)
> > declare @path_backup varchar(100)
> > declare @dbname varchar(128)
> > declare @backup_mode varchar(10)
> > set @path_backup ='d:mssql2000MSSQLBACKUP'
> >
> > -- ATTENTION --
> > -- @backup_mode peut etre : ' with init' ou '' selon que l'on veut
> > ecraser
> > -- les anciens backups présents dans le fichiers de destination de la
> > sauvegarde ou non
> > -- set @backup_mode =''
> > set @backup_mode =' with init'
> >
> > print 'Début des Sauvegardes initiales'
> >
> > declare DBcursor cursor for select name from sysdatabases where name
> > not
> in
> > ('tempdb')
> > open DBCursor
> > Fetch DBCursor into @dbname
> > while @@fetch_status = 0
> > begin
> > set @query = 'backup database ' + @dbname + ' to disk="' +
> > @path_backup
> > +
> > 'db_' + @@SERVERNAME + '_' + @dbname + '.bak"' + @backup_mode
> > print 'Sauvegarde a chaud de la base : '+ @dbname + ' en utilisant la
> > commande suivante :'
> > print @query
> > exec (@query)
> > Fetch DBCursor into @dbname
> > end
> > close DBCursor
> > deallocate DBCursor
> >
> > print 'Fin des Sauvegardes'
> > ======================================= >> > >
> > Maintenant, vu la taille des fichiers *.bak obtenus, j'ai besoin
> d'effectuer
> > un zippage automatique de chaque fichier *.bak obtenu.
> > Pour ce faire, j'ai a ma disposition, l'outil de ligne de commande de
> winzip
> > 9...dont la Syntaxe est :
> >
> > wzzip.zip db_SERVEURNAME_DBNAME.bak.zip db_SERVEURNAME_DBNAME.bak
> >
> > Comment puis je effectuer cette opération dans mon script ?
> >
> > merci d'avance de votre aide.
>
>
>
Bonjour,
j'ai essayé d'améliorer mon script de backup en y incorporant une
réduction
des fichiers de log (*.ldf).
Mais apparement, il manque un "USE LABASE" quelque part et jesais pas
comment l'indiquer..
merci de votre aide (en effet, dans mon log, j'obtiens toujours le fait
qu'il essaye de réduire le fichier de log de la base master par
défaut....au
lie ude la base sur laquelle on boucle actuellement)
mon script :
========================================= > set quoted_identifier off
declare @query_backup varchar(1000)
declare @query_purge_logs varchar(1000)
declare @query_reduire_logs varchar(1000)
declare @path_backup varchar(100)
declare @dbname varchar(128)
declare @backup_mode varchar(10)
declare @ZipCommand varchar(1000)
declare @NetSendCommand varchar(128)
declare @destinataire_netsend varchar(128)
set @path_backup ='d:mssql2000MSSQLBACKUP'
set @destinataire_netsend ='w-fgi'
-- ATTENTION --
-- @backup_mode peut etre : ' with init' ou '' selon que l'on veut ecraser
-- les anciens backups présents dans le fichiers de destination de la
sauvegarde ou non
-- set @backup_mode =''
set @backup_mode =' with init'
print 'Début des Sauvegardes - ' + replace(replace(convert
(varchar(22),getdate(),120),':','-'),' ','-')
declare DBcursor cursor for select name from sysdatabases where name not
in
('tempdb','savprod','test_JSP_F0X_2005','test_xavier')
open DBCursor
Fetch DBCursor into @dbname
while @@fetch_status = 0
begin
-- Purge du log de la base
set @query_purge_logs = 'backup log ' + @dbname + ' with no_log'
print 'Purge du log de la base : '+ @dbname + ' en utilisant la commande
suivante :'
print @query_purge_logs
exec (@query_purge_logs)
-- Reduction de la taille du fichier de log de la base
set @query_reduire_logs = 'dbcc shrinkfile(2,500)'
print 'Reduction de la taille du fichier de log de la base : '+ @dbname +
'
en utilisant la commande suivante :'
print @query_reduire_logs
exec (@query_reduire_logs)
-- Sauvegarde de la base vers un fichier *.bak
set @query_backup = 'backup database ' + @dbname + ' to disk="' +
@path_backup + 'db_' + @@SERVERNAME + '_' + @dbname + '.bak"' +
@backup_mode
print 'Sauvegarde a chaud de la base : '+ @dbname + ' en utilisant la
commande suivante :'
print @query_backup
exec (@query_backup)
-- On créé une table temporaire pour y stocker le résultat de la commande
de
zippage
-- pour vérifier sa bonne exécution
create table #Output
(
TextLine varchar(256)
)
-- On construit la commande shell qui va être exécutée pour la compression
du fichier en cours
select @ZipCommand = 'wzzip.exe -ex -m ' + @path_backup + 'db_' +
@@SERVERNAME + '_' + @dbname + '.bak.zip ' + @path_backup + 'db_' +
@@SERVERNAME + '_' + @dbname + '.bak'
print 'Compression du fichier de backup en utilisant la commande suivante
:'
print @ZipCommand
-- On exécute la compression et on envoi le résultat dans la table
temporaire
insert into #Output Exec master.dbo.xp_cmdshell @ZipCommand
-- On vérifie si la compression s'est bien passée
if (select count(*) from #Output where Textline like '%Error%') <> 0
begin
-- Erreur de compression, on alerte l'administrateur
select @NetSendCommand = 'net send ' + @destinataire_netsend + ' "Erreur
de compression du backup sur ' + @@SERVERNAME + ' pour la base ' + @dbname
+
'"'
Exec master.dbo.xp_cmdshell @NetSendCommand
end
-- On supprime la table temporaire
drop table #Output
-- On passe a la base suivante
Fetch DBCursor into @dbname
end
close DBCursor
deallocate DBCursor
print 'Fin des Sauvegardes - ' + replace(replace(convert
(varchar(22),getdate(),120),':','-'),' ','-')
========================================= >
Merci
FLorent
"Oliv'" a écrit :
Re.
au lieu d'executer 1 seule ligne de commande tu peux executer un fichier
batch
@vcCmd='\postecbatch.cmd'
dans lequel tu mets
::POUR SE POSITIONNER DANS LE REPERTOIRE DE SAUVEGARDE
c:
cd monrepdesauvegarde
:: VERIFIE SI WINZIP EXISTE SINON LE COPIE A PARTIR D'UN EMPLACEMENT
if not exist wzzip.exe copy \serveurpartagewzzip.exe
'wzzip.zip db_SERVEURNAME_DBNAME.bak.zip
If Not ErrorLevel 1 Goto Exit
Echo ***SERIOUS ERROR DETECTED***
:: ENVOI UN MESSAGE SUR TON POSTE par exemple
net send monlogin "erreur traitement sauvegarde"
:Exit
Attention a bien mettre des chemins UNC car le xp_cmdshell s'execute à
partir du serveur il me semble !!!!
Oliv'
"Florent G." <FlorentG@discussions.microsoft.com> a écrit dans le message
de
news: BB4237E5-F028-4E7B-91AE-5DAA528D3A10@microsoft.com...
Hummm...je prefere eviter ce genre de "gadget" et tout incorporer dans
mon
script de backup pour le moment.
Je l'ai mis en oeuvre et là, totu est ok; maintenant, il ne me reste plus
qu'à ajouter quelques améliorations de sécurité au script, comme par
exemple
:
verifier que la compression s'est bien terminée et envoyer une alerte
(net
send ou mail) en cas de probleme.
La doc winzip indique :
wzzip filename.zip *.doc
If Not ErrorLevel 1 Goto Exit
Echo ***SERIOUS ERROR DETECTED***
:Exit
Comment puis je récuperer cet errorlevel dans ma boucle afin d'executer
un
traitement nécessaire ?
Comment vérifier que le fichier wzzip.exe est bien présent dnas le path
de
la machine (pré-requis) ?
merc id'avance de votre aide.
"Chris V." a écrit :
> Proposition hors sujet, mais apres tout :)
> Pourquoi pas activer la compression windows sur le dossier recevant les
> backups ? Ca t'evite des trop en faire dans SQL.
>
> Chris.
>
> --
> ______________________________________________
> It's still better that if it would have been worst, isn't it ?
> C'est toujours mieux que si c'etait pire !
> "Florent G." <FlorentG@discussions.microsoft.com> wrote in message
> news:96FA2F0A-579A-419F-8466-2DA5E19B08D9@microsoft.com...
> > bonjour,
> >
> > j'utilise le petit script de backup ci-dessous qui boucle sur toutes
> > les
> > bases présentes sur mon serveur SQL 2000 (hormis une liste de bases
> définies)
> > :
> >
> > ============================================ >> > > set quoted_identifier off
> > declare @query varchar(1000)
> > declare @path_backup varchar(100)
> > declare @dbname varchar(128)
> > declare @backup_mode varchar(10)
> > set @path_backup ='d:mssql2000MSSQLBACKUP'
> >
> > -- ATTENTION --
> > -- @backup_mode peut etre : ' with init' ou '' selon que l'on veut
> > ecraser
> > -- les anciens backups présents dans le fichiers de destination de la
> > sauvegarde ou non
> > -- set @backup_mode =''
> > set @backup_mode =' with init'
> >
> > print 'Début des Sauvegardes initiales'
> >
> > declare DBcursor cursor for select name from sysdatabases where name
> > not
> in
> > ('tempdb')
> > open DBCursor
> > Fetch DBCursor into @dbname
> > while @@fetch_status = 0
> > begin
> > set @query = 'backup database ' + @dbname + ' to disk="' +
> > @path_backup
> > +
> > 'db_' + @@SERVERNAME + '_' + @dbname + '.bak"' + @backup_mode
> > print 'Sauvegarde a chaud de la base : '+ @dbname + ' en utilisant la
> > commande suivante :'
> > print @query
> > exec (@query)
> > Fetch DBCursor into @dbname
> > end
> > close DBCursor
> > deallocate DBCursor
> >
> > print 'Fin des Sauvegardes'
> > ======================================= >> > >
> > Maintenant, vu la taille des fichiers *.bak obtenus, j'ai besoin
> d'effectuer
> > un zippage automatique de chaque fichier *.bak obtenu.
> > Pour ce faire, j'ai a ma disposition, l'outil de ligne de commande de
> winzip
> > 9...dont la Syntaxe est :
> >
> > wzzip.zip db_SERVEURNAME_DBNAME.bak.zip db_SERVEURNAME_DBNAME.bak
> >
> > Comment puis je effectuer cette opération dans mon script ?
> >
> > merci d'avance de votre aide.
>
>
>
Bonjour,
j'ai essayé d'améliorer mon script de backup en y incorporant une
réduction
des fichiers de log (*.ldf).
Mais apparement, il manque un "USE LABASE" quelque part et jesais pas
comment l'indiquer..
merci de votre aide (en effet, dans mon log, j'obtiens toujours le fait
qu'il essaye de réduire le fichier de log de la base master par
défaut....au
lie ude la base sur laquelle on boucle actuellement)
mon script :
========================================= > set quoted_identifier off
declare @query_backup varchar(1000)
declare @query_purge_logs varchar(1000)
declare @query_reduire_logs varchar(1000)
declare @path_backup varchar(100)
declare @dbname varchar(128)
declare @backup_mode varchar(10)
declare @ZipCommand varchar(1000)
declare @NetSendCommand varchar(128)
declare @destinataire_netsend varchar(128)
set @path_backup ='d:mssql2000MSSQLBACKUP'
set @destinataire_netsend ='w-fgi'
-- ATTENTION --
-- @backup_mode peut etre : ' with init' ou '' selon que l'on veut ecraser
-- les anciens backups présents dans le fichiers de destination de la
sauvegarde ou non
-- set @backup_mode =''
set @backup_mode =' with init'
print 'Début des Sauvegardes - ' + replace(replace(convert
(varchar(22),getdate(),120),':','-'),' ','-')
declare DBcursor cursor for select name from sysdatabases where name not
in
('tempdb','savprod','test_JSP_F0X_2005','test_xavier')
open DBCursor
Fetch DBCursor into @dbname
while @@fetch_status = 0
begin
-- Purge du log de la base
set @query_purge_logs = 'backup log ' + @dbname + ' with no_log'
print 'Purge du log de la base : '+ @dbname + ' en utilisant la commande
suivante :'
print @query_purge_logs
exec (@query_purge_logs)
-- Reduction de la taille du fichier de log de la base
set @query_reduire_logs = 'dbcc shrinkfile(2,500)'
print 'Reduction de la taille du fichier de log de la base : '+ @dbname +
'
en utilisant la commande suivante :'
print @query_reduire_logs
exec (@query_reduire_logs)
-- Sauvegarde de la base vers un fichier *.bak
set @query_backup = 'backup database ' + @dbname + ' to disk="' +
@path_backup + 'db_' + @@SERVERNAME + '_' + @dbname + '.bak"' +
@backup_mode
print 'Sauvegarde a chaud de la base : '+ @dbname + ' en utilisant la
commande suivante :'
print @query_backup
exec (@query_backup)
-- On créé une table temporaire pour y stocker le résultat de la commande
de
zippage
-- pour vérifier sa bonne exécution
create table #Output
(
TextLine varchar(256)
)
-- On construit la commande shell qui va être exécutée pour la compression
du fichier en cours
select @ZipCommand = 'wzzip.exe -ex -m ' + @path_backup + 'db_' +
@@SERVERNAME + '_' + @dbname + '.bak.zip ' + @path_backup + 'db_' +
@@SERVERNAME + '_' + @dbname + '.bak'
print 'Compression du fichier de backup en utilisant la commande suivante
:'
print @ZipCommand
-- On exécute la compression et on envoi le résultat dans la table
temporaire
insert into #Output Exec master.dbo.xp_cmdshell @ZipCommand
-- On vérifie si la compression s'est bien passée
if (select count(*) from #Output where Textline like '%Error%') <> 0
begin
-- Erreur de compression, on alerte l'administrateur
select @NetSendCommand = 'net send ' + @destinataire_netsend + ' "Erreur
de compression du backup sur ' + @@SERVERNAME + ' pour la base ' + @dbname
+
'"'
Exec master.dbo.xp_cmdshell @NetSendCommand
end
-- On supprime la table temporaire
drop table #Output
-- On passe a la base suivante
Fetch DBCursor into @dbname
end
close DBCursor
deallocate DBCursor
print 'Fin des Sauvegardes - ' + replace(replace(convert
(varchar(22),getdate(),120),':','-'),' ','-')
========================================= >
Merci
FLorent
"Oliv'" a écrit :Re.
au lieu d'executer 1 seule ligne de commande tu peux executer un fichier
batch
@vcCmd='postecbatch.cmd'
dans lequel tu mets
::POUR SE POSITIONNER DANS LE REPERTOIRE DE SAUVEGARDE
c:
cd monrepdesauvegarde
:: VERIFIE SI WINZIP EXISTE SINON LE COPIE A PARTIR D'UN EMPLACEMENT
if not exist wzzip.exe copy serveurpartagewzzip.exe
'wzzip.zip db_SERVEURNAME_DBNAME.bak.zip
If Not ErrorLevel 1 Goto Exit
Echo ***SERIOUS ERROR DETECTED***
:: ENVOI UN MESSAGE SUR TON POSTE par exemple
net send monlogin "erreur traitement sauvegarde"
:Exit
Attention a bien mettre des chemins UNC car le xp_cmdshell s'execute à
partir du serveur il me semble !!!!
Oliv'
"Florent G." a écrit dans le message
de
news:
Hummm...je prefere eviter ce genre de "gadget" et tout incorporer dans
mon
script de backup pour le moment.
Je l'ai mis en oeuvre et là, totu est ok; maintenant, il ne me reste plus
qu'à ajouter quelques améliorations de sécurité au script, comme par
exemple
:
verifier que la compression s'est bien terminée et envoyer une alerte
(net
send ou mail) en cas de probleme.
La doc winzip indique :
wzzip filename.zip *.doc
If Not ErrorLevel 1 Goto Exit
Echo ***SERIOUS ERROR DETECTED***
:Exit
Comment puis je récuperer cet errorlevel dans ma boucle afin d'executer
un
traitement nécessaire ?
Comment vérifier que le fichier wzzip.exe est bien présent dnas le path
de
la machine (pré-requis) ?
merc id'avance de votre aide.
"Chris V." a écrit :
> Proposition hors sujet, mais apres tout :)
> Pourquoi pas activer la compression windows sur le dossier recevant les
> backups ? Ca t'evite des trop en faire dans SQL.
>
> Chris.
>
> --
> ______________________________________________
> It's still better that if it would have been worst, isn't it ?
> C'est toujours mieux que si c'etait pire !
> "Florent G." wrote in message
> news:
> > bonjour,
> >
> > j'utilise le petit script de backup ci-dessous qui boucle sur toutes
> > les
> > bases présentes sur mon serveur SQL 2000 (hormis une liste de bases
> définies)
> > :
> >
> > ============================================ >> > > set quoted_identifier off
> > declare @query varchar(1000)
> > declare @path_backup varchar(100)
> > declare @dbname varchar(128)
> > declare @backup_mode varchar(10)
> > set @path_backup ='d:mssql2000MSSQLBACKUP'
> >
> > -- ATTENTION --
> > -- @backup_mode peut etre : ' with init' ou '' selon que l'on veut
> > ecraser
> > -- les anciens backups présents dans le fichiers de destination de la
> > sauvegarde ou non
> > -- set @backup_mode =''
> > set @backup_mode =' with init'
> >
> > print 'Début des Sauvegardes initiales'
> >
> > declare DBcursor cursor for select name from sysdatabases where name
> > not
> in
> > ('tempdb')
> > open DBCursor
> > Fetch DBCursor into @dbname
> > while @@fetch_status = 0
> > begin
> > set @query = 'backup database ' + @dbname + ' to disk="' +
> > @path_backup
> > +
> > 'db_' + @@SERVERNAME + '_' + @dbname + '.bak"' + @backup_mode
> > print 'Sauvegarde a chaud de la base : '+ @dbname + ' en utilisant la
> > commande suivante :'
> > print @query
> > exec (@query)
> > Fetch DBCursor into @dbname
> > end
> > close DBCursor
> > deallocate DBCursor
> >
> > print 'Fin des Sauvegardes'
> > ======================================= >> > >
> > Maintenant, vu la taille des fichiers *.bak obtenus, j'ai besoin
> d'effectuer
> > un zippage automatique de chaque fichier *.bak obtenu.
> > Pour ce faire, j'ai a ma disposition, l'outil de ligne de commande de
> winzip
> > 9...dont la Syntaxe est :
> >
> > wzzip.zip db_SERVEURNAME_DBNAME.bak.zip db_SERVEURNAME_DBNAME.bak
> >
> > Comment puis je effectuer cette opération dans mon script ?
> >
> > merci d'avance de votre aide.
>
>
>