Sintomi
Si supponga di voler ripristinare un database usando l'opzione SOSTITUISCi in SQL Server 2017. Se il FilePath contiene separatori di percorsi ridondanti in CREATE DATABASE, è possibile che vengano visualizzati messaggi di errore simili ai seguenti:
Msg 3634, livello 16, stato 1, riga lineNumber
Il sistema operativo ha restituito l'errore "32 (il processo non può accedere al file perché viene usato da un altro processo.)" durante il tentativo di "RestoreContainer:: ValidateTargetForCreation" in "FilePath \filename. mdf".
Msg 3156, livello 16, stato 8, riga lineNumber
Impossibile ripristinare il file "nomefile" in "FilePath \filename. mdf". Usare WITH MOVE per identificare un percorso valido per il file.
Msg 3634, livello 16, stato 1, riga lineNumber
Il sistema operativo ha restituito l'errore "32 (il processo non può accedere al file perché viene usato da un altro processo.)" durante il tentativo di "RestoreContainer:: ValidateTargetForCreation" in "FilePath \filename. ldf".
Msg 3156, livello 16, stato 8, riga lineNumber
Impossibile ripristinare il file "nomefile" in "FilePath \nomefile. ldf". Usare WITH MOVE per identificare un percorso valido per il file.
Msg 3119, livello 16, stato 1, riga lineNumber
I problemi sono stati identificati durante la pianificazione per l'istruzione RESTOre. I messaggi precedenti contengono dettagli.
Msg 3013, livello 16, stato 1, riga lineNumber
Il ripristino del DATABASE viene terminato in modo anomalo.
Soluzione alternativa
Viene visualizzato questo messaggio di errore quando si tenta di eseguire il ripristino con l'opzione SOSTITUISCi. Come soluzione alternativa, è possibile eliminare il database esistente e eseguire un ripristino.
Risoluzione
Questo problema è stato risolto con l'aggiornamento cumulativo seguente per SQL Server:
Ogni nuovo aggiornamento cumulativo per SQL Server contiene tutti gli hotfix e tutti gli aggiornamenti della sicurezza inclusi nell'aggiornamento cumulativo precedente. Vedere gli ultimi aggiornamenti cumulativi per SQL Server:
Ulteriori informazioni
Informazioni sul percorso non è il percorso della posizione di backup, ma è il percorso del file nell'intestazione di backup che può essere visualizzato solo con le intestazioni di ripristino. Per altre informazioni, vedere istruzioni per il ripristino-HEADERONLY (Transact-SQL). Ad esempio:
RESTORE HEADERONLY
FROM DISK = N'FilePath\FileName.bak'
WITH NOUNLOAD;
GO
Stato
Microsoft ha confermato che questo problema si verifica nei prodotti elencati nella sezione "Si applica a".
Riferimenti
Informazioni sulla terminologiautilizzata da Microsoft per descrivere gli aggiornamenti software.