SQL Server 2005-以编程方式导出表(运行.sql文件以重建表)
时间:2020-03-05 18:41:37 来源:igfitidea点击:
我有一个带有表的数据库客户有一些数据
我在办公室中有另一个数据库,所有数据库都是一样的,但是我的表Customers是空的
我如何在SQL Server 2005(T-SQL)中创建一个sql文件,该文件将表中的所有内容从第一个数据库中提取客户,创建一个(例如,buildcustomers.sql),我将该文件压缩,在网络上复制,执行它在我的SQL Server中,瞧!我的桌子上的顾客已满
如何为整个数据库做同样的事情?
解决方案
回答
我们始终可以将数据从"客户"表中导出到Excel文件中,然后将其导入到"客户"表中。
导入/导出数据:
- 右键单击数据库
- 转到任务
- 转到导入数据或者导出数据
- 将数据源更改为Microsoft Excel
- 跟随向导
回答
如果两个数据库都驻留在相同的SQL Server实例中,即使用相同的连接,则此SQL可能会有所帮助:
INSERT INTO [DestinationDB].[schema].[table] ([column]) SELECT [column] FROM [OriginDB].[schema].[table] GO
回答
使用" 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使用本机类型
- -T使用受信任的连接
- -S服务器名
非常快速,容易地嵌入到代码中。 (我已围绕此命令构建了数据库备份(还原)系统。
回答
此功能已内置在Sql Server Management Studio 2008中。
只需下载试用版,然后仅安装客户端工具(不应过期)即可。使用Management Studio 2008连接到2005数据库(其向后兼容)。
- 右键单击数据库
- 选择"任务">"生成脚本"
- 按下一步,再次选择数据库
- 在"选择脚本选项"屏幕上,有一个名为"脚本数据"的选项,它将为所有数据生成SQL插入语句。
(注意:对于SQL Server Management Studio 2008 R2,该选项称为"脚本的数据类型",是"常规"部分中的最后一个选项。这些选项是"仅数据","模式和数据"和"仅模式"。 ")