Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Emergenza ripristino!!!

23 views
Skip to first unread message

Drizzt

unread,
Oct 13, 2006, 8:29:11 AM10/13/06
to
Problemone critico...


Ho un DB che periodicamente fa un backup differenziale.
Stamani gli utenti si sono accorti che mancano parte dei dati.


COME DIAVOLO LO RIPRISTINO UN BACKUP DIFFERENZIALE DEL DB X SENZA
RIPRISTINARLO SUL DB X???

Cioe'...probabilmente e' l'uso dell'enterprise manager che mi confonde.

Ho un db che si chiama SF.
Ha un backup sul file c:\sf.bak.
Il penultimo backup in quel file e' del DB intero.
L'ultimo (sempre su quel file) e' differenziale.


Quello che devo fare: ripristinare il db (quindi Intego +
Differenziale) su un secondo DB, in modo da poter passare i dati
mancanti da un db all'altro.

Non ci riesco.
Se sposto il file sf.bak su un'altro PC, l'EM non mi vede i
differenziali.
Se tento di ripristinare il differenziale su un'altro database, non
riesco.
Che faccio?
Suggerimenti?

Sandro Bizioli

unread,
Oct 13, 2006, 8:44:23 AM10/13/06
to
Il /13 ott 2006/, *Drizzt* ha scritto:


> COME DIAVOLO LO RIPRISTINO UN BACKUP DIFFERENZIALE DEL DB X SENZA
> RIPRISTINARLO SUL DB X???

L'istruzione è sempre quella: Restore database, specificando le
opzioni NORECOVERY e MOVE

> Cioe'...probabilmente e' l'uso dell'enterprise manager che mi
> confonde.

Se leggi questo ng troverai molti post che invitano a non usare EM.


ti invito a dare un'occhiata ai bol alla voce "restore database"
Più precisamente:

Come eseguire il ripristino dei file in una nuova posizione (Transact-
SQL)
howtosql.chm::/ht_7_backpc_2r3t.htm

Come ripristinare un backup differenziale del database (Transact-SQL)
howtosql.chm::/ht_7_backpc_18ah.htm

--
(Postate i comandi DDL per la creazione delle tabelle)
===================================
Sandro Bizioli
http://blogs.dotnethell.it/sandro/
===================================

Lorenzo Benaglia

unread,
Oct 13, 2006, 8:58:20 AM10/13/06
to
Drizzt wrote:
> COME DIAVOLO LO RIPRISTINO UN BACKUP DIFFERENZIALE DEL DB X SENZA
> RIPRISTINARLO SUL DB X???

Ciao Drizzt,

guarda questo esempio:

USE master;
GO

/* Creo il database myDB con la tabella dbo.Students */
CREATE DATABASE myDB;
GO

USE myDB;
GO

CREATE TABLE dbo.Students(
StudentID int NOT NULL IDENTITY PRIMARY KEY,
FirstName varchar(10) NOT NULL,
LastName varchar(10) NOT NULL
);
GO

INSERT dbo.Students VALUES('Lorenzo', 'Benaglia');
INSERT dbo.Students VALUES('Andrea', 'Montanari');
GO

/* Eseguo un full backup di myDB */
BACKUP DATABASE myDB
TO DISK = 'C:\myDB_Full.bck';
GO

/* Output:

Processed 176 pages for database 'myDB', file 'myDB' on file 1.
Processed 5 pages for database 'myDB', file 'myDB_log' on file 1.
BACKUP DATABASE successfully processed 181 pages in 0.456 seconds (3.247
MB/sec).

*/

/* Aggiungo altri studenti */
INSERT dbo.Students VALUES('Luca', 'Bianchi');
INSERT dbo.Students VALUES('Marcello', 'Poletti');
GO

/* Effettuo un backup differenziale di myDB */
BACKUP DATABASE myDB
TO DISK = 'C:\myDB_Diff.bck'
WITH DIFFERENTIAL;
GO

/* Output:

Processed 48 pages for database 'myDB', file 'myDB' on file 1.
Processed 2 pages for database 'myDB', file 'myDB_log' on file 1.
BACKUP DATABASE WITH DIFFERENTIAL successfully processed 50 pages in 0.196
seconds (2.053 MB/sec).

*/

/* Ripristino il full backup in un nuovo database */
RESTORE DATABASE myNewDB
FROM DISK = 'C:\myDB_Full.bck'
WITH
MOVE 'myDB' TO 'C:\myDB.mdf'
, MOVE 'myDB_log' TO 'C:\myDB_log.ldf'
, NORECOVERY;
GO

/* Output:

Processed 176 pages for database 'myNewDB', file 'myDB' on file 1.
Processed 5 pages for database 'myNewDB', file 'myDB_log' on file 1.
RESTORE DATABASE successfully processed 181 pages in 0.402 seconds (3.683
MB/sec).

*/

/* Ripristino il backup differenziale nel nuovo database */
RESTORE DATABASE myNewDB
FROM DISK = 'C:\myDB_Diff.bck'
WITH
MOVE 'myDB' TO 'C:\myDB.mdf'
, MOVE 'myDB_log' TO 'C:\myDB_log.ldf'
, RECOVERY;
GO

/* Output:

Processed 48 pages for database 'myNewDB', file 'myDB' on file 1.
Processed 2 pages for database 'myNewDB', file 'myDB_log' on file 1.
RESTORE DATABASE successfully processed 50 pages in 0.257 seconds (1.565
MB/sec).

*/

