Скопируйте все представления со связанного сервера в новую базу данных. - PullRequest
0 голосов
/ 17 сентября 2018

В SQL Server Management Studio у меня есть объект сервера-> связанный сервер, на котором есть представления куба. Я пытаюсь сделать копию всех этих представлений и сохранить их в отдельной базе данных SQL на том же сервере, чтобы я мог подключиться к этим новым представлениям, используя такие вещи, как PowerBI и Power Query. Любые предложения относительно того, как я буду делать это? Я знаю, что могу написать отдельные запросы, такие как:

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


Однако на связанном сервере есть сотни просмотров, и это будет очень много времени. Спасибо,

Ответы [ 2 ]

0 голосов
/ 17 сентября 2018
SELECT
    'select ' + '* into ' + TABLE_NAME +  ' from ' + TABLE_CATALOG + '.' + TABLE_NAME

FROM
    INFORMATION_SCHEMA.TABLES
WHERE TABLE_TYPE = 'View'
0 голосов
/ 17 сентября 2018

Одним из возможных решений с использованием вашей первоначальной идеи написания отдельных запросов было бы заставить SQL писать запросы для вас.Запустите что-то вроде

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

Скопируйте результаты, вставьте в редактор и запустите.

Вы можете изменить запрос при необходимости.Я просто демонстрировал основную идею использования SQL для создания запроса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...