【问题标题】:Copy all views from Linked Server into new database将链接服务器中的所有视图复制到新数据库中
【发布时间】:2018-09-17 15:34:38
【问题描述】:

在 SQL Server Management Studio 中,我有一个服务器对象-> 链接服务器,其中有多维数据集视图。我正在尝试复制所有这些视图并将它们保存在同一服务器上的单独 SQL 数据库中,以便我可以使用 PowerBI 和 Power Query 之类的东西连接到这些新视图。关于我将如何做这件事的任何建议?我知道我可以编写单独的查询,例如:

Select * INTO [new_table] from [linked_server_view].[Table]


但是,链接服务器中有数百个视图,这将非常耗时。 谢谢,

【问题讨论】:

  • 您可以通过 Schema Compare 将 Visual Studio 与 SSDT 项目一起使用吗?
  • 这不会复制视图,只会复制当前数据。

标签: sql sql-server tsql powerquery


【解决方案1】:

使用您编写单个查询的最初想法的一种可能的解决方案是让 SQL 为您编写查询。运行类似

SELECT 'select * into ' + name + ' FROM linkedserver.database.schema.' + name
FROM linkedserver.database.sys.views

复制结果,粘贴到编辑器中,然后运行。

您可以根据需要修改查询。我只是展示了使用 SQL 为您生成查询的基本思想。

【讨论】:

    【解决方案2】:
    SELECT
        'select ' + '* into ' + TABLE_NAME +  ' from ' + TABLE_CATALOG + '.' + TABLE_NAME
    
    FROM
        INFORMATION_SCHEMA.TABLES
    WHERE TABLE_TYPE = 'View'
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-06-27
      • 1970-01-01
      • 2016-09-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多