Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 2 [3]      все
 Re: какой наиболее оптимальный вариант выборки с удаленного сервера  [new]
a_voronin
Member

Откуда: Москва
Сообщений: 4804
В общем мораль сей басни такова.

Можно перекачивать и мердждить, через линкед сервера, но граблей много
1) Должны быть соответствующие права на всех серверах
2) Будет распределённая транзакция, она может вызывать дедлок с другой активностью на серверах
3) Будет нагрузка на темп и лог (но минимальное логирование вам поможет)
4) Надо следить за совместимостью collation
5) Нет мониторинга по прогрессу переданных строк (хотя в 2016 возможно есть)

В SSIS
1) Нет необходимости париться с безопасностью, если вы можете подсоединиться к каждому серверу по своему коннекшину, то дальнейших действий не надо
2) Нет необходимости в распределенной транзакции, однако если она нужна, её можно включить
3) При наличии индексов в источниках можно подать отсортированные данные (c ORDER BY) и мерджить их без особого расхода CPU и памяти в SSIS
4) Есть счётчика прогресса строк и логирование ошибок

Можно перекачивать, мерджить, трансформировать огромные объёмы через SSIS. Можно делать это инкриментально. Кто не знает как, учите матчасть.
29 май 15, 12:46    [17706057]     Ответить | Цитировать Сообщить модератору
 Re: какой наиболее оптимальный вариант выборки с удаленного сервера  [new]
o-o
Guest
a_voronin
В SSIS
1) Нет необходимости париться с безопасностью

т.е. я, не имея прав, используя SSIS, что угодно вычитаю?
29 май 15, 12:55    [17706095]     Ответить | Цитировать Сообщить модератору
 Re: какой наиболее оптимальный вариант выборки с удаленного сервера  [new]
Glory
Member

Откуда:
Сообщений: 104760
a_voronin
2) Будет распределённая транзакция, она может вызывать дедлок с другой активностью на серверах

Дедлоки вызывают не транзакции, а неправильные порядки блокирования и удержания объектов
И откуда вдруг сама по себе возьмется транзакция ?

a_voronin
1) Нет необходимости париться с безопасностью, если вы можете подсоединиться к каждому серверу по своему коннекшину, то дальнейших действий не надо

Т.е. не нужны "Должны быть соответствующие права на всех серверах " ?

a_voronin
Можно перекачивать, мерджить, трансформировать огромные объёмы через SSIS. Можно делать это инкриментально. Кто не знает как, учите матчасть.

Круто. Все деинсталируем SQLServer и переходим SSIS. Вкеь SSIS все умеет лучше SQLServer-а
29 май 15, 12:56    [17706100]     Ответить | Цитировать Сообщить модератору
 Re: какой наиболее оптимальный вариант выборки с удаленного сервера  [new]
invm
Member

Откуда: Москва
Сообщений: 9432
Glory
Все деинсталируем SQLServer и переходим SSIS
Нельзя. В SSIS еще нет In-Memory tables, Native compilation и Columnstore indexes.
29 май 15, 13:03    [17706124]     Ответить | Цитировать Сообщить модератору
 Re: какой наиболее оптимальный вариант выборки с удаленного сервера  [new]
Glory
Member

Откуда:
Сообщений: 104760
invm
Glory
Все деинсталируем SQLServer и переходим SSIS
Нельзя. В SSIS еще нет In-Memory tables, Native compilation и Columnstore indexes.

Ядумаю, что это все тщетные попытки SQLServer-а достичь уровня SSIS.
29 май 15, 13:05    [17706136]     Ответить | Цитировать Сообщить модератору
 Re: какой наиболее оптимальный вариант выборки с удаленного сервера  [new]
a_voronin
Member

Откуда: Москва
Сообщений: 4804
invm
Glory
Все деинсталируем SQLServer и переходим SSIS
Нельзя. В SSIS еще нет In-Memory tables, Native compilation и Columnstore indexes.


Как это нет. Всё есть. Причём ещё с 2005 версии.
29 май 15, 13:07    [17706141]     Ответить | Цитировать Сообщить модератору
 Re: какой наиболее оптимальный вариант выборки с удаленного сервера  [new]
a_voronin
Member