/* Verifica */
USE myNewDB;
GO

SELECT *
FROM dbo.Students;
GO

/* Output:

StudentID FirstName LastName
----------- ---------- ----------
1 Lorenzo Benaglia
2 Andrea Montanari
3 Luca Bianchi
4 Marcello Poletti

(4 row(s) affected)

*/

/* Pulizia */
USE master;
DROP DATABASE myDB, myNewDB;
!!DEL C:\myDB*.bck

Come vedi il discorso è veramente semplice: in fase di restore specifica il
nome del nuovo database e ricordati di ripristinare il full backup con
l'opzione NORECOVERY altrimenti non sarai in grado di applicare il
differenziale.

Tutti i dettagli sui Books Online:

"BACKUP (Transact-SQL)"
http://msdn2.microsoft.com/it-it/library/ms186865.aspx

"RESTORE (Transact-SQL)"
http://msdn2.microsoft.com/it-it/library/ms186858.aspx

Ciao!

--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo
http://italy.mvps.org


Marcello

unread,
Oct 13, 2006, 9:04:09 AM10/13/06
to
Lorenzo Benaglia ha scritto:

> /* Aggiungo altri studenti */
> INSERT dbo.Students VALUES('Luca', 'Bianchi');
> INSERT dbo.Students VALUES('Marcello', 'Poletti');
> GO

Altro che mvp, essere inserito in un tuo esempio!
Questo è più che un onore!

> Ciao!

marc.

--
Marcello Poletti
Dingo&Epomops


Microsoft MVP - SQL Server

http://www.dingoepomops.it
http://blogs.dotnethell.it/epomops/

Gabriele

unread,
Oct 15, 2006, 6:34:31 AM10/15/06
to

> guarda questo esempio:
>
> USE master;
> GO
>
queste istruzioni da dove si digitano?
Per chi ha SQL Server 2005 Express , attraverso quale interfaccia vengono
digitate
queste istruzioni ?

grazie e saluti


Marcello

unread,
Oct 15, 2006, 6:40:39 AM10/15/06
to
Gabriele ha scritto:

> queste istruzioni da dove si digitano?
> Per chi ha SQL Server 2005 Express , attraverso quale interfaccia vengono
> digitate
> queste istruzioni ?

Ciao Gabriele,
l'istallazione standard di SQL 2005 express non offre alcuno strumento
per interfacciarsi con SQL. Puoi tuttavia scaricare il SQL Studio
Management Studio Express alla pagina:
http://www.microsoft.com/downloads/details.aspx?familyid=C243A5AE-4BD1-4E3D-94B8-5A0F62BF7796&displaylang=it

tale strumento fonde le funzionalità dei vecchi Em e Qa e permette una
gestione completa e visuale di SQL Server Express

> grazie e saluti

marc.

--
Marcello Poletti
Dingo&Epomops


Microsoft MVP - SQL Server

http://www.dingoepomops.it
http://blogs.dotnethell.it/epomops/

VeroToad

unread,
Oct 15, 2006, 6:39:09 AM10/15/06
to
Il Sun, 15 Oct 2006 12:34:31 +0200, Gabriele ha scritto:

>> guarda questo esempio:
>>
>> USE master;
>> GO
>>
> queste istruzioni da dove si digitano?
> Per chi ha SQL Server 2005 Express , attraverso quale interfaccia vengono
> digitate

Apri il SQL Server Management Studio (Express) e clicca sul pulsante "New
Query" (sulla barra degli strumenti in alto a sinistra, secondo le
impostazioni di default).

Se non hai ancora installato questo software puoi scaricarlo gratuitamente
qui:

Microsoft SQL Server Management Studio Express
http://www.microsoft.com/downloads/details.aspx?FamilyID=c243a5ae-4bd1-4e3d-94b8-5a0f62bf7796&DisplayLang=en
(scegli la lingua che preferisci)

Spero ti sia utile
Ciao!

--
VeroToad
http://blogs.dotnethell.it/VeroToad/

Lorenzo Benaglia

unread,
Oct 15, 2006, 7:35:42 AM10/15/06
to
Marcello wrote:
> l'istallazione standard di SQL 2005 express non offre alcuno strumento
> per interfacciarsi con SQL.

Non proprio, viene installata l'utility command line sqlcmd.exe che permette
di eseguire tutti i comandi che vuoi ;-)

Ciao!

--
Lorenzo Benaglia


Microsoft MVP - SQL Server

http://blogs.dotnethell.it/lorenzo
http://italy.mvps.org


Marcello

unread,
Oct 15, 2006, 7:37:46 AM10/15/06
to
Lorenzo Benaglia ha scritto:

>> l'istallazione standard di SQL 2005 express non offre alcuno strumento
>> per interfacciarsi con SQL.
> Non proprio, viene installata l'utility command line sqlcmd.exe che permette
> di eseguire tutti i comandi che vuoi ;-)

Già, hai ragionissima, correggo:


l'istallazione standard di SQL 2005 express non offre alcuno strumento

visuale per interfacciarsi con SQL.

> Ciao!

marc.


--
Marcello Poletti
Dingo&Epomops


Microsoft MVP - SQL Server

http://www.dingoepomops.it
http://blogs.dotnethell.it/epomops/

0 new messages