Pregunta Cómo deshabilitar los registros de transacciones en SQL Server 2008


En SQL Server 2008, ¿hay alguna manera de deshabilitar el registro de transacciones o borrar el archivo de registro?

Cuando ejecuto una consulta en mi proyecto (muy grande en términos de transacción) una vez que el tamaño de este archivo de registro aumentará (2 a 3 GB).

Por favor sugiero alguna buena opción.


5
2018-01-04 08:18


origen


Respuestas:


Puede reducirlo

DECLARE @sql NVARCHAR(MAX) = ''
SELECT @sql = @sql + N'DBCC SHRINKFILE('+CAST(file_id AS NVARCHAR)+N', 0);' 
FROM sys.database_files
WHERE type = 1

EXEC(@sql)

PERO solo funciona con el modelo de recuperación simple, en su lugar, tiene que respaldar el inicio de sesión y reducirlo después

No puedes soltar los archivos de registro en absoluto incluso si su base de datos está en solo lectura modo.

Y intente rediseñar y revisar su enfoque al tratar con la base de datos del servidor sql. No es la mejor opción ni la mejor práctica para reducir archivos, ¡especialmente de forma regular!


3
2018-01-04 08:26



no poder deshabilitar el registro de transacciones en SQL Server. De ninguna manera.

Puedes cambiar a modelo de recuperación simple 

ALTER DATABASE YourDatabase SET RECOVERY SIMPLE

que registrará menos, pero el registro de transacciones es un concepto básico tan fundamental en SQL Server, no puede simplemente desactivarlo.


8
2018-01-04 08:23



No puede deshabilitar el registro de transacciones.

Si su registro necesita ser 3 GB más grande, entonces que así sea. Si lo reduce, entonces crecerá nuevamente y causará otros problemas.

Si es uno solo, puedes mitigar el crecimiento

  • procesamiento por lotes de la transacción: ejemplo: Bulk DELETE en SQL Server 2008 (¿Hay algo como Bulk Copy (bcp) para eliminar datos?). El crecimiento de 3GB está ahí para permitir la reversión de esa transacción
  • Cambie a recuperación SIMPLE, cambie de nuevo a COMPLETO (si es necesario): tenga en cuenta que lo hará necesitar una copia de seguridad completa después. El registro seguirá creciendo, por supuesto, para permitir el retroceso.

2
2018-01-04 08:24



cambiar el modelo de recuperación a:simple

ALTER DATABASE myDB SET RECOVERY SIMPLE

y correr

DBCC SHRINKFILE (MyLog, 1); // to 1 MB

Pero ¿de dónde sacas el nombre de registro?

sp_helpdb MyDb

0
2018-01-04 08:23