脚本整个数据库SQL-Server

Pos*_*Guy 89 sql sql-server sql-server-2008

有没有办法从数据库中获取所有表,过程和其他对象的脚本?我知道有一个脚本数据库的选项,但它只给了我某种顶级脚本,当然不是创建所有表,procs,udfs,.etc的脚本.

Chr*_*sma 154

从Management Studio右键单击您的数据库.任务 - >生成脚本.

应该这样做.

  • 默认情况下,它不会编写数据脚本.在表/视图选项下,选择"脚本数据 - >真".另一个有用的选项是"Script Drop - > True" (7认同)
  • 另一种选择是使用SQL SMO并以编程方式编写脚本(即,如果需要常规脚本) (2认同)

Set*_*eno 12

我编写了一个名为SchemaZen的开源命令行实用程序来执行此操作.它比管理工作室的脚本快得多,它的输出更适合版本控制.它支持脚本化架构和数据.

要生成脚本运行:

schemazen.exe script --server localhost --database db --scriptDir c:\somedir

然后从脚本运行重新创建数据库:

schemazen.exe create --server localhost --database db --scriptDir c:\somedir

  • 天哪,这太快了,太棒了。 (2认同)