使用T-SQL使用.bak文件创建新数据库

时间:2014-04-07 08:21:22

标签: database sql-server-2008 tsql

我有一个场景,我需要创建一个包含一些预定义表的新数据库。这些结构将在.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文件创建新数据库的解决方案。任何解决方案都非常值得赞赏。

1 个答案:

答案 0 :(得分:3)

恢复通常可以防止意外覆盖使用其他数据库的数据库。如果RESTORE语句中指定的数据库已存在于当前服务器上,并且指定的数据库系列GUID与备份集中记录的数据库系列GUID不同,则不会还原该数据库。使用"替换"还原中的选项。如果您的文件位置不同,也请参阅移动选项。更多信息here