Откуда: Москва
Сообщений: 4804
o-o
a_voronin
В SSIS
1) Нет необходимости париться с безопасностью

т.е. я, не имея прав, используя SSIS, что угодно вычитаю?


С SSIS точно не потребуется настраивать kerberous, а вот с LinkedServer-ами только так.
29 май 15, 13:08    [17706146]     Ответить | Цитировать Сообщить модератору
 Re: какой наиболее оптимальный вариант выборки с удаленного сервера  [new]
a_voronin
Member

Откуда: Москва
Сообщений: 4804
Glory
a_voronin
1) Нет необходимости париться с безопасностью, если вы можете подсоединиться к каждому серверу по своему коннекшину, то дальнейших действий не надо

Т.е. не нужны "Должны быть соответствующие права на всех серверах " ?


Под SSIS вы можете подсоединиться к разным серверам, под разными учётками, а в случае с Linked вам придётся давать права на всех серверах одной учётке или прописывать логин пароль в самом линкед сервере. А если домены разные?
29 май 15, 13:11    [17706157]     Ответить | Цитировать Сообщить модератору
 Re: какой наиболее оптимальный вариант выборки с удаленного сервера  [new]
Glory
Member

Откуда:
Сообщений: 104760
a_voronin
Под SSIS вы можете подсоединиться к разным серверам, под разными учётками, а в случае с Linked вам придётся давать права на всех серверах одной учётке или прописывать логин пароль в самом линкед сервере. А если домены разные?

Остапа несло (с) 12ть стульев
29 май 15, 13:14    [17706173]     Ответить | Цитировать Сообщить модератору
 Re: какой наиболее оптимальный вариант выборки с удаленного сервера  [new]
a_voronin
Member

Откуда: Москва
Сообщений: 4804
Glory
a_voronin
Под SSIS вы можете подсоединиться к разным серверам, под разными учётками, а в случае с Linked вам придётся давать права на всех серверах одной учётке или прописывать логин пароль в самом линкед сервере. А если домены разные?

Остапа несло (с) 12ть стульев


Как бы Керберос кому чего не откусил
29 май 15, 13:34    [17706297]     Ответить | Цитировать Сообщить модератору
 Re: какой наиболее оптимальный вариант выборки с удаленного сервера  [new]
Glory
Member

Откуда:
Сообщений: 104760
a_voronin
Glory
пропущено...

Остапа несло (с) 12ть стульев


Как бы Керберос кому чего не откусил

Да все уже всё поняли.
Я уже лично заканчиваю деинсталяцию последнего MSSQL и уничтожаю последний его дистрибутив.
29 май 15, 13:35    [17706312]     Ответить | Цитировать Сообщить модератору
 Re: какой наиболее оптимальный вариант выборки с удаленного сервера  [new]
a_voronin
Member

Откуда: Москва
Сообщений: 4804
Glory
a_voronin
пропущено...


Как бы Керберос кому чего не откусил

Да все уже всё поняли.
Я уже лично заканчиваю деинсталяцию последнего MSSQL и уничтожаю последний его дистрибутив.


А я пока дистрибутив 2016 закачаю. А то тут чего-то все желают на 2000 работать.
29 май 15, 13:38    [17706330]     Ответить | Цитировать Сообщить модератору
 Re: какой наиболее оптимальный вариант выборки с удаленного сервера  [new]
Glory
Member

Откуда:
Сообщений: 104760
a_voronin
А я пока дистрибутив 2016 закачаю.

А зачем ? Есть же SSIS !
29 май 15, 13:39    [17706346]     Ответить | Цитировать Сообщить модератору
 Re: какой наиболее оптимальный вариант выборки с удаленного сервера  [new]
a_voronin
Member

Откуда: Москва
Сообщений: 4804
Glory
a_voronin
А я пока дистрибутив 2016 закачаю.

А зачем ? Есть же SSIS !


А к каким 12 стульям серверам он будет подключаться?
29 май 15, 13:41    [17706361]     Ответить | Цитировать Сообщить модератору
 Re: какой наиболее оптимальный вариант выборки с удаленного сервера  [new]
Glory
Member

Откуда:
Сообщений: 104760
a_voronin
Glory
пропущено...

А зачем ? Есть же SSIS !


