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,该选项称为"脚本的数据类型",是"常规"部分中的最后一个选项。这些选项是"仅数据","模式和数据"和"仅模式"。 ")