【发布时间】:2014-03-31 01:28:15
【问题描述】:
我正在寻找一些想法,如果我们可以为一个视图生成一个脚本并在另一个数据库上运行它以创建其数据完整的视图。请帮忙,谢谢
【问题讨论】:
-
这两个数据库是在同一台服务器上还是在链接服务器上?
-
这两个数据库在两个不同的服务器上。谢谢
标签: sql-server database view copy
我正在寻找一些想法,如果我们可以为一个视图生成一个脚本并在另一个数据库上运行它以创建其数据完整的视图。请帮忙,谢谢
【问题讨论】:
标签: sql-server database view copy
如果您的目标服务器未与源链接,则获取此数据将需要更多步骤。我假设您只想从视图中传输数据,但可以将以下步骤应用于源表,从而不需要此视图实例化部分。
首先,由于视图不存储数据,它只引用数据,因此您需要将视图实例化为表。
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 将导出文件,或使用代码加载新查询窗口以创建新表,但也将使用插入语句完全加载源服务器上的新表
【讨论】:
以下举个例子
use dbNew;
go
create view dbo.ViewTest as
select * from dbTest.dbo.Tester;
【讨论】:
以下代码将使用另一个表创建表。新表将包含前一个表的所有数据。
Select * into DBName1.SchemaName.NewTableName from DBName2.SchemaName.PreviousTableName
您可以使用此查询在任何数据库和架构中创建新表。
【讨论】: