我有一个场景,我需要创建一个包含一些预定义表的新数据库。这些结构将在.bak文件中提供。我需要使用此.bak文件使用T-SQL查询创建新数据库。
我尝试使用create database query创建新数据库。
CREATE DATABASE newDataBase
当我尝试将此.bak文件还原到新创建的数据库时,它会抛出错误,例如此备份具有不同的数据库类型并且无法还原此数据库。
RESTORE DATABASE newDatabase
FROM DISK = 'c:\SkeletonDataBase\Skeleton.bak';
发生的错误是
消息3154,级别16,状态4,行1备份集包含a的备份 现有'newDatabase'数据库以外的数据库。消息3013,级别 16,状态1,第1行RESTORE DATABASE异常终止。
我想在不影响源的情况下将数据库还原到新数据库 数据库和它的文件(mdf和ldf)。请帮帮我。
我需要一些关于如何使用T-SQL使用.bak文件创建新数据库的解决方案。任何解决方案都非常值得赞赏。
答案 0 :(得分:3)
恢复通常可以防止意外覆盖使用其他数据库的数据库。如果RESTORE语句中指定的数据库已存在于当前服务器上,并且指定的数据库系列GUID与备份集中记录的数据库系列GUID不同,则不会还原该数据库。使用"替换"还原中的选项。如果您的文件位置不同,也请参阅移动选项。更多信息here。