Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Как не повесить Sql Server при загрузке в таблицу базы нескольких гигабайт данных?  [new]
DaniilSeryi
Member

Откуда:
Сообщений: 1663
Дано: огромный текстовый файл на несколько гигабайт (не менее трёх) с соответствующим числом записей.

По условиям задачи должен использоваться SSIS пакет, при этом создаваемая на железо сервера и на конкретный экземпляр сервера не должна сжирать все ресурсы.
23 июн 18, 10:41    [21514935]     Ответить | Цитировать Сообщить модератору
 Re: Как не повесить Sql Server при загрузке в таблицу базы нескольких гигабайт данных?  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 7383
DaniilSeryi,

с чего Вы решили, что сожрёт? У вас экпресс редакция?
23 июн 18, 10:47    [21514943]     Ответить | Цитировать Сообщить модератору
 Re: Как не повесить Sql Server при загрузке в таблицу базы нескольких гигабайт данных?  [new]
vborets
Member

Откуда:
Сообщений: 164
DaniilSeryi,

Грузите частями...
23 июн 18, 11:32    [21514992]     Ответить | Цитировать Сообщить модератору
 Re: Как не повесить Sql Server при загрузке в таблицу базы нескольких гигабайт данных?  [new]
aleks222
Member

Откуда:
Сообщений: 847
DaniilSeryi
Дано: огромный текстовый файл на несколько гигабайт (не менее трёх) с соответствующим числом записей.

По условиям задачи должен использоваться SSIS пакет, при этом создаваемая на железо сервера и на конкретный экземпляр сервера не должна сжирать все ресурсы.


1. Не оглашен формат файла.
2. SSIS поставьте рядом - пускай стоит.
3. Один поток BULK INSERT ничего не сожрет.
4. Десяток потоков BULK INSERT упрутся, скорее всего, в диск.
5. Т.е. BCP.exe, BULK INSERT али sqlXmlBulkLoad - спасут.
23 июн 18, 13:52    [21515202]     Ответить | Цитировать Сообщить модератору
 Re: Как не повесить Sql Server при загрузке в таблицу базы нескольких гигабайт данных?  [new]
DaniilSeryi
Member

Откуда:
Сообщений: 1663
Владислав Колосов
DaniilSeryi,

с чего Вы решили, что сожрёт? У вас экпресс редакция?


Сервер не мой, 2008, Enterprise Edition, и есть подозрения, что и железо того же времени плюс минус два года. Точнее пока посмотреть не могу.

aleks222 - то есть, если нужен именно SSIS (зависит не от меня) - то или вызываю bcp через Execute Process Task, или использую Bulk Insert Task - которая по сути обёртка для bcp?

Формат файла - текстовый.

vborets - как именно?
23 июн 18, 21:59    [21515819]     Ответить | Цитировать Сообщить модератору
 Re: Как не повесить Sql Server при загрузке в таблицу базы нескольких гигабайт данных?  [new]
Ennor Tiegael
Member

Откуда:
Сообщений: 3141
3 гига - это ни о чем. Даже если на телефон заливать, все равно ни о чем. Ну, если это не Нокия 3310, конечно.

OLE DB Destination в режиме fast load + table lock и все нормально зальется. Узким местом будет точно не SSIS, скорее всего диск, ну или сеть, если участвует в процессе.
23 июн 18, 22:00    [21515822]     Ответить | Цитировать Сообщить модератору
 Re: Как не повесить Sql Server при загрузке в таблицу базы нескольких гигабайт данных?  [new]
DaniilSeryi
Member

Откуда:
Сообщений: 1663
Ennor Tiegael
3 гига - это ни о чем. Даже если на телефон заливать, все равно ни о чем. Ну, если это не Нокия 3310, конечно.

OLE DB Destination в режиме fast load + table lock и все нормально зальется. Узким местом будет точно не SSIS, скорее всего диск, ну или сеть, если участвует в процессе.


То есть, даже с вызовом bcp из пакета можно не заморачиваться? Хм... Спасибо.
23 июн 18, 22:21    [21515859]     Ответить | Цитировать Сообщить модератору
 Re: Как не повесить Sql Server при загрузке в таблицу базы нескольких гигабайт данных?  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 30711
DaniilSeryi
Ennor Tiegael
3 гига - это ни о чем. Даже если на телефон заливать, все равно ни о чем. Ну, если это не Нокия 3310, конечно.

OLE DB Destination в режиме fast load + table lock и все нормально зальется. Узким местом будет точно не SSIS, скорее всего диск, ну или сеть, если участвует в процессе.


То есть, даже с вызовом bcp из пакета можно не заморачиваться? Хм... Спасибо.
Да, с fast load + table lock будет быстро, размер действительно маленький.
23 июн 18, 22:59    [21515939]     Ответить | Цитировать Сообщить модератору
 Re: Как не повесить Sql Server при загрузке в таблицу базы нескольких гигабайт данных?  [new]
DaniilSeryi
Member

Откуда:
Сообщений: 1663
Всем спасибо за помощь, буду делать.
23 июн 18, 23:43    [21516003]     Ответить | Цитировать Сообщить модератору
 Re: Как не повесить Sql Server при загрузке в таблицу базы нескольких гигабайт данных?  [new]
aleks222
Member

Откуда:
Сообщений: 847
DaniilSeryi
Формат файла - текстовый.

Наивняк.
XML тоже текст.
24 июн 18, 09:51    [21516249]     Ответить | Цитировать Сообщить модератору
 Re: Как не повесить Sql Server при загрузке в таблицу базы нескольких гигабайт данных?  [new]
DaniilSeryi
Member

Откуда:
Сообщений: 1663
aleks222
DaniilSeryi
Формат файла - текстовый.

Наивняк.
XML тоже текст.


хех... спс.
24 июн 18, 13:57    [21516562]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить