|
|
|
Можно ли использовать транзакцию ?
|
|||
|---|---|---|---|
|
#18+
Добрый день ! Мне нужно удалить из базы некоторое количество записей (~13000 в 4 таблицах) и заменить их на более свежие. Это действие выполняет конвертр на Delphi. Так как это действие выполняется автоматически, мне нужно как то предохраниться от возможных сбоев. Вопрос : Можно ли все это действие засунуть в одну транзакцию или нужно как то автоматом запускать backup, а в случае чего и restore ? Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2002, 23:18:05 |
|
||
|
Можно ли использовать транзакцию ?
|
|||
|---|---|---|---|
|
#18+
13000 строк это не так много. Можно и в одну транзакциию все сделать. Правда это может заблокировать таблицы на время удаления. Также смотрите чтобы места в логе хватило. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2002, 23:29:04 |
|
||
|
Можно ли использовать транзакцию ?
|
|||
|---|---|---|---|
|
#18+
Да , но нужно сначала 13000 удалить, а потом добавить , итого ... . А как смотреть чтоб места хватило ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2002, 23:54:11 |
|
||
|
Можно ли использовать транзакцию ?
|
|||
|---|---|---|---|
|
#18+
Поскольку объем необходимого места в логе зависит не только от количества строк, но и от физического размера каждой строки то наверное проще всего установить это экспериментально. Установите автоматическое неограниченное расширение лога и посмотрите на сколько он расширится (и расширится ли вообще) при исполнении такой транзакции. Также можно отслеживать занятое место в логе с помощью DBCC SQLPERF (LOGSPACE) или с помощью Performance Monitor (счетчик SQLServer:Databases:LogFileUsedSize) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2002, 00:12:35 |
|
||
|
Можно ли использовать транзакцию ?
|
|||
|---|---|---|---|
|
#18+
Береженого Бог бережет. Бакап не помешает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2002, 00:21:09 |
|
||
|
Можно ли использовать транзакцию ?
|
|||
|---|---|---|---|
|
#18+
Оно конечно, но не бэкапиться же перед каждой транзакцией ;-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2002, 00:25:57 |
|
||
|
Можно ли использовать транзакцию ?
|
|||
|---|---|---|---|
|
#18+
Тогда у меня возникает сомнение в необходимости столь масштабных изменений. Если возможно, проясните суть дела. Зачем, откуда, почему именно так. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2002, 00:46:50 |
|
||
|
Можно ли использовать транзакцию ?
|
|||
|---|---|---|---|
|
#18+
To Cat2 : Задача следующая : Есть магазин (который писал не я), и в нем есть товары с признаком город(Зачем не знаю - кажеться наличие товаров на складах). обновляеться он так : нам присылают базу в access соответствующую одному из городов. После чего удаляються все записи соответствующие этому городу, потом потом добавляються все записи из присланной базы. До сих пор все это делалось руками, а мне нужно сделать так что бы загружать новую базу и запускать конвертр можно было через web интерфейс. Структура и SQL и Access ужасно кривая (Например это самое поле город есть буквально в каждой таблице, для разделов, подразделов, подподразделов каталога используються отдельные таблицы и.т.д, индексов там нет ваабще и.т.д. ) - я бы ваабще все переписал - но мне поставленна задача сделать только автоматизацию обновления, и чем быстрее тем лучше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2002, 12:06:31 |
|
||
|
Можно ли использовать транзакцию ?
|
|||
|---|---|---|---|
|
#18+
Как вариант могу предложить использовать две таблицы. 1 - видимая, с ней работают пользователи 2 - невидимая - ее обновляет приложение. в случае успеха - таблицы меняются местами, в противном случае - разборки. Но это вообще может быть и не актуально в такой системе. Думаю, что можно вполне использовать одну транзакцию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2002, 12:19:12 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=32036689&tid=1821807]: |
0ms |
get settings: |
6ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
45ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
| others: | 201ms |
| total: | 331ms |

| 0 / 0 |
