Как перенести данные?Источник: kbyte Немиро Алексей
Данный обзор посвящен переносу данных с одного сервера на другой с использованием утилиты DTSWizard, которая входит в состав MS SQL Server Management Studio™.
Собственно, перенести можно не только данные, но и просто структуру таблиц, и не только с одного сервера на другой, а откуда угодно и куда угодно.
Давным-давно (ну очень давно), работая с базами SQL 2005, я столкнулся с проблемой, когда мне нужно было полностью скопировать данные нескольких таблиц с одного сервера в такие же таблицы на другой сервер. Кто-то наверное будет смеяться, но таблицу, в которой содержалось чуть больше 1000 строк данных, я скопировал тупым нажатием клавиш Ctrl+C и Ctrl+V, копировалось все это дело минут 20, при этом, наглым образом сжирало трафик стоимостью в 1,75 рублей за мегабайт. Следующая таблица содержала уже около 10 000 строк данных, причем каждая строка весила порядка 100 Кб, естественно использовать выше описанный способ я не стал :). Но возник вопрос, как их скопировать? Писать скрипт копирования мне было лень, тем более, что я был уверен, что способ быстро все это скопировать с минимальными потерями трафика и времени должен быть. Я опросил весь свой контакт лист в аське, запостил сей вопрос на форумах, и ответ не заставил себя долго ждать. Все сходились в одном - в использовании утилиты DTSWizard.
Как я уже ранее говорил, утилита DTSWizard входит в состав MS SQL Server Management Studio™. Если же вы не являетесь счастливым обладателем этого продукта, то, даже и не знаю чем вам помочь. Яндекс (http://yandex.ru) по запросу DTSWizard.exe вообще не выдает никаких результатов (на 09.01.2007), а Гугл (http://google.ru), выдал ссылки на несколько англоязычных ресурсов. На сайте http://msdn.microsoft.com/vstudio/express/sql/download/ можно найти бесплатные урезанные версии MS SQL Server 2005™, в какую из них входит, и входит ли вообще, утилита DTSWizard, я сказать не могу.
Если же MS SQL Server Management Studio™ у вас есть, то найти утилиту DTSWizard можно в папке C:\Program Files\Microsoft SQL Server\90\DTS\Binn - файл DTSWizard.exe.
Копирование данных с одного сервера на другой
Запустите DTSWizard, нажмите Next (Далее), появится раздел Choose a Data Source (Выберите источник данных).
Рис. 1. Выбор источника данных
1. Укажите источник данных (Data Source).
2. Укажите адрес сервера (Server name), например sql.kbyte.ru. 3. Как правило, SQL-серверы используют SQL Server Authorization, выберите эту опцию и укажите имя пользователя (User name) и пароль (Password) доступа к серверу. 4. Выберете таблицу, если список таблиц не загрузился, воспользуйтесь кнопкой Refresh (Обновить).
Нажмите Next (Далее). Появится раздел Choose a Destination (Выбор точки назначения).
Рис. 2. Выбор точки назначения
Это окно точно такое же, как и предыдущее. Укажите адрес сервера (Server name), данные для доступа к серверу (User name и Password) и таблицу, в которую требуется скопировать данные. Обратите внимание, если у вас достаточно прав доступа, то вы можете создать новую таблицу, для этого воспользуйтесь кнопкой New (Создать). Заполнив необходимые данные, нажмите Next (Далее).
Появится раздел Specify Table Copy or Query (Параметры копирования).
Рис. 3. Параметры копирования
В этом разделе можно выбрать два варианта копирования:
1. Copy data from one or more tables views (Копировать данные из одной или более таблиц) - данная опция позволяет скопировать данные из одной или более таблиц, или всех таблиц.
2. Write a query to specify the data to transfer (Написать запрос переноса данных) - данная опция позволяет вам самостоятельно написать запрос копирования данных. Выберите наиболее понравившейся вам вариант (лично я предпочитаю первый) и нажмите Next (Далее).
Появится раздел Select Source Tables and Views (Выбор данных для копирования).
Рис. 4. Выбор данных для копирования
Выберите таблицы, который вы хотите скопировать. Если требуется назначить конечной таблице другое имя или изменить имена или формат полей, то воспользуйтесь кнопкой Edit (Правка), там же вы можете самостоятельно редактировать сам SQL-запрос. После выполнения необходимых настроек просто нажмите кнопку Finish (Выполнить) и данные будут скопированы. Если произойдет какая-нибудь ошибка, то мастер об этом сообщит.
Используя DTSWizard, вы можете скопировать данные откуда угодно и куда угодно. Например, со своего компьютера из базы MS Access в SQL Server, или наоборот. В общем, все зависит от вашей фантазии и потребностей.
Удачи!
|