October 9, 2012 at 3:46 am
Hi All
I had a weird situation this morning
On one of my test systems, I tried running the following command to shrink my log file
DBCC shrinkfile(filename,1024)
I received this error
Could not locate file 'filename' for database 'database_name' in sys.database_files. The file either does not exist, or was dropped.
I checked and the file does exist.
I ran a full Consistency Check (DBCC CHECKDB) and that seems to have fixed the problem.
Has anyone else come across this before? Should I be worried?
Thanks
October 10, 2012 at 2:26 am
My guess is, you would be using wrong file name
-------Bhuvnesh----------
I work only to learn Sql Server...though my company pays me for getting their stuff done;-)
October 10, 2012 at 3:18 am
Use the following command:
SELECT file_id,name ,size/128.0 - CAST(FILEPROPERTY(name, 'SpaceUsed') AS int)/128.0 AS AvailableSpaceInMB
FROM sys.database_files;
after this command u will find the file id which has free space then run DBCC shrinkfile(file id)
March 24, 2017 at 12:59 am
I had this issue too, tried everything above but still got the error.
Database was called clientdatabase and the log file clientdatabase_log.
I managed to resolve it by renaming the logical name of the log file:
USE [clientdatabase];
ALTER DATABASE clientdatabase MODIFY FILE (NAME = clientdatabase_log, NEWNAME = clientdatabase_log_1);
GO
Re-running the original script for shrinking the transaction log (with new logical name) now worked.
I blogged about it here:
Viewing 4 posts - 1 through 3 (of 3 total)
You must be logged in to reply to this topic. Login to reply