Laboratoire Microsoft |  Blog |  Webcast |  Students Club |  FaqXP  |  CertifExpress 
 Le Forum de Référence sur les Technologies Microsoft - http://www.forum-microsoft.org

Concaténation dans une procédure.

Un forum dédié au serveur de Base de Données Made in Microsoft

Modérateurs: Toshi, ygainche, Thierry DEMAN (MVP Exchan, Modérateurs_Applicatifs

Concaténation dans une procédure.

Messagepar sam_aix_hittle sur Ven 08 Juin 2007, 17:55

Bonjour

J'aurais voulus savoir s’il était possible de crée une procédure stocker permettant de sauvegarder une base de donnée SQL ?

Et si oui quels conseils me donner vous ?

Merci pour vos réponses et bon week-end à tous.

Cordialement,

Sam
Dernière édition par sam_aix_hittle le Lun 11 Juin 2007, 15:48, édité 1 fois au total.
sam_aix_hittle
Member
Member
 
Messages: 54
Inscrit le: Ven 23 Fév 2007, 18:46

Messagepar Toshi sur Ven 08 Juin 2007, 23:44

Salut,

Sachant que l'on peux réaliser une sauvegarde via Transact-SQL, la réponse est oui. Mais pourquoi une telle requête? pourquoi ne pas mettre en oeuvre un travail de l'Agent SQL Server?
MCSD VB6,VB.Net,C#
MCPD Web Dev.
MCDBA SQL 7,2000
MCITP Dba/Dev SQL 2005
MCT
Avatar de l’utilisateur
Toshi
Grand Master Flash
Grand Master Flash
 
Messages: 2727
Inscrit le: Mar 02 Mai 2006, 16:50

Messagepar sam_aix_hittle sur Sam 09 Juin 2007, 22:30

Merci pour ta réponse mais j'utilise déjà cette méthode cependant j'aimerais en tester d'autres pour apprendre un petit peut....

En farfouillant sur le forum j'ai réussi à retrouver ceci :

Code: Tout sélectionner
BACKUP DATABASE "nom de la base"
FILE = "nom du fichier"
TO DISK = "l’endroit ou je sauvegarde ma base"


Cependant je n'arrive pas à sauvegarder la base.

Que dois-je modifier ?

Si non une autre petite question : y'a t'il un changement majeur entre SQL Server 2000 et le 2005 ?

Merci encore et bon week-end à tous.

Sam
sam_aix_hittle
Member
Member
 
Messages: 54
Inscrit le: Ven 23 Fév 2007, 18:46

Messagepar Toshi sur Dim 10 Juin 2007, 9:19

Quel est le problème que tu rencontres lors de l'émission de ton Backup? quel est la syntaxe que tu utilises?

Sinon entre 2000 et 2005 il existe quelques différences en matière de sauvegarde/restauration mais rien de significatif pour un simple Backup de base.
MCSD VB6,VB.Net,C#
MCPD Web Dev.
MCDBA SQL 7,2000
MCITP Dba/Dev SQL 2005
MCT
Avatar de l’utilisateur
Toshi
Grand Master Flash
Grand Master Flash
 
Messages: 2727
Inscrit le: Mar 02 Mai 2006, 16:50

Messagepar sam_aix_hittle sur Lun 11 Juin 2007, 15:22

Code: Tout sélectionner
Create procedure Sauvegarder
@nom-base as char(10)
As
Backup database @nom-base
To disk = "c:\BackUpSQL\ & @nombase.bak"
With init
go


En faite je voudrait concaténer le nom de la base dans le chemin de la sauvegarde. Mais je n'y arrive pas.

Code: Tout sélectionner
To disk = "c:\BackUpSQL\ & @nom-base.bak"


Que dois-je modifier pour pouvoir réussir cette requête ?

Merci beaucoup

Cordialement,

Sam
sam_aix_hittle
Member
Member
 
Messages: 54
Inscrit le: Ven 23 Fév 2007, 18:46

Messagepar Toshi sur Lun 11 Juin 2007, 15:53

Voilà comment faire:
Code: Tout sélectionner
Create procedure Sauvegarder
@nombase as char(10)
As
Execute('Backup database ' + @nombase + 
' To disk = "c:\BackUpSQL\' + @nombase + '.bak"
With init')
go


Je n'ai pas testé, mais j'ai bon espoir :D
MCSD VB6,VB.Net,C#
MCPD Web Dev.
MCDBA SQL 7,2000
MCITP Dba/Dev SQL 2005
MCT
Avatar de l’utilisateur
Toshi
Grand Master Flash
Grand Master Flash
 
Messages: 2727
Inscrit le: Mar 02 Mai 2006, 16:50

Messagepar sam_aix_hittle sur Mar 12 Juin 2007, 11:09

Oui Merci je pense que cela devrait fonctionner.
Cependant il me détecte une petite erreur qui empêche la sauvegarde
La voici :
J'ai essayer d'enlever tous les espaces, d'en rajouter mais aucun succès :'(

------------------------------------------------------------------------------------

Serveur : Msg 170, Niveau 15, État 1, Ligne 1
Ligne 1 : syntaxe incorrecte vers 'c:\BackUpSQL\Employe .bak'.

----------------------------------------------------------------------------------

Merci.

Cordialement,

Sam
sam_aix_hittle
Member
Member
 
Messages: 54
Inscrit le: Ven 23 Fév 2007, 18:46

Messagepar Toshi sur Mar 12 Juin 2007, 16:27

Le problème vient du type de données employé pour la variable nomBase. En étant en Char(10), il mettra toujours 10 caractères (et donc dans ton cas un blanc). Il faut passer en VarChar(10) et il ne stockera que le strict nécessaire. :wink:
MCSD VB6,VB.Net,C#
MCPD Web Dev.
MCDBA SQL 7,2000
MCITP Dba/Dev SQL 2005
MCT
Avatar de l’utilisateur
Toshi
Grand Master Flash
Grand Master Flash
 
Messages: 2727
Inscrit le: Mar 02 Mai 2006, 16:50

Messagepar sam_aix_hittle sur Mar 12 Juin 2007, 23:05

Wahouuu Merci Merci
Fallait y penser :)

Je vais de suite essayer ça :P

Et Encore Merci pour ta réponse.

Sam
sam_aix_hittle
Member
Member
 
Messages: 54
Inscrit le: Ven 23 Fév 2007, 18:46


Retourner vers SQL Server

Qui est en ligne ?

Utilisateurs parcourant actuellement ce forum : Aucun utilisateur inscrit et 0 invités



Accueil | News | Articles | Tips | Outils | FAQ XP | Certification | Easters Eggs
Essentiels | Top Sites | Glossaire | Vidéos | Whitepapers | Essentiels | Boîte à Scripts
Conditions d'utilisation é Copyright | Respect de la vie privée