创build创build数据库和表的SQL脚本
我有一个SQL数据库和表,我想在另一个SQL Server中复制。 我想创build一个SQL脚本,在一个脚本中创build数据库和表。
我可以使用SQL Management Studio为每个案例(数据库和表)创build“创build”脚本,但是我想知道是否将两个“创build”脚本合并到一个脚本中就足够了。
谢谢。
在SQL Server Management Studio中,您可以右键单击要复制的数据库,然后select“脚本数据库为”,以使该工具创build适当的SQL文件以在另一台服务器上复制该数据库。 您可以为要创build的每个表重复此过程,然后将这些文件合并到一个SQL文件中。 创build数据库之后但在任何表创build之前,请不要忘记添加using语句;)
虽然克莱顿的答案会让你(最终),在SQL2005 / 2008 / R2 / 2012中,你有一个更容易的select:
右键单击数据库,selectTasks
,然后Generate Scripts
,这将启动脚本向导。 这允许您生成一个单一的脚本,可以重新创build完整的数据库,包括表/索引和约束/存储过程/function/用户等。 您可以configuration多种选项来自定义输出,但其中大部分是自我解释的。
如果您对默认选项感到满意,则可以在几秒钟内完成整个工作。
如果你想重新创build数据库中的数据(作为一系列插入),我也推荐SSMS工具包 (免费的SQL 2008版本,付费的SQL 2012版本)。
在这里可以find一个很好的解释: 在SQL Server Management Studio中生成脚本
礼貌阿里Issa 这是你必须做的:
- 右键单击数据库(不是表格)并select任务 – >生成脚本
- 下一步 – >select请求的表/表(从select特定的数据库对象)
- 接下来 – >点击高级 – >types的数据脚本=模式和数据
如果你想创build一个只生成表的脚本(没有数据),你可以跳过高级部分的说明!
不知道为什么SSMS不考虑执行顺序,但它没有。 这对小型数据库不是问题,但是如果数据库有200个对象呢? 在这种情况下,执行顺序确实很重要,因为要完成所有这些并不容易。
对于由SSMS生成的无序脚本,您可以继续
a)执行脚本(一些对象将被插入一些不会,会有一些错误)
b)删除已添加到数据库的脚本中的所有对象
c)回到a),直到一切都被最终执行
另一种select是使用第三方工具,如ApexSQL脚本或本主题中已经提到的任何其他工具(SSMS工具包,红门等)。
所有这些都将照顾到你的依赖,并为你节省更多的时间。
是的,您可以根据需要将任意数量的SQL语句添加到单个脚本中。 只要注意一点:订单很重要。 在创build它之前,不能将其插入到表中; 在插入主键之前,您无法设置外键。
是的,创build数据库,然后创build表,然后插入数据,所有在一个脚本。 一直这样做