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数据库(向后兼容)。
- 右键点击你的数据库
- select任务 > 生成脚本
- 按下一步,再次select您的数据库
- 在“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表中。
导入/导出数据:
- 右键点击数据库
- 转到任务
- 转到导入数据或导出数据
- 将数据源更改为Microsoft Excel
- 按照向导
如果两个数据库驻留在同一个SQL Server实例中,即使用相同的连接,则此SQL可能会有所帮助:
INSERT INTO [DestinationDB].[schema].[table] ([column]) SELECT [column] FROM [OriginDB].[schema].[table] GO
对于SQL Server 2005中的Data Expoer作为SQL脚本,
我只是想为Sql Server Management Studio 2008添加一些屏幕截图。使用前面描述的步骤是正确的。 当你有“生成和发布脚本” – >“设置脚本选项”,然后按高级来查看脚本选项:
![在哪里可以find高级脚本选项]:图片丢失,因为我没有正确的名誉:(
对于Sql Server Management Studio 2008,包含数据的选项是“脚本数据的types”
![数据types的脚本]:图像丢失,因为我没有正确的名誉:(