А к каким 12 стульям серверам он будет подключаться?

Ни к каким. Все сам будет делать. Разве он может ?
29 май 15, 13:43    [17706376]     Ответить | Цитировать Сообщить модератору
 Re: какой наиболее оптимальный вариант выборки с удаленного сервера  [new]
Mind
Member

Откуда: Лучший город на Земле
Сообщений: 2322
Я тут вспомнил, как у нас один товарищ пару лет назад решил воспользоваться мощью SSIS для того чтобы делать JOIN-ы таблиц. При этим надо отметить, что таблицы все были на одном сервере и даже в одной БД. Но SSIS ведь круче чем Database Engine, так что в целях гипер-отпимизиции, он написал кучу простых, как ему казалось запросов, к базовым таблицам, ну и естественно с сортировкой + потом MERGE в SSIS. Я уж не знаю, насколько это стало быстрее работать (потому что просто один SELECT с JOIN-ами товарищ не потрудился написать, чтобы сравнить), но вот только при запуске несколких таких MERGE монстров, выполнение SSIS тупо зависало, да еще и не всегда, а периодически, что немного усложняло поиск проблемы.

Причина же зависаний была вполне банальна. Большое количество одновременных ресурсоемких запросов просто тупо резервировало всю память под сортировки на SQL Server-е, а остальным запросам при этом нужно было ждать ее освобождения. В итоге, если 1 DataFlow был завязан на 4 запроса и один из этих запросов впадал в спячку, то все вешалось намертво, потому что другие 3 запроса не отдавали память пока SSIS не завершится. И никакие буфера по 10000 в памяти тут не помогали, потому как пока запрос "выполняется" сессия память не отдает.
29 май 15, 19:13    [17708266]     Ответить | Цитировать Сообщить модератору
 Re: какой наиболее оптимальный вариант выборки с удаленного сервера  [new]
a_voronin
Member

Откуда: Москва
Сообщений: 4804
Mind
Я тут вспомнил, как у нас один товарищ пару лет назад решил воспользоваться мощью SSIS для того чтобы делать JOIN-ы таблиц. При этим надо отметить, что таблицы все были на одном сервере и даже в одной БД. Но SSIS ведь круче чем Database Engine, так что в целях гипер-отпимизиции, он написал кучу простых, как ему казалось запросов, к базовым таблицам, ну и естественно с сортировкой + потом MERGE в SSIS. Я уж не знаю, насколько это стало быстрее работать (потому что просто один SELECT с JOIN-ами товарищ не потрудился написать, чтобы сравнить), но вот только при запуске несколких таких MERGE монстров, выполнение SSIS тупо зависало, да еще и не всегда, а периодически, что немного усложняло поиск проблемы.

Причина же зависаний была вполне банальна. Большое количество одновременных ресурсоемких запросов просто тупо резервировало всю память под сортировки на SQL Server-е, а остальным запросам при этом нужно было ждать ее освобождения. В итоге, если 1 DataFlow был завязан на 4 запроса и один из этих запросов впадал в спячку, то все вешалось намертво, потому что другие 3 запроса не отдавали память пока SSIS не завершится. И никакие буфера по 10000 в памяти тут не помогали, потому как пока запрос "выполняется" сессия память не отдает.


А у нас вчера пара товарищей стали грузить пару сотен лямом строк через линкед сервера и дело это зависло на несколько часов.

При этом я 500 лямом спокойно промердживал минут за 30-40 . Так что смотрите.

Кстати тема и мои заявления относятся к удалённым серверам. И естественно джойнить таблицы локально через SSIS тем более без индексов, это чушь.

В любом случае -- действуете вы через динкед сервера или через SSIS наличие индексов играет свою роль в обоих случаях.
29 май 15, 19:51    [17708361]     Ответить | Цитировать Сообщить модератору
 Re: какой наиболее оптимальный вариант выборки с удаленного сервера  [new]
это интересно.
Guest
a_voronin
В любом случае -- действуете вы через динкед сервера или через SSIS наличие индексов играет свою роль в обоих случаях.

т.е. выборка это данных или это выборка данных не влияет на роль индексов?
29 май 15, 21:03    [17708561]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 2 [3]      все
Все форумы / Microsoft SQL Server Ответить