2013-07-24 2 views
1

Я хочу получить текущий максимальный размер моей БД. Я нашел заявления, которые проверили. Он отлично работает в VS2012 SQL Explorer. Но когда я использую php im, не получая никаких данных.Оператор Windows Azure MaxSizeInByte

Это моя функция:

function getLoad() { 
$conn = connect(); 
$string = 'DATABASEPROPERTYEX ('database' , 'MaxSizeInBytes')'; 
$stmt = $conn->query($string); 
return $stmt->fetchAll(PDO::FETCH_NUM); 
} 

Проблема заключается в том, что я получаю сообщение об ошибке в выборке за $ STMT. Ошибка:

can not fetchAll(11) 

ответ

1

Этот код выведет базу данных издания и максимальный размер в ГБ:

<?php 
function get_database_properties($server, $database, $username, $password) { 
    try { 
     $conn = new PDO ("sqlsrv:server=tcp:{$server}.database.windows.net,1433; Database={$database}", $username, $password); 
     $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 
     $conn->setAttribute(constant('PDO::SQLSRV_ATTR_DIRECT_QUERY'), true); 
     $query = "SELECT CONVERT(NVARCHAR(128), DATABASEPROPERTYEX ('{$database}', 'Edition')) as 'Edition', " . 
       "CONVERT(DECIMAL,DATABASEPROPERTYEX ('{$database}', 'MaxSizeInBytes'))/1024/1024/1024 AS 'MaxSizeInGB'"; 
     $stmt = $conn->query($query); 
     $row = $stmt->fetch(); 
     $conn = null; 
     return $row; 
    } 
    catch (Exception $e) { 
     die(print_r($e)); 
    } 
} 

$db_properties = get_database_properties("yourserver", "yourdatabase", "youruser", "yourpassword"); 
print("Edition={$db_properties['Edition']} MaxSizeInGB={$db_properties['MaxSizeInGB']}\n"); 
?> 
+0

Отлично !!! Ты замечательный! –

Смежные вопросы