在SQL Server Management Studio中,我有一个“服务器对象”->“链接服务器”,其中有多维数据集视图。我试图复制所有这些视图并将它们保存在同一服务器上的单独的SQL数据库中,以便可以使用PowerBI和Power Query之类的东西连接到这些新视图。关于我将如何执行此操作的任何建议?我知道我可以编写单个查询,例如:
Select * INTO [new_table] from [linked_server_view].[Table]
但是,链接服务器中有数百个视图,这将非常耗时。
谢谢,
答案 0 :(得分:1)
使用您编写单个查询的最初想法的一种可能的解决方案是使SQL为您编写查询。运行类似
SELECT 'select * into ' + name + ' FROM linkedserver.database.schema.' + name
FROM linkedserver.database.sys.views
复制结果,粘贴到编辑器中,然后运行。
您可以根据需要修改查询。我只是展示了使用SQL为您生成查询的基本思想。
答案 1 :(得分:0)
SELECT
'select ' + '* into ' + TABLE_NAME + ' from ' + TABLE_CATALOG + '.' + TABLE_NAME
FROM
INFORMATION_SCHEMA.TABLES
WHERE TABLE_TYPE = 'View'