Précédent   Forum des professionnels en informatique > Bases de données > MS SQL-Server > Administration
Administration Forum d'entraide sur l'administration du dataserver, via SSM ou ligne de commande, les tables système, ...
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 18/07/2007, 17h30   #1
Invité régulier
 
Inscription : avril 2004
Messages : 26
Détails du profil
Informations forums :
Inscription : avril 2004
Messages : 26
Points : 7
Points : 7
Envoyer un message via MSN à Sebastos
Par défaut Backup + montage de base en auto sur un autre server

Salut à tous,

je suis actuellement en stage et je dois mettre cette configuration en place :

Situation actuelle :
------------------
Serveur Win :
- SQL Serveur
- Logiciels divers


Situation en mettre en place :
-----------------------------
Serveur Win
- SQL Serveur
- Logiciels

Serveur Backup
- SQL Serveur
- Logiciels




Le serveur de Backup doit être la "copie" de l'autre, en cas de panne.
Ainsi, les bases doivent etre :
- Backup sur le serveur Win
- Déplacement sur le serveur Backup
- Remontage de la base sur le serveur Backup

J'insiste sur la fait que cela doit etre fait UNE FOIS PAS JOUR et pas en tremps réél.

Sauriez-vous comment faire, surtout pour remonter la base sur un autre serveur ...

MERCI D'AVANCE
Sebastos est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/07/2007, 22h11   #2
Membre régulier
 
Inscription : novembre 2006
Messages : 75
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 75
Points : 72
Points : 72
Utilise la réplication qui est disponible sous SQL Server.
Dans ton cas c'est assez simple tu peux te contenter d'utiliser des snaphots de la base.
tomttf est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/07/2007, 23h14   #3
Invité régulier
 
Inscription : avril 2004
Messages : 26
Détails du profil
Informations forums :
Inscription : avril 2004
Messages : 26
Points : 7
Points : 7
Envoyer un message via MSN à Sebastos
Pourrais-tu m'en dire plus ?

Comment le configurer ? Surtout la partie permettant de remonter la base sur un autre serveur ?

MERCI BCP
Sebastos est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/07/2007, 09h17   #4
Membre émérite
 
Homme Serge RUQUET
Consultant informatique
Inscription : août 2006
Messages : 669
Détails du profil
Informations personnelles :
Nom : Homme Serge RUQUET
Âge : 50
Localisation : France

Informations professionnelles :
Activité : Consultant informatique
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : août 2006
Messages : 669
Points : 840
Points : 840
sinon je te joins 2 script que j'exécute par un job tous les soirs. le 1° fait les backup, le 2° les restore => a faire dans le bon ordre

backup
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
USE Master
go
--drop table #BckDatabases
CREATE TABLE #BckDatabases (
  databasename sysname
)
SET nocount ON 
declare @BckPath varchar(255)
declare @Prefix varchar(50)
declare @Extension varchar(10)
/****************************/
/*       Paramétrage        */
/****************************/
SET @BckPath = 'chemin du backup'
SET @Prefix  = 'nom du serveur'+'_'
SET @Extension = '.bak'
IF (upper(@@servername) = 'nom du serveur')
begin 
  INSERT INTO #BckDatabases values('base1')
  INSERT INTO #BckDatabases values('base2')
end
/****************************/
PRINT ''
PRINT 'Liste des bases à Backuper :'
SELECT * FROM #BckDatabases
 
declare @CurrentDB sysname
declare @sql varchar(2000)
declare @fileName varchar(255)
 
SET nocount off
 
Declare curDB Cursor FOR
  SELECT databasename FROM #BckDatabases
 
