diff options
Diffstat (limited to 'phpBB/includes/functions_admin.php')
| -rw-r--r-- | phpBB/includes/functions_admin.php | 16 | 
1 files changed, 16 insertions, 0 deletions
| diff --git a/phpBB/includes/functions_admin.php b/phpBB/includes/functions_admin.php index b31b268db7..81a381b326 100644 --- a/phpBB/includes/functions_admin.php +++ b/phpBB/includes/functions_admin.php @@ -2920,8 +2920,24 @@ function get_database_size()  		case 'mssql':  		case 'mssql_odbc':  		case 'mssqlnative': +			$sql = 'SELECT @@VERSION AS mssql_version'; +			$result = $db->sql_query($sql); +			$row = $db->sql_fetchrow($result); +			$db->sql_freeresult($result); +			  			$sql = 'SELECT ((SUM(size) * 8.0) * 1024.0) as dbsize  				FROM sysfiles'; + +			if ($row) +			{ +				// Azure stats are stored elsewhere +				if (strpos($row['mssql_version'], 'SQL Azure') !== false) +				{ +					$sql = 'SELECT ((SUM(reserved_page_count) * 8.0) * 1024.0) as dbsize  +					FROM sys.dm_db_partition_stats'; +				} +			} +  			$result = $db->sql_query($sql, 7200);  			$database_size = ($row = $db->sql_fetchrow($result)) ? $row['dbsize'] : false;  			$db->sql_freeresult($result); | 
