工作中经常碰到这种情况,新的项目要在原有项目的基础上修改,数据库也是如此。存放在本机中的旧的数据库只有一份,想要复制出另外的一份出来修改,并为复制的数据库改名。
步骤:
打开“企业管理器”找到 Old数据库--》右键--》所有任务--》分离数据库 然后找到Old_Data.mdf和Old_log.ldf把Old_Data换成你想要的名字例如New.mdf、New.ldf然后到企业管理器,找到 数据库 --》右键--》所有任务--》附加数据库--》在弹出的对话框里找到刚才你改名的文件New.mdf 这时您可以看到“原数据库文件名”“当前文件位置”,在“当前文件位置”前会有大红X,然后手动修改“当前文件位置”的路径里的文件名,改为New.MDF,New.LDF,大红X消失,“在附加为:”里边写上你想使用的数据库名New,"指定数据库所有者:"里写上这个数据库的所有者,这个如果写错了,以后很难改的(至少一般人觉得很难改)。OK搞定。
问题:
虽然现在的数据库文件名显示的是我们想要的“New”,但此时的逻辑文件名还没有修改,还是原来的那个“Old_Date”,打开企业管理器--》在这个数据库上点右键属性--》数据文件 下的当前数据库的位置路径前的 文件名 还是原来那个,事物日志文件 下的 文件名也还是以前的文件名,也就是说还没有彻底成功,所以我们还得按如下方法操作:工具--》SQL 查询分析器--》然后输入:
ALTER DATABASE OldDabaseName
MODIFY FILE(NAME='OldDabaseName_Data',NEWNAME='NewDabaseName_data')
go
ALTER DATABASE OldDabaseName
MODIFY FILE(NAME='OldDabaseName_Log',NEWNAME='NewDabaseName_Log')
GO