open curDB
Fetch next FROM CurDB INTO @CurrentDB
while @@fetch_status = 0
begin
  SET @FileName = @bckPath +@Prefix +@CurrentDB + @Extension
  PRINT '===================================================================='
  PRINT '** '+@CurrentDB + ' Backup Started on '+Cast(GetDate() AS Varchar)
  SET @sql = 'BACKUP DATABASE '+@CurrentDB + ' TO DISK=N'''+@filename+''''
  print @sql
  exec (@sql)
  PRINT '** '+@CurrentDB + ' Backup Ended on '+Cast(GetDate() AS Varchar)
  PRINT '===================================================================='
  PRINT ''
  Fetch next FROM CurDB INTO @CurrentDB
end
deallocate CurDB
DROP TABLE #BckDatabases
restore
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
USE Master
go
CREATE TABLE #RstDatabases (
  databasename sysname
)
SET nocount ON 
declare @BckPath varchar(255)
declare @RstDATAPath varchar(255) 
declare @RstLogPath varchar(255) 
declare @BckPrefix varchar(50)
declare @BckExtension varchar(10)
/****************************/
/*       Paramétrage        */
/****************************/
SET @BckPrefix  = 'nom du serveur'+'_'  -- same Value than Backup Script
SET @BckExtension = '.bak' -- same Value than BAckup Script
SET @BckPath = 'chemin du backup' --Backup source Path where  backup are located
SET @RstDATAPath = 'C:\Mssql2k\MSSQL\Data\' --Restore Path For Data Files
Set @RstLOGPath  = 'C:\Mssql2k\MSSQL\DATA\' --Restore Path For Log Files
insert into #RstDatabases values('base1')
insert into #RstDatabases values('base2')
/****************************/
PRINT ''
PRINT 'Liste des bases à Restaurer :'
Select * from #RstDatabases
 
declare @CurrentDB sysname
declare @sql varchar(2000)
declare @bckfileName varchar(255)
declare @rstDataFileName varchar(255)
declare @rstLogFileName varchar(255)
declare @rstDataLogical varchar(255)
declare @rstLogLogical varchar(255)
 
Set nocount off
 
Declare curDB Cursor for
  Select databasename from #RstDatabases
 
open curDB
Fetch next from CurDB into @CurrentDB
while @@fetch_status = 0
begin
  set @rstDataLogical = 'nom logique base' # MDF file
  set @rstLogLogical  = 'nom logique log base' # LDF file
 
  Set @bckFileName     = @bckPath + @BckPrefix +@CurrentDB + @BckExtension
  Set @rstDataFileName = @RstDATAPath + @CurrentDB + '_DATA.mdf'
  Set @rstLogFileName  = @RstLOGPath + @CurrentDB + '_LOG.mdf'
 
  PRINT '===================================================================='
  PRINT '** '+@CurrentDB + ' Restore Started ON '+Cast(GetDate() as Varchar)
 
  PRINT ' Backup Source File : '+@bckFileName
  PRINT '   Logical DataFileName : ' + @rstDataLogical + char(9) + ' Moved TO : '+ @rstDataFileName
  PRINT '   Logical LogFileName  : ' + @rstLogLogical  + char(9) + ' Moved TO : '+ @rstLogFileName
  Set @sql = 'RESTORE DATABASE '+@CurrentDB + ' FROM DISK=N'''+@Bckfilename+''''
           +  ' WITH MOVE '''+@rstDataLogical+''' TO '''+ @rstDataFileName+''''
           +      ', MOVE '''+@rstLogLogical +''' TO '''+ @rstLogFileName+''''
           + ', REPLACE'  
  print @sql
  exec (@sql)
  PRINT '** '+@CurrentDB + ' Restore Ended ON '+Cast(GetDate() as Varchar)
nextDB:
  PRINT '===================================================================='
  PRINT ''
  Fetch next from CurDB into @CurrentDB
end
deallocate CurDB
drop table #RstDatabases
__________________
Errare humanum est, perseverare diabolicum (Sénèque)
serge0934 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/07/2007, 16h19   #5
Invité de passage
 
Inscription : mars 2006
Messages : 2
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 2
Points : 2
Points : 2
Je suis dans la même situation, c'est à dire je dois remonté un serveur en back up. J'aurai voulu le faire grâce à l'assistant de publication mais je n'y arrive pas. Je ne suis pas DBA SQL SERVER et je commence à n'en plus pouvoir, sql server m'a tuer !!

Quelqu'un aurait une méthodologie à suivre ? SVP.

MERCI d'avance.
calire est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/07/2007, 16h52   #6
Invité de passage
 
Inscription : mars 2006
Messages : 2
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 2
Points : 2
Points : 2
J'ai finalement résolu mon problème.

Le principe est simple on a une bdd source (publication) et une bdd de destination (abonné). On créé une publication dans Entreprise manager grâce à Nouveau - Publication... Le serveur SQL de publication peut être également le serveur de distribution de l'abonnement.

Une fois la publication crée, on créé un abonnement que va recevoir le serveur de destination

J'ai résolu mon problème de réplication grâce à ces liens là.

http://technet.microsoft.com/fr-fr/l.../ms151198.aspx
http://www.devarticles.com/c/a/SQL-S...-2000--Part-1/
http://fromelard.free.fr/Scripts/SQL...ionExpress.pdf
http://www.codeppc.com/evb/basededon...lce/sqlce3.htm

tomttf aurait pu être un peu plus précis...

Bon courage à ceux qui font une réplication pour la premiere fois.
calire est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/07/2007, 16h57   #7
Invité régulier
 
Inscription : avril 2004
Messages : 26
Détails du profil
Informations forums :
Inscription : avril 2004
Messages : 26
Points : 7
Points : 7
Envoyer un message via MSN à Sebastos
Merci à toi d'avoir répondu !

C'est super d'avoir des gens qui ne se contentent pas de lire (les casses noisettes si tu vois ce que je veux dire ...), sans ensuite partager la solution d'un pb !

Je n'ai qu'une chose à dire : Vive la clito sport !
Sebastos est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 03h44.


 
 
 
 
Partenaires

Hébergement Web