Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Microsoft SQL Server |
![]() ![]() |
Топик располагается на нескольких страницах: [1] 2 вперед Ctrl→ все |
scr120 Member Откуда: Сообщений: 4 |
Привет! Пожалуйста, подскажите как удобнее всего (MS SQL Server 2008) скопировать выборочно таблицы (с данными, индексами и прочим) из одной базы в другую? Спасибо! |
19 апр 11, 11:36 [10535151] Ответить | Цитировать Сообщить модератору |
Knyazev Alexey Member Откуда: Екб -> Мск Сообщений: 10234 Блог |
через Импорт/Экспорт |
19 апр 11, 11:40 [10535188] Ответить | Цитировать Сообщить модератору |
scr120 Member Откуда: Сообщений: 4 |
Спасибо, Алексей! Вот как раз так и пытаюсь это сделать. Но две таблицы никак не хотят перемещаться. Ошибки следующие: Error 0xc0202049: Data Flow Task 1: Failure inserting into the read-only column "id". (SQL Server Import and Export Wizard) Error 0xc0202045: Data Flow Task 1: Column metadata validation failed. (SQL Server Import and Export Wizard) Error 0xc004706b: Data Flow Task 1: "component "Destination - IncomeStParseFields" (31)" failed validation and returned validation status "VS_ISBROKEN". (SQL Server Import and Export Wizard) Error 0xc004700c: Data Flow Task 1: One or more component failed validation. (SQL Server Import and Export Wizard) Error 0xc0024107: Data Flow Task 1: There were errors during task validation. (SQL Server Import and Export Wizard) |
19 апр 11, 11:42 [10535202] Ответить | Цитировать Сообщить модератору |
pkarklin Member Откуда: Москва (Муром) Сообщений: 74925 |
Наверное, в них есть поля со свойством identity? |
19 апр 11, 11:52 [10535310] Ответить | Цитировать Сообщить модератору |
scr120 Member Откуда: Сообщений: 4 |
pkarklin, да :) как копировать такие таблицы? |
19 апр 11, 11:55 [10535343] Ответить | Цитировать Сообщить модератору |
Гадя Петрович Member Откуда: планета Плюк, 215 в тентуре, галактика Кин-дза-дза в Спирали Сообщений: 52912 |
set identity_insert table on set identity_insert table off |
||
19 апр 11, 11:57 [10535355] Ответить | Цитировать Сообщить модератору |
pkarklin Member Откуда: Москва (Муром) Сообщений: 74925 |
scr120, В мастере есть соответствующий крыжик на форме Edit Mappings... |
19 апр 11, 12:06 [10535437] Ответить | Цитировать Сообщить модератору |
scr120 Member Откуда: Сообщений: 4 |
Ребят, спасибо большое за помощь! крыжик решил проблему |
19 апр 11, 12:14 [10535479] Ответить | Цитировать Сообщить модератору |
Между сообщениями интервал более 1 года. |
sql_user2 Member Откуда: Сообщений: 382 |
А можно как-то запросом узнать в каких таблицах есть поле identity ? ПРосто очень неудобно когда несколько сотен таблиц, и каждой ставить "крыжик" после ошибки импорта. |
||
21 мар 17, 16:41 [20318430] Ответить | Цитировать Сообщить модератору |
sql_user2 Member Откуда: Сообщений: 382 |
Ну или мож для всех сразу можно указать? set identity_insert table on |
21 мар 17, 16:42 [20318440] Ответить | Цитировать Сообщить модератору |
sql_user2 Member Откуда: Сообщений: 382 |
EXEC sp_MSforeachtable "SET identity_insert ? on" вызывает ошибку для таблиц, в которых нет поля identity |
21 мар 17, 16:47 [20318463] Ответить | Цитировать Сообщить модератору |
MacaronicTragedy Member Откуда: Сообщений: 99 |
sql_user2,select object_name(object_id) as Obj, name as col from sys.columns where is_identity = 1 |
21 мар 17, 16:48 [20318465] Ответить | Цитировать Сообщить модератору |
sql_user2 Member Откуда: Сообщений: 382 |
А, вот оно как!!! а яищу в sys.types с name идентити Спасибо! |
||
21 мар 17, 16:51 [20318479] Ответить | Цитировать Сообщить модератору |
MacaronicTragedy Member Откуда: Сообщений: 99 |
sql_user2, вот так сразу скрипт можешь получить select N'SET IDENTITY_INSERT ' + QUOTENAME(SCHEMA_NAME(o.schema_id)) + N'.' + QUOTENAME(o.name) + N' ON;' from sys.columns c join sys.objects o on c.object_id = o.object_id where is_identity = 1 |
21 мар 17, 16:54 [20318495] Ответить | Цитировать Сообщить модератору |
Владислав Колосов Member Откуда: Сообщений: 8301 |
Справка для слабаков написна? :D |
||
21 мар 17, 16:56 [20318503] Ответить | Цитировать Сообщить модератору |
sql_user2 Member Откуда: Сообщений: 382 |
пригодится мож комуSELECT 'set identity_insert '+name+'on;' from sys.tables WHERE object_id IN (select object_id from sys.columns where is_identity = 1) |
21 мар 17, 16:56 [20318506] Ответить | Цитировать Сообщить модератору |
sql_user2 Member Откуда: Сообщений: 382 |
Да, круто! |
||
21 мар 17, 16:57 [20318508] Ответить | Цитировать Сообщить модератору |
TaPaK Member Откуда: Kiev Сообщений: 6801 |
это комедия |
||
21 мар 17, 16:57 [20318515] Ответить | Цитировать Сообщить модератору |
Ролг Хупин Member Откуда: Чебаркуль Сообщений: 3969 |
Вряд ли с ошибкой кому-то пригодится, разве что руки занять чем-то |
||
21 мар 17, 16:58 [20318519] Ответить | Цитировать Сообщить модератору |
TaPaK Member Откуда: Kiev Сообщений: 6801 |
Ролг Хупин,
это скрипт для еврейских таблиц :) |
||
21 мар 17, 17:03 [20318536] Ответить | Цитировать Сообщить модератору |
sql_user2 Member Откуда: Сообщений: 382 |
Скрипт сформировался, но на большинстве таблиц уже включено IDENTITY_INSERT и выдает обшибку. Может можно их как-то отфильтровать, те таблиц где уже включено? |
||
21 мар 17, 17:04 [20318538] Ответить | Цитировать Сообщить модератору |
sql_user2 Member Откуда: Сообщений: 382 |
вы считаете форумчан на столько тупыми что они не способны пробел поставить перед on? ![]() |
||||
21 мар 17, 17:06 [20318542] Ответить | Цитировать Сообщить модератору |
TaPaK Member Откуда: Kiev Сообщений: 6801 |
sql_user2, ну судя по тому что у тебя делать можно всё что хочешь - сделай всем OFF потом ON |
21 мар 17, 17:06 [20318544] Ответить | Цитировать Сообщить модератору |
MacaronicTragedy Member Откуда: Сообщений: 99 |
sql_user2, At any time, only one table in a session can have the IDENTITY_INSERT property set to ON. If a table already has this property set to ON, and a SET IDENTITY_INSERT ON statement is issued for another table, Microsoft® SQL Server™ returns an error message that states SET IDENTITY_INSERT is already ON and reports the table it is set ON for. https://msdn.microsoft.com/en-us/library/ms188059.aspx |
21 мар 17, 17:08 [20318553] Ответить | Цитировать Сообщить модератору |
sql_user2 Member Откуда: Сообщений: 382 |
ого, получается все крыжить мышью ![]() |
||
21 мар 17, 17:13 [20318570] Ответить | Цитировать Сообщить модератору |
Топик располагается на нескольких страницах: [1] 2 вперед Ctrl→ все |
Все форумы / Microsoft SQL Server | ![]() |