Explorar o código

avoid arith overflow for size

Fixes #245
John McCall %!s(int64=4) %!d(string=hai) anos
pai
achega
a393b1935c
Modificáronse 1 ficheiros con 2 adicións e 2 borrados
  1. 2 2
      Fixing-VLFs/Fix_VLFs.sql

+ 2 - 2
Fixing-VLFs/Fix_VLFs.sql

@@ -74,7 +74,7 @@ OPEN cshrk
 FETCH NEXT FROM cshrk INTO @dbname, @count
 WHILE (@@FETCH_STATUS <> -1)
 BEGIN
-	SET @sqlcmd = 'SELECT @nameout = name, @logsizeout = (size*8)/1024 FROM [' + @dbname + '].dbo.sysfiles WHERE (64 & status) = 64'
+	SET @sqlcmd = 'SELECT @nameout = name, @logsizeout = (CAST(size AS BIGINT)*8)/1024 FROM [' + @dbname + '].dbo.sysfiles WHERE (64 & status) = 64'
 	SET @sqlparam = '@nameout NVARCHAR(100) OUTPUT, @logsizeout bigint OUTPUT'
 	EXEC sp_executesql @sqlcmd, @sqlparam, @nameout = @filename OUTPUT, @logsizeout = @logsize OUTPUT;
 	PRINT '---------------------------------------------------------------------------------------------------------- '
@@ -244,4 +244,4 @@ DROP TABLE #loginfo;
 SELECT dbname AS [Database_Name], Actual_log_size_MB, Potential_log_size_MB, Actual_VLFs, 
 	Potential_VLFs, Growth_iterations, Log_Initial_size_MB, File_autogrow_MB
 FROM @tblvlf;
-GO
+GO