Как перенести таблицу из одной базы в другую ms sql
Перейти к содержимому

Как перенести таблицу из одной базы в другую ms sql

  • автор:

Копирование таблиц из одной базы данных в другую в SQL Server

У меня есть база данных под названием foo и база данных под названием bar. У меня есть таблица в foo под названием tblFoobar, которую я хочу переместить (данные и все) в панель базы данных из базы данных foo. Что такое оператор SQL для этого?

9 ответов:

на SQL Server? а на том же сервере баз данных? Используйте три части именования.

Это просто перемещает данные. Если вы хотите переместить определение таблицы (и другие атрибуты, такие как разрешения и индексы), вам придется сделать что-то еще.

задача SQL Server Management Studio «импорт данных» (щелкните правой кнопкой мыши на имени БД, затем задачи) сделает большую часть этого для вас. Запустите его из базы данных, которую вы хотите скопировать данные.

Если таблицы не существуют, он создаст их для вас, но вам, вероятно, придется воссоздать любые индексы и т. д. Если таблицы существуют, он будет добавлять новые данные по умолчанию, но вы можете настроить это (редактировать сопоставления), чтобы удалить все существующие данные.

Я использую это все время и это работает довольно хорошо.

Это должно работать:

Это не копировать константы, значения по умолчанию или индексы. Созданная таблица будет не есть кластеризованный индекс.

в качестве альтернативы вы могли бы:

Если таблица назначения существует и пуста.

Перенос объектов sql Server в новую базу данных Импортирование объектов из одной базы данных в другую

Ваша задача перенести часть объектов базы данных Northwindв новую базу данных. Для выполнения данной задачи необходимо сначала создать новую базу данныхNwind2.

Переключитесь в Enterprise Manager , выделите свой сервер, в меню TOOLSраскройте список мастеровWizard, и в рубрикеDataTransformationServiceвыберитеDTSImportWizard.

Введите данные в мастере, используя информацию, представленную в табл. 4.

Data Source and Destination (Источник и адресат данных)

Microsoft OLE DB Provider for SQL Server

Server Name (Имя сервера)

Security Context (Контекст защиты)

Database(База данных – источник)

Database(База данных – приемник)

TablecopyorQuery(копия таблицы или запрос)

CopyobjectsanddatabetweenSQLServerdatabases(Копирование объектов и данных из одной базы данных в другую)

Objects to Transfer (Объекты для передачи)

Очистить флажок Include all dependent objects

Очистить флажок Copy all objects

Таблица Orders

Таблица Order Details

Представление Order Subtotal

Представление Summary of Sales by Quarter

Представление Summary of Sales by Year

Usedefaultoptions(Использовать опции по умолчанию)

Очистить флажок Copy database users and database roles

Очистить флажок Copy object-level permissions

Очистить флажок Copy Triggers

Script File Directory (Каталог сценариев)

RunDTSImmediately(Запускать пакет немедленно)

Переключитесь в Query Analyzer. Выполните следующие команды для просмотра результата передачи в базу данных Nwind2.

Select * from information_schema.tables where table_type in (‘BASE TABLE’,’VIEW’)

Просмотрите содержание каталога сценариев

C:\MOC\2072a\Labfiles\L09\DB_xref. Откройте и просмотрите файлы типа .tab, используя Блокнот или Query Analyzer. Что за команды там находятся? В файлеcкаким расширением записано создание представлений в новой базе данных?

Экспорт файлов в текстовый файл

Ваша задача состоит в том, чтобы перекачать данные из таблицы Customersбазы данныхNorthwindв текстовый файл. Для этого воспользуйтесь мастеромDTSExportWizard. Введите информацию в соответствующих окнах мастера из табл.5.

Microsoft OLE DB Provider for SQL Server

Server Name (Имя сервера)

Security Context (Контекст защиты)

Database (База данных – источник)

Data Destination (Адресат данных)

Destination file name (Имя файла-адресата)

TablecopyorQuery(копия таблицы или запрос)

Use a query to specify the data to transfer (Использовать запрос для передачи данных)

Source Table(исходная таблица)

Selected Columns(выбранные поля)

Sorting order(порядок сортировки)

Все столбцы, кроме PhoneиFax

Customer.Country=’Argentina’ OR

Customer.Country=’Brazil’ OR

Customer.Country=’Venezuela’

SQL query statement

Select file format (формат файла)

Column delimiter(разделитель колонок)

RunDTSImmediately(Запускать пакет немедленно)

ScheduleDTSPackage(Создать расписание выполнениеDTS)

Recurring Job Schedule(расписание выполнения задания на периодической основе)

Как импортировать и экспортировать данные с SQL Server 2012

Мастер импорта и экспорта SQL Server позволяет легко импортировать информацию в базу данных SQL Server 2012 из любого из следующих источников данных:

  • Майкрософт Эксель
  • Microsoft Access
  • Плоские файлы
  • Другая база данных SQL Server

Мастер создает пакеты служб интеграции SQL Server (SSIS) через удобный графический интерфейс.

Запуск мастера импорта и экспорта SQL Server

Запустите мастер импорта и экспорта SQL Server непосредственно из меню Пуск в системе, в которой уже установлен SQL Server 2012. Кроме того, если вы уже используете SQL Server Management Studio, выполните следующие действия, чтобы запустить мастер:

Откройте SQL Server Management Studio .

