我有一个Sql server 2008数据库
有什么方法可以创建新数据库并将现有数据库对象的架构复制到新创建的数据库使用 Sql 查询或存储过程
最佳答案
首先,您需要对要复制的数据库进行完整备份:
BACKUP DATABASE Database1
TO DISK = 'X:\FullPath\AdvWorksData.bak'
WITH FORMAT;
其中 X:\FullPath
是您可以备份到磁盘上的位置的完整路径。
接下来您需要创建新数据库(如果您还没有):
CREATE DATABASE Database2;
最后,您需要在该数据库的顶部进行恢复:
RESTORE FILELISTONLY
FROM Database1;
RESTORE DATABASE Database2
FROM Database1
WITH MOVE 'Database1_Data' TO 'X:\FullPath\Database2.mdf',
MOVE 'Database1_Log' TO 'X:\FullPath\Database2.ldf';
GO
其中 X:\FullPath
是第二个数据库文件所在位置的完整路径。
一些注意事项
MOVE 'Database1_Data'
和'Database1_Log'
是默认的逻辑 文件名。这些可以不同。您可以在数据库的属性下找到那些逻辑名称。'X:\FullPath\Database2.mdf'
和'X:\FullPath\Database2.ldf'
可能不在同一位置并且 可以不同于默认位置。您可以在数据库的属性下找到这些位置。
关于sql - 仅将 Sql Server 2008 数据库架构复制到同一台计算机上的另一个 Sql Server 2008 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17703775/