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?
> 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/
===================================
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
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/
grazie e saluti
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/
>> 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/
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
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/