Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 BCP и computed field  [new]
flexgen
Member

Откуда: Город на песке
Сообщений: 765
Столкнулся со следующей проблемой: небходимо мигрировать данные из одной базы в другую, структура баз идентична кроме collation - базу-источник создали не с тем collation, что породило проблемы. Я создал новую пустую базу уже с правильным collation, и пробую перелить данные используя BCP. Все проходит нормально за исключением таблиц с computed fields - BCP эти поля игнорирует, соответственно я создал FMT-файл, в котором computed поля отсутствуют. Все вроде нормально, данные перегружаются только значения computed полей не пересчитываются. Я так понимаю что сначала надо перелить все данные изо всех таблиц а уж потом пересчитывать computed поля. Вопрос в том как инициировать пересчет полей, DBCC ... а что именно?

Версия сервера:
Microsoft SQL Server 2005 - 9.00.3077.00 (Intel X86) Dec 17 2008 15:19:45 Copyright (c) 1988-2005 Microsoft Corporation Enterprise Edition on Windows NT 5.2 (Build 3790: Service Pack 2)
22 июл 09, 17:19    [7446866]     Ответить | Цитировать Сообщить модератору
 Re: BCP и computed field  [new]
Glory
Member

Откуда:
Сообщений: 104760
Что то вы придумали.
Значения вычисляемых полей получаются, когда вы делаете запрос к таблице.
Они нигде не хранятся
22 июл 09, 17:22    [7446885]     Ответить | Цитировать Сообщить модератору
 Re: BCP и computed field  [new]
flexgen
Member

Откуда: Город на песке
Сообщений: 765
Glory,

Честное пионерское не вру, причем тип полей varchar(max), вот фрагмент create table для этих полей:
[unique_status]  AS ([dbo].[calculateTraceUniqueStatus]([trace_id],[test_id])),
[unique_status_group]  AS ([dbo].[calculateTraceUniqueStatusGroup]([trace_id],[test_id])),


К сообщению приложен файл. Размер - 0Kb
22 июл 09, 17:30    [7446939]     Ответить | Цитировать Сообщить модератору
 Re: BCP и computed field  [new]
Glory
Member

Откуда:
Сообщений: 104760
BOL - Computed Columns

Unless otherwise specified, computed columns are virtual columns that are not physically stored in the table. Their values are recalculated every time they are referenced in a query.

The SQL Server 2005 Database Engine uses the PERSISTED keyword in the CREATE TABLE and ALTER TABLE statements to physically store computed columns in the table. Their values are updated when any columns that are part of their calculation change.
22 июл 09, 17:32    [7446951]     Ответить | Цитировать Сообщить модератору
 Re: BCP и computed field  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74927
flexgen
Glory,

Честное пионерское не вру, причем тип полей varchar(max), вот фрагмент create table для этих полей:
[unique_status]  AS ([dbo].[calculateTraceUniqueStatus]([trace_id],[test_id])),
[unique_status_group]  AS ([dbo].[calculateTraceUniqueStatusGroup]([trace_id],[test_id])),


NULL указывает на свойство этого поля допускает оно значение NULL или не допускает, а на на то, что там значение NULL.
22 июл 09, 17:32    [7446952]     Ответить | Цитировать Сообщить модератору
 Re: BCP и computed field  [new]
flexgen
Member

Откуда: Город на песке
Сообщений: 765
flexgen,

Стоп, до меня дошло. Если в computed полях ничего не хранится а данные я вижу только во время выпонения запроса то мне надо просто перелить все данные из всех таблиц и при выполнении запросов к этой таблице я получу значения, которые будут вычислены.
22 июл 09, 17:34    [7446969]     Ответить | Цитировать Сообщить модератору
 Re: BCP и computed field  [new]
Glory
Member

Откуда:
Сообщений: 104760
flexgen
flexgen,

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

Мда уж. А как вы тогда проверяли это "данные перегружаются только значения computed полей не пересчитываются" ? Без запросов к таблицам что ли ?
22 июл 09, 17:36    [7446987]     Ответить | Цитировать Сообщить модератору
 Re: BCP и computed field  [new]
flexgen
Member

Откуда: Город на песке
Сообщений: 765
Glory,

Почему, с запросами. Я заливал данные только в эту таблицу, она самая большая, остальные оставил на потом, а именно в них находятся данные, которые используются для расчета. В общем, не с того конца начал. Спасибо за подсказку.
22 июл 09, 17:41    [7447029]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить