无法在SQL Server 2012中重命名逻辑文件名

无法在SQL Server 2012中重命名逻辑文件名,sql,sql-server,Sql,Sql Server,我正在使用SQL server 2012,需要重命名数据库的逻辑文件名 如果我运行下面的代码,我会得到以下结果 SELECT * FROM ( -- OR select indented code to see all databases and perfrom the check manually SELECT d.Name as DBName, m.name as LogicalName, --m.physical_name, Left(Righ

我正在使用SQL server 2012,需要重命名数据库的逻辑文件名

如果我运行下面的代码,我会得到以下结果

 SELECT * FROM (
       --  OR select indented code to see all databases and perfrom the check manually
       SELECT d.Name as DBName, m.name as LogicalName, --m.physical_name,
       Left(Right(m.physical_name,Len(m.physical_name)-41),Len(m.physical_name)-45) as PhysicalFileName,
       recovery_model_desc as BackupType
       FROM sys.master_files m 
       inner join sys.databases d 
       ON (m.database_id = d.database_id) 
       WHERE d.database_id > 6

) as DatabaseData 
WHERE backuptype != 'Full'
or DBName != LogicalName and LogicalName != PhysicalFileName

逻辑文件名当前为“ExternalWebsiteDemo_log”,这是错误的,因此我运行了

ALTER DATABASE ExternalWebsite MODIFY FILE (NAME=N'ExternalWebsiteDemo_log', NEWNAME=N'ExternalWebsite_Log')
返回

修改文件失败。文件“ExternalWebsiteDemo\u日志”不存在


有什么想法吗?

我已经运行了测试,无法重现问题,请注意,我正在包括
使用MASTER

use master

select database_id
        ,DB_NAME(database_id) as DatabaseName
        ,name as FileLogicalName
from sys.master_files
where DB_NAME(database_id) = 'TestDb';

Alter database testdb modify file ( name ='TestDemoDb_log', NewNAME = 'TestDb_log')

select database_id
        ,DB_NAME(database_id) as DatabaseName
        ,name as FileLogicalName
from sys.master_files
where DB_NAME(database_id) = 'TestDb';

您是否先尝试使数据库脱机?在运行
ALTER database
时是否使用MASTER?否我没有使用MASTER否引号无所谓仍然失败