如何将 sql server 中所有数据的单个视图从一个数据库复制到另一个数据库?

Posted

技术标签:

【中文标题】如何将 sql server 中所有数据的单个视图从一个数据库复制到另一个数据库?【英文标题】:How to copy a single view with all the data on it in sql server from one database to another database? 【发布时间】:2014-03-31 01:28:15 【问题描述】:

我正在寻找一些想法,如果我们可以为一个视图生成一个脚本并在另一个数据库上运行它以创建其数据完整的视图。请帮忙,谢谢

【问题讨论】:

这两个数据库是在同一台服务器上还是在链接服务器上? 这两个数据库在两个不同的服务器上。谢谢 【参考方案1】:

如果您的目标服务器未与源链接,则获取此数据将需要更多步骤。我假设您只想从视图中传输数据,但可以将以下步骤应用于源表,从而不需要此视图实例化部分。

首先,由于视图不存储数据,它只引用数据,因此您需要将视图实例化为表。

Select *
INTO tblNewTable --this creates a new table from the data selected from the view
FROM dbTest.dbo.Tester;

接下来,打开 SSMS。右键单击数据库,选择tasks,然后选择generate scripts

然后选择新建的表,下一步

您需要选择advanced 并将“要脚本的数据类型”更改为schema and data。默认为schema only。选择下一步并完成。

SSMS 将导出文件,或使用代码加载新查询窗口以创建新表,但也将使用插入语句完全加载源服务器上的新表

【讨论】:

【参考方案2】:

以下举个例子

use dbNew;
go

create view dbo.ViewTest as
select * from dbTest.dbo.Tester;

【讨论】:

【参考方案3】:

以下代码将使用另一个表创建表。新表将包含前一个表的所有数据。

Select * into DBName1.SchemaName.NewTableName from DBName2.SchemaName.PreviousTableName

您可以使用此查询在任何数据库和架构中创建新表。

【讨论】:

以上是关于如何将 sql server 中所有数据的单个视图从一个数据库复制到另一个数据库?的主要内容,如果未能解决你的问题,请参考以下文章

SQL Server 数据库变成单个用户怎么办

SQL Server 数据库变成单个用户怎么办

如何在SQL Server的数据库中搜索字符串

SQL Server 2008 r2:如何检查所有视图的运行时错误?

在将数据聚合到视图中需要帮助 (SQL Server)

如何在 SQL Server 的单个批次中为列添加默认值并使用默认值更新所有行?