Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Microsoft SQL Server |
![]() ![]() |
abrashka Member Откуда: Сообщений: 517 |
День добрый! Есть не мало баз размером порядка 100-300Гб, часто программерам необходимо "поковыряться" в данных. Делать это напрямую у клиента как-то не очень... Тащить полный бекап, ресторить и т.п. тоже не совсем логично. В существующих базах большую часть объема занимают таблицы логов и еще всякие "бесполезные" данные. Поэтому возник вопрос сделать процесс, который может скопировать выбранные программером таблицы, чтоб их можно было легко перенести на тестовый сервер и восстановить на нем данные? Может есть какой-то готовый функционал или инструменты, которые могут справиться с задачей кроме как select * into... from ...? Речь идет о sql 2016 standard edition. Все данные находятся на одном партишине. Спасибо! |
4 июл 18, 12:27 [21542146] Ответить | Цитировать Сообщить модератору |
aleksrov Member Откуда: Сообщений: 948 |
abrashka, Мастер импорта\экспорта вам в помощь |
4 июл 18, 12:31 [21542161] Ответить | Цитировать Сообщить модератору |
Владислав Колосов Member Откуда: Сообщений: 8350 |
abrashka, Integration Services, создаете пакет, потом одним кликом данные скачиваете. Повозиться придется, конечно, ввиду внешних и автоключей скрипты отключения - включения создать в пакете. |
4 июл 18, 13:50 [21542444] Ответить | Цитировать Сообщить модератору |
abrashka Member Откуда: Сообщений: 517 |
Владислав Колосов, спасибо! Думал об этом, но на разных базах разные версии таблиц. Поэтому либо писать динамическое создание таблиц и их заполнение, либо... поэтому и хотелось бы другое решение, типа выборочного бэкапа и восстановления. |
4 июл 18, 14:54 [21542796] Ответить | Цитировать Сообщить модератору |
alexeyvg Member Откуда: Moscow Сообщений: 31783 |
Но самое простое - это всё таки предоставлять девелоперам копии баз, заодно и бакап будет проверяться. |
||
4 июл 18, 16:40 [21543355] Ответить | Цитировать Сообщить модератору |
abrashka Member Откуда: Сообщений: 517 |
alexeyvg, Ну имелось в виду, что названия таблиц которые нужно скопировать могут передаваться как параметр в процедуру. На данный момент так и делаем, перетаскиваем бэкапы, но ингода приходится тянуть 300 Гига через океан, чтоб посмотреть какую-то мелочь. |
4 июл 18, 16:52 [21543406] Ответить | Цитировать Сообщить модератору |
komrad Member Откуда: Сообщений: 5516 |
есть, называется batch file, t-sql & BCP OUT в батнике подключиться к сиквелу, выбрать список необходимых таблиц, для каждой вызвать подобную команду: bcp [Database].[dbo].[myTable] OUT X:\BCP_OUT\myTable.bcp -T -n выходные файлы заархивировать по необходимости. И, в финале, попросить отправить вам архив. |
||
4 июл 18, 18:15 [21543781] Ответить | Цитировать Сообщить модератору |
abrashka Member Откуда: Сообщений: 517 |
komrad, Спасибо! Буду пробовать |
4 июл 18, 18:20 [21543797] Ответить | Цитировать Сообщить модератору |
alexeyvg Member Откуда: Moscow Сообщений: 31783 |
Такой способ понятен, но человек же ищет такую штуку, что бы просто список таблиц передать, и опа, скопировано. |
||
5 июл 18, 09:53 [21544915] Ответить | Цитировать Сообщить модератору |
komrad Member Откуда: Сообщений: 5516 |
проблем не будет -T - это виндовая аутентификация -n - это бинарный формат
на мой взгляд, под такое описание попадает параметризированный батник с вызовом BCP внутри Примерно так:
|
|||||||||
5 июл 18, 10:45 [21545125] Ответить | Цитировать Сообщить модератору |
alexeyvg Member Откуда: Moscow Сообщений: 31783 |
Да, вот с -n, и последующей архивацией, я как раз передавал данные на другой сервер (в архивную базу), хороший способ.
|
||||||||
5 июл 18, 11:28 [21545303] Ответить | Цитировать Сообщить модератору |
Все форумы / Microsoft SQL Server | ![]() |