53

我有一个带有表客户的数据库,其中包含一些数据

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

的 如何在 SQL Server 2005 (T-SQL) 中创建一个包含所有数据的 sql 文件在第一个数据库的客户表上,创建一个,比如说,buildcustomers.sql,我压缩该文件,通过网络复制它,在我的 SQL Server 中执行它,瞧!我的表客户已满

我怎样才能对整个数据库做同样的事情?

4

7 回答 7

76

此功能已内置到 Sql Server Management Studio 2008 中。

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

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

(注意:对于 SQL Server Management Studio 2008 R2,该选项名为“Types of data to script”,是 General 部分的最后一个选项。选项为“data only”、“schema and data”和“schema only ")

替代文字 替代文字

于 2009-07-16T05:22:37.157 回答
26

使用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 服务器名

非常快速且易于嵌入代码中。(我已经围绕这个命令构建了一个数据库备份(恢复)系统。

于 2008-10-23T08:31:46.667 回答
22

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

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

希望这可以帮助

于 2014-06-30T14:06:47.943 回答
1

您始终可以将数据从客户表导出到 Excel 文件,然后将该数据导入到客户表中。

导入/导出数据:

  1. 右键单击数据库
  2. 前往任务
  3. 转到导入数据导出数据
  4. 将数据源更改为Microsoft Excel
  5. 按照向导
于 2008-08-21T16:06:31.413 回答
0

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

INSERT INTO [DestinationDB].[schema].[table] ([column])
SELECT [column] FROM [OriginDB].[schema].[table]
GO
于 2008-10-23T07:58:35.000 回答
0

对于 SQL server 2005 中作为 SQL 脚本的 Data Expoer,

http://blog.sqlauthority.com/2007/11/16/sql-server-2005-generate-script-with-data-from-database-database-publishing-wizard/

于 2013-07-09T15:55:37.447 回答
0

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

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

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

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

于 2013-07-11T06:26:48.507 回答