SQL Server 2005-以编程方式导出表(运行.SQL文件以重新生成它)
我有一个带有表的数据库,表中的客户有一些数据SQL Server 2005-以编程方式导出表(运行.SQL文件以重新生成它),sql,sql-server,sql-server-2005,database-table,Sql,Sql Server,Sql Server 2005,Database Table,我有一个带有表的数据库,表中的客户有一些数据 我办公室里还有一个数据库,所有东西都是一样的,但我的客户表是空的 我怎样才能在SQLServer2005(T-sql)中创建一个sql文件,从第一个数据库中获取表中的所有内容,创建一个,比如buildcustomers.sql,我压缩该文件,在网络上复制它,在我的SQLServer中执行它,瞧!我的餐桌客满了 如何对整个数据库执行相同操作?您始终可以将数据从Customers表导出到Excel文件,然后将该数据导入Customers表 要导入/导出
我办公室里还有一个数据库,所有东西都是一样的,但我的客户表是空的
我怎样才能在SQLServer2005(T-sql)中创建一个sql文件,从第一个数据库中获取表中的所有内容,创建一个,比如buildcustomers.sql,我压缩该文件,在网络上复制它,在我的SQLServer中执行它,瞧!我的餐桌客满了
如何对整个数据库执行相同操作?您始终可以将数据从Customers表导出到Excel文件,然后将该数据导入Customers表 要导入/导出数据,请执行以下操作:
如果两个数据库位于同一个SQL Server实例中,即使用相同的连接,则此SQL可能会有所帮助:
INSERT INTO [DestinationDB].[schema].[table] ([column])
SELECT [column] FROM [OriginDB].[schema].[table]
GO
将bcp
(从命令行)用于网络文件,然后将其还原
e、 g
- -N使用本机类型
- -不要使用受信任的连接
- -服务器名
非常快速且易于嵌入到代码中。(我已经围绕这个命令构建了一个数据库备份(还原)系统。此功能已经内置到Sql Server Management Studio 2008中 只需下载并只安装客户端工具(不会过期)。使用ManagementStudio 2008连接到您的2005数据库(向后兼容)
对于SQL server 2005中作为SQL脚本的数据导出器
我只想为Sql Server Management Studio 2008添加一些屏幕快照。使用前面描述的步骤是正确的。当您有“生成和发布脚本”->“设置脚本选项”时,请按“前进”查看脚本选项: ![在何处查找高级脚本选项]:图像丢失,因为我没有合适的声誉:( 对于Sql Server Management Studio 2008,包含数据的选项为“要编写脚本的数据类型”
![要编写脚本的数据类型]:图像丢失,因为我没有正确的声誉:(您可以查看以下文章,了解如何使用SQL Server本机工具和第三方工具来完成此操作: 免责声明:我作为支持工程师为ApexSQL工作
希望这有帮助哦,这太完美了。可编写脚本,灵活,支持良好,速度非常快。谢谢!另请参阅一个脚本,该脚本将为每个表生成一个调用bcp的批处理文件。这对我来说非常有用。不过,我建议使用-E修改导入命令以处理标识列,使用-q引用标识符。使用-E可以确保插入了正确的标识值。如何在多个表上执行?感谢您指出R2更改!其他人的问题:模式是默认值,如果您更改目标对象,它将重置为默认值。太棒了。这正是我所寻找的!这是一个很好的答案。值得注意的是,他们使用了它,而不是“脚本数据”设置为“True”您必须将“要编写的数据类型”设置为“Schema and data”仅供记录,Microsoft在这方面非常糟糕。他们提供了我所接触过的最糟糕的数据库工具和接口,我真的很同情任何不得不使用这种废话的人。说真的,我们必须“生成”而不是“导出”?值得注意的是,在SQL MGMT 2008中,选项屏幕上的“高级”按钮是数据的选项所在,您可以使用where子句运行scrip吗?昨天有一个关于这一点的讨论,最好的解决方案是。如果您使用的是Visual Studio 2008 Team Edition for Database Professionals,则可以通过一个简单的向导完成此操作:a另一种方法是使用Redgate优秀的SqlCompare工具来选择特定的表来编写数据脚本,尝试一下这对我来说不起作用。我使用了“从oldtablename选择*到newtablename”,如此线程所示()
bcp "SELECT * FROM CustomerTable" queryout "c:\temp\CustomerTable.bcp"
-N -S SOURCESERVERNAME -T
bcp TargetDatabaseTable in "c:\temp\CustomerTable.bcp" -N -S TARGETSERVERNAME -T