Discussione:
Retrocompatibilità file di backup
(troppo vecchio per rispondere)
Andrea
2006-01-02 19:08:02 UTC
Permalink
Che a voi risulti, un file generato da un 2000 può essere letto senza problemi,
oppure se dice che ci manca 1 file, ci manca realmente?

Ciao
Andrea
size
2006-01-02 19:13:01 UTC
Permalink
????spiegati meglio!!!!!
Post by Andrea
Che a voi risulti, un file generato da un 2000 può essere letto senza
problemi, oppure se dice che ci manca 1 file, ci manca realmente?
Ciao
Andrea
Andrea
2006-01-02 19:32:44 UTC
Permalink
File generato da un 2000 (sql server 2000 ovviamente, siamo su un ng di sql
server, dire che non si tratta di windows 2000 non credo ci sia bisogno).

File di backup = seleziono un database, tools, backup ... un file generato
con estenzione a tuo piacere ...

Importazione. Devo prendere questo file, generato dal 2000 e reimportalo.
Sulla macchina dove sono ho installato solo il 2005 e importando con il native
client mi dice che manca un file.

Domanda: si può importare oppure ci sono problemi di retrocompatibilità?

E' più chiaro ora?

Ciao
Andrea
Post by size
????spiegati meglio!!!!!
Post by Andrea
Che a voi risulti, un file generato da un 2000 può essere letto senza
problemi, oppure se dice che ci manca 1 file, ci manca realmente?
Ciao
Andre
Lorenzo Benaglia
2006-01-02 19:35:26 UTC
Permalink
Post by Andrea
Che a voi risulti, un file generato da un 2000 può essere letto senza
problemi, oppure se dice che ci manca 1 file, ci manca realmente?
Ciao Andrea,

essere letto senza problemi da chi?
Se ti riferisci a SQL Server 2005 la risposta è si: SQL Server 2005 è in
grado di effettuare un restore di un backup effettuato con SQL Server 2000.
Per maggiori info leggi il seguente post:
http://groups.google.com/group/microsoft.public.it.sql/msg/61a4850dd093ee33

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo
http://italy.mvps.org
size
2006-01-02 19:44:51 UTC
Permalink
Io ho fatto proprio così la migrazione da sql 2000 a sql 2005:
- backup da mmc di sql 2000
- restore da ide sql 2005

ps: non dare per scontato nulla quando ci spieghi i problemi che incontri
altrimenti non riusciamo a darti un aiuto ;-)
Andrea
2006-01-02 20:10:15 UTC
Permalink
Post by size
ps: non dare per scontato nulla quando ci spieghi i problemi che
incontri altrimenti non riusciamo a darti un aiuto ;-)
Beh davo solo per scontato il 2000 :))

Cia
Andrea
2006-01-02 20:12:03 UTC
Permalink
Non saprei che dire. Mi segnala, il restore, che gli manca un file. Purtroppo
però il backup non l'ho generato io, ma il provider di un cliente che deve
migrare la sua soluzione da me ... quindi ho le mani "legate" sull'origine
dei dati. Più che avergli detto di mandarmi un backup (ad un MCSD - peraltro)
non posso fare :) ... gli ho chiesto per un file pulito, shrinkato e ripaginato,
detacchato e zippato ... speriamo che vada meglio con il secondo tentantivo
:)

Ciao
ANdre
Lorenzo Benaglia
2006-01-02 20:19:08 UTC
Permalink
Post by Andrea
Non saprei che dire. Mi segnala, il restore, che gli manca un file.
Potresti riportare per filo e per segno il codice ed il messaggio d'errore
che ricevi?
Hai provveduto ad effettuare il RESTORE specificando la clausola WITH MOVE?
Post by Andrea
... gli ho chiesto per un file pulito,
shrinkato e ripaginato, detacchato e zippato ... speriamo che vada
meglio con il secondo tentantivo :)
Scommetto che si "dimenticherà" di mandarti il transaction log :-P

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo
http://italy.mvps.org
Andrea
2006-01-02 20:45:57 UTC
Permalink
Leggi l'altro messaggio, comunque no. Sto facendo il restore con la procedura
guidata.
Forse mi sà che devo provare a manina.

Mo provo.

Ciao
ANdrea
Andrea
2006-01-02 20:21:19 UTC
Permalink
Comunque ho riprovato ora con un attimo più di calma, e beh non funziona
lo stesso,
ma il messaggio preciso è il seguente:

