2010-12-15 63 views
8

我需要复制SQL Server数据库的内容(表,视图,过程,数据等)并将其复制到另一个SQL Server数据库。我需要完全在脚本中完成此操作,因为我无法将文件传送到目标Web服务器。使用Microsoft SQL Server Management Studio,我该如何做到这一点?复制整个数据库内容(模式和数据)

注意:我复制到的数据库将具有相同的名称并且是完全空的。

回答

13

您可以使用脚本SSMS

数据库架构和数据右键单击数据库。选择任务....然后选择生成SQL脚本。

指定所有对象。然后在选项菜单中选择底部以生成数据脚本。

下面是一些链接,将有助于

http://blog.sqlauthority.com/2007/08/21/sql-server-2005-create-script-to-copy-database-schema-and-all-the-objects-stored-procedure-functions-triggers-tables-views-constraints-and-all-other-database-objects/

http://blog.sqlauthority.com/2007/11/16/sql-server-2005-generate-script-with-data-from-database-database-publishing-wizard/

+0

尽管我对此进行了修改,但请仔细阅读您的脚本。在复杂的环境中,您可能会出现乱序功能等。 – iivel 2010-12-15 01:25:47

+2

@iivel ... SQL Server管理工作室中的注意事项“生成依赖对象的脚本”选项实际上可以很好地保持依赖对象的顺序。 – 2010-12-15 01:33:49

+0

我当然相信你,也是我认为你有正确答案的原因。也许这是我工作过的环境中的一件神器,它需要为每个对象分别编写脚本,但排序可能是“喜欢的”,它可以将喜欢的东西放在一起。我认为运行前总是值得一看。 – iivel 2010-12-15 01:44:25

3

可以备份数据库并还原到你喜欢的任何实例。由于我不喜欢发布“如何”,当我最初从其他地方了解到时 - 这里是描述该过程的MSDN。

http://msdn.microsoft.com/en-us/library/ms187048.aspx

这是我们如何在生产环境中做的事情。我们备份并恢复到其他实例。

+0

我需要完全在脚本中完成此操作,因为我无法将文件传送到目标Web服务器。 – 2010-12-15 01:36:07

+0

对不起,我完全错过了你的部分问题。我认为John Hartsock的回答应该照顾你的需求。 – iivel 2010-12-15 01:45:39