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

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

【问题讨论】:

  • 这两个数据库是在同一台服务器上还是在链接服务器上?
  • 这两个数据库在两个不同的服务器上。谢谢

标签: sql-server database view copy


【解决方案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
      

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2010-12-27
        • 1970-01-01
        • 1970-01-01
        • 2010-09-16
        • 1970-01-01
        • 1970-01-01
        • 2012-05-29
        • 2021-09-25
        相关资源
        最近更新 更多