Получить SQL весь размер БД, используя C# окно s из - PullRequest
0 голосов
/ 01 апреля 2020

В клиенте моей организации P C есть 2 SQL базы данных. Я хочу получить размер базы данных в ГБ, что возможно в SSMS, но я хочу создать инструмент в C#, который будет отображать размер базы данных в виде сетки. Я пытался много раз, но я получаю сообщение об ошибке, показанное ниже.

SQL Запрос

C# Ошибка

Код:

public partial class Form1 : Form
{
    string connectionstring = @"Server=.\sqlexpress; database=Master; User ID=sa; Password=bfil@123;";

    public Form1()
    {
        InitializeComponent();
    }

    private void button1_Click(object sender, EventArgs e)
    {
        using(SqlConnection sqlCon = new SqlConnection(connectionstring))
        {
            sqlCon.Open();
            SqlDataAdapter sqlDa = new SqlDataAdapter("SELECT d.NAME, ROUND(SUM(mf.size) * 8 / 1024, 0) Size_MBs, (SUM(mf.size) * 8 / 1024) / 1024 AS Size_GBs FROM sys.master_files mf INNER JOIN sys.databases d ON d.database_id = mf.database_id WHERE d.database_id > 4-- Skip system databases GROUP BY d.NAME ORDER BY d.NAME", sqlCon);
            DataTable dtbl = new DataTable();
            sqlDa.Fill(dtbl);
            dvg1.DataSource = dtbl;
        }
    }
}

1 Ответ

0 голосов
/ 01 апреля 2020
SELECT      sys.databases.name,  
            CONVERT(VARCHAR,SUM(size)*8/1024)+' MB' AS [TotalDiskSpace]  
FROM        sys.databases   
JOIN        sys.master_files  
ON          sys.databases.database_id=sys.master_files.database_id  
GROUP BY    sys.databases.name  
ORDER BY    sys.databases.name  
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...