Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Kak vibrat tolko novie dannie / 16 сообщений из 16, страница 1 из 1
02.04.2002, 00:53
    #32026689
Lena
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Kak vibrat tolko novie dannie
Zdravstvuite, u menia takaia problema:
Est dve DB, sidiashie na raznih serverah. Tak vot v odnu iz nih postoianno v techenii dnia i nochi idut dannie ot clientov (oni prisilaut tipa otchetov). A raz v nedelu mne nuzno perregoniat eti dannie v druguu DB. Sechas eto rabotaet tak, chto peregoniaet vse dannie iz odnoi v druguu. No eto mne kazetsia ne pravilno, tem bolee chto razmeri ogromnie i budut prodolzat rasti. Vopros v sleduushem, mozno li kak-to otobrat tolko dannie za poslednuu nedelu? A sloznost v tom chto Po date nelzia, t.k eti otcheti oni shlut kak popalo, t. odin shlet za 1.04.2002, a frugoi za 1.12.2002 i t.d.

Esli est kakie nibud soobrazenia, budu blagodarna.

P.S. Izvinite za bukvi u menia net russkogo keyborda.
...
Рейтинг: 0 / 0
02.04.2002, 06:15
    #32026706
GreenSunrise
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Kak vibrat tolko novie dannie
Завести дополнительное поле - дата поступления в вашу базу. Оно никак не будет связано с датой отчета и проще, если оно будет заполняться триггером.
...
Рейтинг: 0 / 0
02.04.2002, 06:21
    #32026708
AlexanderVS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Kak vibrat tolko novie dannie
Можно добавить в таблицы поле типа байт или даже бит, при добавлении новых записей туда записываем по умолчанию - 0, при выгрузке данных в другую базу в это поле пишем - 1. При следующей выгрузке - берем только те записи, где наше поле = 0 (не забывая записать туда 1).
Вместо чисел можно использовать дату/время и выгружать данные во вторую базу сделанные позже какой-то контрольной даты.
...
Рейтинг: 0 / 0
02.04.2002, 07:38
    #32026730
qwerty
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Kak vibrat tolko novie dannie
доп поле с default getdate()
...
Рейтинг: 0 / 0
02.04.2002, 07:44
    #32026731
Lena
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Kak vibrat tolko novie dannie
Spasibo za soveti.
Tolko ne poniala (iz vtorogo soobshenia) kak ia uznau chto data vigruzilas iz tablici, ved ee ne nuzno udaliat t.e trigger na "delete" "update" ne podhodit?

I eshe kak trigger povliaet na skorost (trigger kotorii budet pri zapolnenii novih dannih ih "markirovat" datoi ili bitom?
...
Рейтинг: 0 / 0
02.04.2002, 08:33
    #32026737
AlexanderVS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Kak vibrat tolko novie dannie
Триггер обновляющий одно поле и срабатывающий только при инсерте - не внесет доп. тормозов (мне так кажется)
А насчет даты: надо просто знать когда проводилась последняя синхронизацияя, и брать данные после нее.

PS триггер не обязателен (если строки не обновляются), достаточно снять флаг allow nulls и поставить default значение get_date()
...
Рейтинг: 0 / 0
02.04.2002, 08:58
    #32026748
Roma25
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Kak vibrat tolko novie dannie
Еще можно установить репликацию. Это же классический случай: несколько серверов и одна БД. Тем более это избавит тебя от выгрузки и загрузки данных (все будет происходить автоматически), более того система сможет отслеживать изменения в уже импортированных данных (то есть тех которые уже были переданны на 2 сервер, но были изменены снова на первом), при использовании вышепредложенных методов этого происходить не будет.
...
Рейтинг: 0 / 0
04.04.2002, 07:30
    #32026922
Lena
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Kak vibrat tolko novie dannie
Blagodaru vseh, poprobuu replicaciu (nikogda s etim ne rabotala).

Da eshe mne tut skazali , chto DB s kotoroi mne nuzno perekachivat dannie eto specialnaia dlia kakogoto producta (t.e kuplennaia vmeste s application) i v nei nelzia delat nikakie izmenenia, a to isportitsia vsia programma na kotoroi useri sidiat?
Ia dumau chto sozdanie dopolnitelnoi kolonki ne dolzno povliat???
A kak naschet Replikacii, ona na eto ne povliaet.
Nuzno ih kak-to ubedit, chto s ih programmoi nichego ne budet ili budet?).
Kak vi dumaete?
...
Рейтинг: 0 / 0
04.04.2002, 13:20
    #32026980
GreenSunrise
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Kak vibrat tolko novie dannie
Зависит от написанного кода. Простейший пример:

insert into ...
select * from ...

После настройки merge репликации select * вполне может выглядеть по-другому. Тогда все сломается. Так что не торопитесь убеждать клиентов, что все будет в порядке. Если есть возможность, то поставьте продукт на отдельную тестовую машину, настройте репликацию и проверьте жизнеспособность такого варианта. Боюсь, что процентов 90 за то, что это не заработает.
...
Рейтинг: 0 / 0
04.04.2002, 13:44
    #32026983
GreenSunrise
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Kak vibrat tolko novie dannie
Это не только к merge относится.
...
Рейтинг: 0 / 0
07.04.2002, 22:51
    #32027175
Lena
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Kak vibrat tolko novie dannie
A esli trger postavit , on mozet povliat?
...
Рейтинг: 0 / 0
07.04.2002, 22:51
    #32027176
Lena
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Kak vibrat tolko novie dannie
A esli trigger postavit , on mozet povliat?
...
Рейтинг: 0 / 0
08.04.2002, 05:59
    #32027185
GreenSunrise
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Kak vibrat tolko novie dannie
Зависит от содержания триггера. Запросто может.
...
Рейтинг: 0 / 0
08.04.2002, 06:15
    #32027188
Lena
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Kak vibrat tolko novie dannie
Esli postavit trigger kotorii budet pri inserte, eti ze dannie zanosit v druguu tabklicu, iz kotoroi , naprimer, raz v nedelu ia budu skachivat dannie, t. tolko novie za etot den.
Takoi trigger mozet chtonibud isportit?
...
Рейтинг: 0 / 0
08.04.2002, 14:20
    #32027257
GreenSunrise
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Kak vibrat tolko novie dannie
Если написать в вашем триггере что-то вроде

insert into t2 (col1, col2, ...) select col1, col2, ... from inserted

то, ВРОДЕ БЫ, ничего испортиться не должно. Но, с другой стороны, представим ситуацию, когда в триггере, который изначально висел на вашей таблице, формировались некоторые поля. Тогда они могут не попасть в ваш лог, поскольку SQL не гарантирует порядок срабатывания триггеров. Да, есть возможность назначить первый и последний триггер с помощью процедуры sp_settriggerorder, но ведь вполне возможно, что эти позиции уже заняты разработчиком. В общем, это все очень отвлеченные рассуждения, не имеющие особой ценности без приложения к вашему КОНКРЕТНОМУ случаю. Без исходного кода вашего приложения ничего определенного сказать нельзя.
...
Рейтинг: 0 / 0
08.04.2002, 22:28
    #32027268
Lena
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Kak vibrat tolko novie dannie
Spasibo za idei, budu iskat detali programmi.
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Kak vibrat tolko novie dannie / 16 сообщений из 16, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]