我正在重命名我的数据库,并使用旧名称创建数据库,显示数据库已经存在错误。
现在显示错误信息:
Msg 5170,级别16,状态1,行1
无法创建文件“C:\Program Files\Microsoft SQL Server\MSSQL10_50.EASYDIRECT\MSSQL\DATA\DATABASE1.mdf”,因为它已经存在。更改文件路径或文件名,然后重试操作。
Msg 1802,级别16,状态4,行1
创建数据库失败。列出的一些文件名无法创建。检查相关错误。
如何使用旧名称创建数据库?
use master
ALTER DATABASE DATABASE1
SET SINGLE_USER WITH ROLLBACK IMMEDIATE
ALTER DATABASE DATABASE1
MODIFY NAME = [DATABASE1_DELETED]
ALTER DATABASE DATABASE1_DELETED
SET MULTI_USER
现在查询已经正确执行并重命名了数据库,但我仍然想用旧名称创建数据库,像这样:
IF DB_ID('DATABASE1') IS NULL
CREATE DATABASE [DATABASE1]
现在显示错误信息:
Msg 5170,级别16,状态1,行1
无法创建文件“C:\Program Files\Microsoft SQL Server\MSSQL10_50.EASYDIRECT\MSSQL\DATA\DATABASE1.mdf”,因为它已经存在。更改文件路径或文件名,然后重试操作。
Msg 1802,级别16,状态4,行1
创建数据库失败。列出的一些文件名无法创建。检查相关错误。
如何使用旧名称创建数据库?
ALTER DATABASE...
只会重命名逻辑数据库名称,而物理文件仍然使用旧名称(database1.mdf
和database1.ldf
)。因此,你需要重命名 物理文件 或使用不同的文件名创建数据库。 - marc_s