【问题标题】:Creating a blank copy of a SQL Server 2012 database on the same Instance在同一实例上创建 SQL Server 2012 数据库的空白副本
【发布时间】:2014-10-10 22:41:37
【问题描述】:

我正在尝试确定创建 SQL Server 2012 数据库的空白副本、重命名并将其放置在同一服务器实例上的最佳方法。我可以恢复/重命名备份副本,然后删除所有数据,但是有很多表/视图、存储过程、触发器等。

“为数据库对象生成脚本”向导有什么缺点吗?只是想找出创建空白副本的最有效方法,并感谢任何人在该主题上的经验/智慧。

我正在运行 SQL Server 2012 企业版。我们有一个同事喜欢的数据库,因此我们计划创建一个副本并使用他们的数据而不是我们的数据填充。

【问题讨论】:

    标签: sql sql-server database sql-server-2012


    【解决方案1】:

    转到对象资源管理器,右键单击要为其创建空白副本的数据库。

    右键-->任务-->生成脚本

    选择整个数据库,您还可以选择特定对象,提前选项选择schema only

    我更喜欢这种方法而不是其他任何方法,因为恢复数据库副本然后删除数据意味着要做很多从一开始就不需要的工作。备份不需要的数据,恢复不需要的数据,最后让sql server删除,很多不必要的工作。

    脚本优于其他选项的另一个原因是,这些脚本将使用新页面来写入所有这些数据。想象一下,你必须在一个全新的笔记本上写一些东西,而你必须先擦除一个笔记本,然后用它在上面写数据。

    【讨论】:

    • 非常好 - 感谢您指出我可以在高级脚本选项中选择“仅模式”。笔记本的类比也很有帮助。我会在星期二试试这个并回来报告。
    • 我能够使用您建议的方法成功创建数据库的空白副本。我只是更改了数据库的名称,然后通过脚本查看是否调用了其他数据库。唯一的问题是我没有在高级选项中将“脚本触发器”设置为 True,所以我不得不返回并重新编写那些包含我们想要复制的触发器的表的脚本。谢谢!
    • 不客气,你现在可以接受答案了 :) 因为它对你有帮助
    猜你喜欢
    • 2014-04-25
    • 1970-01-01
    • 1970-01-01
    • 2013-03-03
    • 1970-01-01
    • 1970-01-01
    • 2012-11-18
    • 2014-02-05
    • 2014-03-23
    相关资源
    最近更新 更多