Restore failed for <Server_Name>
Additional info:
System.Data.SqlClient.SqlError the media set has 2 families, but only 1
are (??? is) provided
All members must be provided.

Ne deduco che manca un file ... il nome file del databsae l'ho ricavato aprendo
con il notepad il
file di backup e presumo sia lo stesso dato al db, ma non penso che la tipologia
di problema sia legata
ne al nome db ne al nome file, piuttosto all'assenza di un file.

Avete altri suggerimenti per provare?

Per adesso ho provato con la procedura ad interfaccia, Non credo che andando
di sql a manina
posso risolvere qualcosa. O sbaglio?

Ciao
Andrea
Lorenzo Benaglia
2006-01-02 20:43:48 UTC
Permalink
Post by Andrea
Restore failed for <Server_Name>
System.Data.SqlClient.SqlError the media set has 2 families, but
only 1 are (??? is) provided
All members must be provided.
Ne deduco che manca un file ...
Questo errore sta ad indicare che il backup è stato effettuato su 2 file e
tu stai cercando di effettuare il restore da solo 1 di essi. Probabilmente
il cliente si è dimenticato di fornirti entrambi i files.

Ti puoi rendere conto tu stesso della cosa eseguendo un RESTORE LABELONLY:
ms-help://MS.SQLCC.v9/MS.SQLSVR.v9.en/tsqlref9/html/7cf0641e-0d55-4ffb-9500-ecd6ede85ae5.htm
Post by Andrea
il nome file del databsae l'ho
ricavato aprendo con il notepad
:-|
Esistono comandi ad-hoc come RESTORE HEADERONLY:
ms-help://MS.SQLCC.v9/MS.SQLSVR.v9.en/tsqlref9/html/4b88e98c-49c4-4388-ab0e-476cc956977c.htm
Post by Andrea
il file di backup e presumo sia lo stesso dato al db, ma non penso che
la tipologia di problema sia legata
ne al nome db ne al nome file, piuttosto all'assenza di un file.
Puoi assegnare il nome che vuoi al db in fase di restore!
Post by Andrea
Avete altri suggerimenti per provare?
No, devi farti consegnare entrambi i files che costituiscono il media set.

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo
http://italy.mvps.org
Andrea
2006-01-02 21:19:29 UTC
Permalink
Dentro uno di questi due comandi, c'è una colonna che dice di quanti file
dovrebbe essere composto il backup?
A prima vista non trovo da nessuna parte un 2 ... apparte per devicetype
il cui 2 corrisponde a Logical.
mentre un 102 a phisical ... cosa vuol dire esattamente?

Questo è quello che ho in header ... paro paro come sta scritto

DB_21032005 backup NULL 1 NULL 0 1 2 SQLSERVER\nicola SQLSERVER DB_21032005
539 2005-03-21 15:20:14.000 5728256 12000000087200001 12000000087400001 12000000087200003
12000000086400002 2006-01-02 18:29:47.000 2006-01-02 18:29:48.000 52 228
1033 196609 80 4608 8 0 760 SQLSERVER 0 B82ED310-33FA-45CE-BBDF-EBBE750FE3CD
2DD0C8DD-C7DF-49BB-998D-F3A6A2F01B8A SQL_Latin1_General_CP1_CI_AS 2DD0C8DD-C7DF-49BB-998D-F3A6A2F01B8A
0 0 0 0 0 0 0 0 0 0 2DD0C8DD-C7DF-49BB-998D-F3A6A2F01B8A NULL NULL NULL NULL
Database D5C8CBCB-282E-43BC-989A-96A4A365FDDE
Lorenzo Benaglia
2006-01-02 21:46:43 UTC
Permalink
Post by Andrea
Dentro uno di questi due comandi, c'è una colonna che dice di quanti
file dovrebbe essere composto il backup?
Si, la colonna FamilyCount restituita dal comando RESTORE LABELONLY.
Post by Andrea
A prima vista non trovo da nessuna parte un 2 ... apparte per
devicetype il cui 2 corrisponde a Logical.
mentre un 102 a phisical ... cosa vuol dire esattamente?
Un device logico si riferisca ad un device definito mediante la stored
procedure di sistema sp_addumpdevice, mentre un device fisico è un device
specificato mediante i comandi DISK o TAPE.

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo
http://italy.mvps.org
Andrea Montanari
2006-01-02 21:58:51 UTC
Permalink
Post by Andrea
Dentro uno di questi due comandi, c'è una colonna che dice di quanti
file dovrebbe essere composto il backup?
A prima vista non trovo da nessuna parte un 2 ... apparte per
devicetype il cui 2 corrisponde a Logical.
mentre un 102 a phisical ... cosa vuol dire esattamente?
Questo è quello che ho in header ... paro paro come sta scritto
DB_21032005 backup NULL 1 NULL 0 1 2 SQLSERVER\nicola SQLSERVER
DB_21032005 539 2005-03-21 15:20:14.000 5728256 12000000087200001
12000000087400001 12000000087200003 12000000086400002 2006-01-02
18:29:47.000 2006-01-02 18:29:48.000 52 228 1033 196609 80 4608 8 0
760 SQLSERVER 0 B82ED310-33FA-45CE-BBDF-EBBE750FE3CD
2DD0C8DD-C7DF-49BB-998D-F3A6A2F01B8A SQL_Latin1_General_CP1_CI_AS
2DD0C8DD-C7DF-49BB-998D-F3A6A2F01B8A 0 0 0 0 0 0 0 0 0 0
2DD0C8DD-C7DF-49BB-998D-F3A6A2F01B8A NULL NULL NULL NULL Database
D5C8CBCB-282E-43BC-989A-96A4A365FDDE
questo risultato da dove deriva?
se esegui le istruzioni
SET NOCOUNT ON
USE master
GO
PRINT 'backup database su 2 file'
BACKUP DATABASE pubs
TO DISK = 'c:\pubs.bak',
DISK= 'd:\pubs2.bak'

viene eseguito un backup che include 2 supporti, esplicitamente
'c:\pubs.bak' e 'd:\pubs2.bak'...
eseguendo
RESTORE LABELONLY FROM DISK = 'c:\pubs.bak'
RESTORE LABELONLY FROM DISK = 'd:\pubs2.bak'
vedrai nel risultato che la colonna MediaSetId non e' NULL, e quindi il set
comprende piu' di 1 gruppo di supporti... in questo caso sono necessari
tutti i componenti il backup set al fine di poter eseguire il restore del
database
la numerazione del componente all'interno del risutlato viene indicata dalla
colonna FamilySequenceNumber, dove FamilyCount indica il numero di
componenti
saluti
--
Andrea Montanari (Microsoft MVP - SQL Server)
http://www.asql.biz/DbaMgr.shtm http://italy.mvps.org
DbaMgr2k ver 0.16.0 - DbaMgr ver 0.61.0
(my vb6+sql-dmo little try to provide MS MSDE 1.0 and MSDE 2000 a visual
interface)
--------- remove DMO to reply
Andrea Montanari
2006-01-02 22:42:50 UTC
Permalink
per sapere quali file fisici costituiscono il backup set, puoi provare a far
eseguire su una macchina il cui database MSDB contenga tutta la backup
history l'istruzione
Post by Andrea Montanari
SET NOCOUNT ON
USE master
GO
PRINT 'backup database su 2 file'
BACKUP DATABASE pubs
TO DISK = 'c:\pubs.bak',
DISK= 'd:\pubs2.bak'
use msdb
SELECT DISTINCT family_sequence_number,f.device_type,
f.physical_device_name, f.logical_device_name
FROM backupmediafamily f, backupset b
WHERE b.database_name = N'pubs'
AND b.backup_finish_date = (SELECT MAX(backup_finish_date) FROM
backupmediafamily INNER JOIN backupset ON
backupmediafamily.media_set_id=backupset.media_set_id WHERE
backupset.database_name = N'pubs' AND (backupmediafamily.device_type=2 OR
backupmediafamily.device_type=102)) AND b.media_set_id = f.media_set_id

che genera il risultato
family_sequence_number device_type physical_device_name
logical_device_name
---------------------- ----------- ---------------------- -------------------
1 2 c:\pubsC.bak NULL
2 2 d:\pubsD.bak NULL

saluti
--
Andrea Montanari (Microsoft MVP - SQL Server)
http://www.asql.biz/DbaMgr.shtm http://italy.mvps.org
DbaMgr2k ver 0.16.0 - DbaMgr ver 0.61.0
(my vb6+sql-dmo little try to provide MS MSDE 1.0 and MSDE 2000 a visual
interface)
--------- remove DMO to reply
Andrea
2006-01-02 22:44:52 UTC
Permalink
Ok, grazie ad entrambe per i chiariment

Loading...