powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как запрещать лог
7 сообщений из 7, страница 1 из 1
Как запрещать лог
    #32041246
Тестер
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Такая ситуация при записях в BLOB поля происходит запись в лог файл операции INSERT, что существенно снижает производительность, как от этого избавиться
...
Рейтинг: 0 / 0
Как запрещать лог
    #32041253
Фотография VVG_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Посмотри в BOL про recovery models.

Может быть имеет смысл с Full перейти на Bulk-logged.
...
Рейтинг: 0 / 0
Как запрещать лог
    #32041287
Тестер
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Посмотри в BOL про recovery models.

Может быть имеет смысл с Full перейти на Bulk-logged.

Поставил эту опцию, с утра лог был 5 Метров теперь 93, причем база около 10М

И что теперь делать
...
Рейтинг: 0 / 0
Как запрещать лог
    #32041295
Фотография Garya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BLOB и BULK, хоть на B и начинаются, суть разные весчи :). Избавиться от записи в журнал транзакций BLOB IMHO невозможно, как невозможно избавиться от записи в него любой информации по команде Insert (за исключением Bulk insert). С помощью Recovery Model можно сделать, чтобы записанная в журнал транзакций информация по чекпоинтам очищалась (Simple recovery model), но не более того. А чтобы увеличить скорость добавления BLOB, попробуйте пожогнлировать флагом трассировки 1180. Кстати, сообщите, если не трудно, какие результаты.
...
Рейтинг: 0 / 0
Как запрещать лог
    #32041301
Tulkin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Truncate log on checkpoint=true
...
Рейтинг: 0 / 0
Как запрещать лог
    #32041395
А что мешает использовать writetext

WRITETEXT
Permits nonlogged , interactive updating of an existing text, ntext, or image column. This statement completely overwrites any existing data in the column it affects. WRITETEXT cannot be used on text, ntext, and image columns in views.

Syntax
WRITETEXT { table.column text_ptr }
[ WITH LOG ] { data }

Arguments
table.column

Is the name of the table and text, ntext, or image column to update. Table and column names must conform to the rules for identifiers. For more information, see Using Identifiers. Specifying the database name and owner names is optional.

text_ptr

Is a value that stores the pointer to the text, ntext or image data. text_ptr must be binary(16). To create a text pointer, execute an INSERT or UPDATE statement with data that is not NULL for the text, ntext, or image column. For more information about creating a text pointer, see either INSERT or UPDATE.

WITH LOG

Ignored in Microsoft® SQL Server™ 2000. Logging is determined by the recovery model in effect for the database.

data

Is the actual text, ntext or image data to store. data can be a literal or a variable. The maximum length of text that can be inserted interactively with WRITETEXT is approximately 120 KB for text, ntext, and image data.

Remarks
Use WRITETEXT to replace text, ntext, and image data and UPDATETEXT to modify text, ntext, and image data. UPDATETEXT is more flexible because it changes only a portion of a text, ntext, or image column rather than the entire column.

If the database recovery model is simple or bulk-logged, WRITETEXT is a nonlogged operation . This means text, ntext, or image data is not logged when it is written to the database; therefore, the transaction log does not fill up with the large amounts of data that often make up these data types.
...
Рейтинг: 0 / 0
Как запрещать лог
    #32041440
Тестер
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
после перехода на Simple Recovery Лог перестал рости, это радует

Относительно WriteText, мешает вот что, я использую в Делфях следующий код

procedure TForm1.Button3Click(Sender: TObject);
var
BlobStream: TADOBlobStream;
begin
ADODataSet1.Active := true;
ADODataSet1.Insert;
BlobStream := TADOBlobStream.Create(TBlobField(ADODataSet1.FieldByName('blob')), bmWrite);
OpenDialog1.Execute;
BlobStream.LoadFromFile(OpenDialog1.FileName);
BlobStream.Free;
ADODataSet1.FieldByName('id').asInteger := StrToInt(Edit1.Text);
ADODataSet1.Post;
ADODataSet1.Active := false;
end;
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как запрещать лог
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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