Как скопировать индексы от одной таблицы до другого в SQL Server

Похоже, тебе просто нужно:

SELECT
    p.paymentid,
    p.paymentdate,
    c1.name payment_customer,
    c2.name customer
FROM 
    payment p
    INNER JOIN customers c1 ON p.cust_id = c1.paymentcustid
    INNER JOIN customers c2 ON p.cust_id = c2.custid;
18
задан marc_s 28 September 2011 в 12:44
поделиться

4 ответа

Вы хотите скопировать Индексное определение?

Тогда можно перепроектировать индекс, триггеры и т.д. использование опции "Script" в Microsoft SQL Management tool

щелчок правой кнопкой Simply по имени таблицы в списке таблицы SQL Management Studio и выбрать "Таблицу сценария, поскольку" и затем "Создают к",

Вы не можете скопировать Индексные данные, поскольку это касается физического устройства хранения данных Индекса

Сначала проверка, что у Вас есть "Обозреватель объектов ИНСТРУМЕНТОВ/ОПЦИЙ/SQL SERVER/Scripting/Script Индексы" набор к "Истинному". Это имеет значение false в некоторой версии Инструмента управления SQL (спасибо Mark)

enter image description here

45
ответ дан 30 November 2019 в 06:09
поделиться

Я не специфически знаком с SQL Server, однако на основе способа, которым таблицы базы данных определяются и используются в других базах данных, я сказал бы, что нет никакого способа сделать это, просто копируя данные или используя ВЫБОР В.

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

единственный способ сделать это во время оператора CREATE TABLE при помощи оператора ALTER TABLE после того, как таблица была составлена.

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

я уверен, что были бы инструменты, доступные для генерации оператора ALTER TABLE для создания всех соответствующих индексов на основе таблицы, которую Вы уже имеете, помогая и надежный.

1
ответ дан 30 November 2019 в 06:09
поделиться

Вы могли создать сценарий с помощью информации в sysindexes (или sys.indexes в зависимости от версии) для воссоздания всех индексов, но использование Выбора * в подход также не собирается брать внешние и первичные ключи, или любой расширил proprties. Необходимо действительно изучить использование SSIS при использовании 2005 + версия или DTS, если Вы используете 2000, у обоих есть мастера для упрощения этого вида копии.

Экспорт Импорта SSIS

Экспорт Импорта DTS

1
ответ дан 30 November 2019 в 06:09
поделиться

Щелкните правой кнопкой по индексу в SSMS и действительно напишите сценарий, поскольку> создают.

Изменение имя таблицы и имя индекса и Вы должны быть установлены

1
ответ дан 30 November 2019 в 06:09
поделиться
Другие вопросы по тегам:

Похожие вопросы: