Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questo articolo illustra come risolvere il problema in cui un backup vss non componente, ad esempio ASR Agent, ha esito negativo per un server che ospita SQL Server 2008 R2.
Versione originale del prodotto: SQL Server 2008, SQL Server 2008 R2
Numero KB originale: 4504103
Sintomi
Si consideri lo scenario seguente:
- Si usa Microsoft SQL Server 2008 o SQL Server 2008 R2.
- Si avvia un backup vss non componente di un volume che ospita i file di SQL Server. Ad esempio, si usa Microsoft Azure Site Recovery Agent.
In questo caso, si noterà che il backup del Servizio Copia Shadow del database non riesce a causa di un errore SQLServerWriter anche se il log degli errori di SQL Server segnala un backup riuscito.
SQLServerWriter segnala il risultato seguente nell'output 'vssadmin list writer':
Nome writer: 'SqlServerWriter'
ID writer: {ID}
ID istanza writer: {ID}
Stato: [11] Non riuscito
Ultimo errore: Errore non riprovabile
Annotazioni
Lo stato o l'errore precedente è molto generico. Di conseguenza, non fornisce informazioni sufficienti per consentire di identificare in modo selettivo uno scenario specifico. Questa situazione è significativa nel contesto dei backup non componenti in SQL Server 2008 o R2.
Inoltre, una traccia SQLServerWriter segnala quanto segue:
[-,0x00c390:0xbb80:0x0eba42eb] sqlwriter.yukon\sqllib\FileName(LineNumber): FrozenDatabase::GetNextPartialInfo: VDI::GetCommand non riuscito con errore 0x8077000e
[-,0x00c390:0xbb80:0x0eba42eb] EXIT {DatabaseName::GetNextPartialInfo}: hr: 0x8077000e
[-,0x00c390:0xbb80:0x0eba42eb] sqlwriter.yukon\sqlwriter\FileName(LineNumber): CSqlWriter::P ickupDifferentialInfo: master del database dell'istanza del server CGLONCSQL01 non è riuscito ad enumerare le informazioni sui file. hr = 0x8077000e
[-,0x00c390:0xbb80:0x0eba42eb] sqlwriter.yukon\sqlwriter\FileName(LineNumber): CSqlWriter::P ickupDifferentialInfo: Throwing HRESULT code 0x8077000e. Codice HRESULT precedente = 0x8077000e
[-,0x00c390:0xbb80:0x0eba42eb] sqlwriter.yukon\sqlwriter\FileName(LineNumber): CSqlWriter::P ickupDifferentialInfo: HRESULT EXCEPTION CAUGHT: hr: 0x8077000e
[-,0x00c390:0xbb80:0x0eba42eb] EXIT {CSqlWriter::P ickupDifferentialInfo}: hr: 0x8077000e
[-,0x00c390:0xbb80:0x0eba42eb] sqlwriter.yukon\sqlwriter\FileName(LineNumber): STDMETHODCALLTYPE CSqlWriter::OnPostSnapshot: Impossibile recuperare informazioni sui file dai server di database. hr = 0x8077000e
[-,0x00c390:0xbb80:0x0eba42eb] sqlwriter.yukon\sqlwriter\FileName(LineNumber): CSqlWriter::OnPostSnapshot: Generazione del codice HRESULT 0x8077000e. Codice HRESULT precedente = 0x8077000e
[-,0x00c390:0xbb80:0x0eba42eb] sqlwriter.yukon\sqlwriter\FileName(LineNumber): METODO DI CHIAMATA INTERFACCIA CSqlWriter::OnPostSnapshot: ECCEZIONE HRESULT CATTURATA: hr: 0x8077000e
[-,0x00c390:0xbb80:0x0eba42eb] ENTER {Snapshot::~Snapshot}:
Soluzione
Non è disponibile alcuna correzione per SQL Server 2008 o SQL Server 2008 R2. Questo problema è stato risolto nella versione iniziale (RTM) di SQL Server 2012. Poiché SQLServerWriter è un componente condiviso, l'aggiornamento dei componenti condivisi con una versione principale successiva di SQL Server sostituisce SQL Server 2008 o SQL Server 2008 R2 SQLServerWriter con una versione più recente che contiene la correzione.
Nei casi in cui si verifica questo problema in SQL Server 2008 o SQL Server 2008 R2, è consigliabile installare un'edizione gratuita di una versione recente di SQL Server, ad esempio SQL Server Express Edition. (Vedere il Per altre informazioni , vedere la sezione relativa alla versione esatta da usare, a seconda della versione del sistema operativo. A tale scopo, selezionare Aggiorna funzionalità condivise solo nella pagina Seleziona istanza dell'installazione guidata di SQL Server Express.
Questo metodo aggiorna tutti i componenti condivisi alla versione di SQL Server in uso. Ciò significa che lo stesso servizio VSS Writer di SQL Server precedentemente in esecuzione nella versione 2008 o 2008 R2 del writer esegue ora la versione più recente di SQL Server da SQL Express. La versione più recente è compatibile con le versioni precedenti.
Questo metodo consente anche di installare gli aggiornamenti cumulativi di SQL Server rilevanti per la versione di aggiornamento di SQL Express. Ad esempio, è possibile installare gli aggiornamenti cumulativi di SQL Server 2014 o SQL Server 2017 per mantenere SQLServerWriter aggiornato in base alle esigenze. Per altre informazioni, vedere FIX: Backup di un database di SQL Server tramite un'applicazione di backup vss potrebbe non riuscire dopo l'installazione di SQL Server
Maggiori informazioni
SQL Server 2016 e SQL Server 2017 Express Edition richiedono Windows Server 2012 o versione successiva o Windows 8 o versione successiva.
Se si usa Windows Server 2008 o Windows Server 2008 R2 insieme a SQL Server 2008 o SQL Server 2008 R2, è possibile usare SQL Server 2014 Service Pack 3 (SP3) Express Edition per aggiornare i componenti condivisi: Scaricare Microsoft SQL Server 2014 SP3 Express.
Quando si aggiornano i componenti condivisi, tutti i componenti secondari vengono aggiornati oltre a SQLServerWriter. Ad esempio, Integration Services, Master Data Services (MDS), SQL Server Management Studio (SSMS), SQL Server Data Tools (SSDT) e la documentazione online di SQL Server.
Un'altra soluzione alternativa consiste nell'aggiornare i componenti condivisi ed evitare il problema consiste nell'installare un'istanza
dummy
di SQL Express di una versione principale successiva. Quando si installa una versione principale successiva dell'istanza di SQL Server, vengono aggiornati anche i componenti condivisi. In seguito è possibile disabilitare o disinstallare l'istanza fittizia. Tuttavia, l'approccio più pulito consiste nell'aggiornare i componenti condivisi.
Riferimenti
Informazioni sulla descrizione della terminologia standard usata per descrivere gli aggiornamenti software Microsoft.