Будет ли журнал транзакций Microsoft SQL по умолчанию включен во время установки?
364
annunarcist
Мне задавали этот вопрос в интервью? Зависит ли это от версии сервера или всегда одинаково (включено или отключено по умолчанию)?
Я не мог найти результаты с точным ответом. Я обнаружил, что файл журнала должен периодически обрезаться, но не смог найти, включен ли он по умолчанию или отключен по умолчанию
annunarcist 10 лет назад
0
Если я не ошибаюсь, они включены по умолчанию при установке MSSQL. Единственные варианты, которые у вас есть, это изменить местоположение файла во время установки. Базы данных MSSQL даже не будут работать без журнала транзакций, поэтому вы не можете «включить или отключить» их.
Каждая база данных SQL Server имеет журнал транзакций, в котором записываются все транзакции и изменения базы данных, сделанные каждой транзакцией.
Журнал транзакций очень важен для управления SQL Server, поэтому он включен по умолчанию. Вы могли бы задать этот вопрос, потому что, например, СУБД Oracle должна иметь
SET ServerOutput ON
чтобы увидеть вывод сервера в SQL Developer (вы можете включить его в настройках СУБД). Это мое первое предположение, поскольку работодатели на многих работах, связанных с БД, требуют знаний как по MSSQL, так и по Oracle DB. Конечно, я могу ошибаться с причиной такого вопроса, потому что я не читаю мысли людей!
0
CJM
Журналы транзакций являются неотъемлемой частью SQL Server, поэтому их нельзя включить или отключить.
Тем не менее, вы можете указать различные режимы восстановления, которые соотносят требования к пространству с различными уровнями восстановления. Короче говоря, Простое восстановление означает, что SQL будет управлять размерами журнала транзакций, но вы можете восстановить только полную резервную копию; полное восстановление занимает больше места и требует управления размерами журналов транзакций, но позволяет восстанавливать данные за определенный промежуток времени между резервными копиями.
0
Milena Petrovic
You cannot create a SQL Server database without a transaction log. It is an integral part of the database. It is automatically created when you create a database.
Another fact: you cannot disable the transaction log or stop transactions from being written into it. It's how SQL Server Database Engine works and it cannot be changed.
The only thing that you can change is how long the transactions are kept in the online transaction log, and whether BULK operations are written into the log or not. This is specified by the database recovery model.
And no, you don't have to truncate the online transaction log periodically. To keep its size, you can use the SImple recovery model. But it has some downsides - in case of a disaster, you'll lose a larger amount of data.