SQL Server 2005 – 以编程方式导出表(运行一个.sql文件来重build它)

我有一个数据库与表客户有一些数据

我在办公室有另一个数据库,一切都是一样的,但我的表客户是空的

如何在SQL Server 2005(T-SQL)中创build一个SQL文件,该文件从第一个数据库获取所有内容,创build一个buildcustomers.sql,然后压缩该文件,在networking中复制它,执行它在我的SQL Server和瞧! 我的桌子客户已满

我怎么能为整个数据库做同样的事情?

这个function已经内置到Sql Server Management Studio 2008中。

只需下载试用版并只安装客户端工具(不应过期)。 使用Management Studio 2008连接到您的2005数据库(向后兼容)。

  1. 右键点击你的数据库
  2. select任务 > 生成脚本
  3. 按下一步,再次select您的数据库
  4. 在“select脚本选项”屏幕上,有一个名为脚本数据的选项,它将为您的所有数据生成SQL插入语句。

(注意:对于SQL Server Management Studio 2008 R2,此选项被称为“脚本数据types”,是“常规”部分中的最后一个,选项为“仅数据”,“架构和数据”和“仅限架构“)

替代文字替代文字

使用bcp (从命令行)到联网的文件,然后恢复它。

例如

 bcp "SELECT * FROM CustomerTable" queryout "c:\temp\CustomerTable.bcp" -N -S SOURCESERVERNAME -T bcp TargetDatabaseTable in "c:\temp\CustomerTable.bcp" -N -S TARGETSERVERNAME -T 
  • -N使用本地types
  • -T使用可信连接
  • -S ServerName

在代码中embedded非常快速和容易。 (我已经build立了一个数据库备份(恢复)系统围绕这个命令。

您可以查看以下文章,了解如何使用SQL Server本机工具和第三方工具执行此操作: SQL Server批量复制和批量导入和导出技巧

免责声明:我作为支持工程师在ApexSQL工作

希望这可以帮助

您始终可以将Customers表中的数据导出到Excel文件,并将该数据导入到您的Customers表中。

导入/导出数据:

  1. 右键点击数据库
  2. 转到任务
  3. 转到导入数据导出数据
  4. 将数据源更改为Microsoft Excel
  5. 按照向导

如果两个数据库驻留在同一个SQL Server实例中,即使用相同的连接,则此SQL可能会有所帮助:

 INSERT INTO [DestinationDB].[schema].[table] ([column]) SELECT [column] FROM [OriginDB].[schema].[table] GO 

我只是想为Sql Server Management Studio 2008添加一些屏幕截图。使用前面描述的步骤是正确的。 当你有“生成和发布脚本” – >“设置脚本选项”,然后按高级来查看脚本选项:

![在哪里可以find高级脚本选项]:图片丢失,因为我没有正确的名誉:(

对于Sql Server Management Studio 2008,包含数据的选项是“脚本数据的types”

![数据types的脚本]:图像丢失,因为我没有正确的名誉:(