Dbcc shrinkfile funziona con file_id ma non con il nome logico
-
31-10-2019 - |
Domanda
Sto cercando di ridurre un file di database ma sto eseguendo errori.
Usando il file_id da sys.database_files
funziona, ma l'uso del nome del file logico produce un errore.
Il nome del file logico è lo stesso in entrambe le dichiarazioni, quindi non può essere il problema. Inoltre, il database a cui viene collegato, è lo stesso. Il seguente funziona come previsto:
declare @fileId as int = (select file_id from sys.database_files where name = 'XY')
DBCC SHRINKFILE (@fileId, 0, TRUNCATEONLY)
Tuttavia quanto segue ...
DBCC SHRINKFILE ('XY' , 0, TRUNCATEONLY)
... comporterà l'errore 8985:
MSG 8985, Livello 16, Stato 1, linea 1
Impossibile individuare il file "xy" per il database "u003Cmy database> 'In sys.database_files. Il file non esiste o è stato abbandonato.
Nessuna soluzione corretta
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a dba.stackexchange