Укажите сведения о сервере, которым вы хотите управлять, и соответствующее имя пользователя и пароль, если вы не используете проверку подлинности Windows.

Нажмите Подключиться , чтобы подключиться к серверу из SSMS.

Щелкните правой кнопкой мыши имя экземпляра базы данных, который вы хотите использовать, и выберите Импорт данных в меню Задачи .

Импорт данных в SQL Server 2012

Мастер импорта и экспорта SQL Server проведет вас через процесс импорта данных из любого из ваших существующих источников данных в базу данных SQL Server. В этом примере описывается процесс импорта контактной информации из Microsoft Excel в базу данных SQL Server, перенос данных из образца файла контактов Excel в новую таблицу базы данных SQL Server.

Откройте SQL Server Management Studio .

Укажите сведения о сервере, которым вы хотите управлять, и соответствующее имя пользователя и пароль, если вы не используете проверку подлинности Windows.

Нажмите Подключиться , чтобы подключиться к серверу из SSMS.

Щелкните правой кнопкой мыши имя экземпляра базы данных, который вы хотите использовать, и выберите Импорт данных в меню Задачи . Нажмите Далее .

Выберите Microsoft Excel в качестве источника данных (для этого примера).

Нажмите кнопку Обзор , найдите файл address.xls на своем компьютере и нажмите Открыть .

Убедитесь, что флажок Первая строка содержит имена столбцов . Нажмите Далее .

На экране Выберите место назначения выберите Собственный клиент SQL Server в качестве источника данных.

Выберите имя сервера, на который вы хотите импортировать данные, из раскрывающегося списка Имя сервера .

Проверьте информацию аутентификации и выберите параметры, соответствующие режиму аутентификации вашего SQL Server.

Выберите имя конкретной базы данных, в которую вы хотите импортировать данные, из раскрывающегося списка База данных . Нажмите Далее , затем снова нажмите Далее , чтобы принять параметр Копировать данные из одной или нескольких таблиц или представлений в Задать копию таблицы или Экран запросов .

В раскрывающемся списке Назначение выберите имя существующей таблицы в вашей базе данных или введите имя новой таблицы, которую вы хотите создать. В этом примере эта электронная таблица Excel использовалась для создания новой таблицы под названием «контакты». Нажмите Далее .

Нажмите кнопку Готово , чтобы перейти к экрану подтверждения.

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

Экспорт данных из SQL Server 2012

Мастер импорта и экспорта SQL Server проведет вас через процесс экспорта данных из базы данных SQL Server в любой поддерживаемый формат. В этом примере рассказывается, как взять контактную информацию, импортированную в предыдущем примере, и экспортировать ее в плоский файл.

Откройте SQL Server Management Studio .

Укажите сведения о сервере, которым вы хотите управлять, и соответствующее имя пользователя и пароль, если вы не используете проверку подлинности Windows.

Нажмите Подключиться , чтобы подключиться к серверу из SSMS.

Щелкните правой кнопкой мыши имя экземпляра базы данных, который вы хотите использовать, и выберите Экспорт данных в меню Задачи . Нажмите Далее .

Выберите Собственный клиент SQL Server в качестве источника данных.

Выберите имя сервера, с которого вы хотите экспортировать данные, в раскрывающемся списке Имя сервера .

Проверьте информацию аутентификации и выберите параметры, соответствующие режиму аутентификации вашего SQL Server.

Выберите имя конкретной базы данных, из которой вы хотите экспортировать данные, в раскрывающемся списке База данных . Нажмите Далее .

Выберите Назначение плоского файла в раскрывающемся списке Место назначения .

Укажите путь к файлу и имя, заканчивающееся на «.txt» в текстовом поле Имя файла (например, «C: \ Users \ mike \ Documents \ contacts.txt»). Нажмите Далее , затем Далее еще раз, чтобы принять параметр Копировать данные из одной или нескольких таблиц или представлений .

Нажмите Далее еще два раза, затем Готово , чтобы перейти к экрану подтверждения.

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

Microsoft SQL Server
Перемещение и копирование данных вокруг таблиц

Копирование данных в таблицу, создание этой таблицы на лету

Этот код выбирает данные из таблицы:

Этот код создает новую таблицу MyNewTable и помещает в нее эти данные

Перемещение данных в таблицу (при использовании метода уникальных ключей)

Чтобы перенести данные, вы сначала вставляете их в цель, а затем удаляете все, что вы вставили из исходной таблицы. Это не нормальная операция SQL, но она может быть просветляющей

Что вы вставляли? Обычно в базах данных необходимо иметь один или несколько столбцов, которые можно использовать для однозначной идентификации строк, поэтому мы будем предполагать это и использовать его.

Этот оператор выбирает некоторые строки

Сначала мы вставляем их в нашу целевую таблицу:

Теперь, предполагая, что записи в обеих таблицах уникальны в Key1 , Key2 , мы можем использовать это для поиска и удаления данных из исходной таблицы

Это будет работать только в том Key1 , если Key1 , Key2 уникальны в обеих таблицах

Наконец, мы не хотим, чтобы работа была выполнена наполовину. Если мы завершим это в транзакции, то либо все данные будут перемещены, либо ничего не произойдет. Это гарантирует, что мы не вставляем данные, а затем не можем удалить данные из источника.

Ezoic

report this ad

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *