无法在SQL Server 2012中重命名逻辑文件名
我正在使用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
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否引号无所谓仍然失败