Udostępnij za pośrednictwem


Wyświetlanie danych i informacji o miejscu w dzienniku dla bazy danych

Dotyczy:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)Baza danych SQL w usłudze Microsoft Fabric

W tym artykule opisano sposób wyświetlania danych i informacji o przestrzeni dziennika dla bazy danych w programie SQL Server przy użyciu programu SQL Server Management Studio lub Języka Transact-SQL.

Przed rozpoczęciem

Uprawnienie do uruchamiania sp_spaceused jest przyznawane roli publicznej. Tylko członkowie stałej roli bazy danych db_owner mogą określać parametr @updateusage.

Korzystanie z programu SQL Server Management Studio

Wyświetl dane i informacje o przestrzeni logu dla bazy danych

  1. W Eksploratorze obiektów połącz się z wystąpieniem programu SQL Server, a następnie rozwiń to wystąpienie.

  2. Rozwiń węzeł bazy danych .

  3. Kliknij prawym przyciskiem myszy bazę danych, wskaż Raporty , wskaż Raporty standardowe , a następnie wybierz pozycję Użycie dysku.

Korzystanie z Transact-SQL

Wyświetlanie danych i informacji o przestrzeni dziennika dla bazy danych przy użyciu sp_spaceused

  1. Połącz się z silnikiem bazy danych.

  2. Na pasku narzędzi Standardowy wybierz pozycję Nowe zapytanie.

  3. Wklej poniższy przykład w oknie zapytania, a następnie wybierz pozycję Wykonaj. W tym przykładzie użyto procedury składowanej systemu sp_spaceused do raportowania informacji o przestrzeni dyskowej dla całej bazy danych, w tym tabel i indeksów.

    USE AdventureWorks2022;  
    GO  
    EXEC sp_spaceused;  
    GO  
    

Wyświetlanie przestrzeni danych używanej przez obiekt i jednostkę alokacji dla bazy danych

  1. Połącz się z silnikiem bazy danych.

  2. Na pasku narzędzi Standardowy wybierz pozycję Nowe zapytanie.

  3. Wklej poniższy przykład w oknie zapytania, a następnie wybierz pozycję Wykonaj. W tym przykładzie zapytania widoków wykazu obiektów , żeby raportować użycie miejsca na dysku dla każdej tabeli, a w ramach tabeli na każdą jednostkę alokacji .

    SELECT
      t.object_id,
      OBJECT_NAME(t.object_id) ObjectName,
      sum(u.total_pages) * 8 Total_Reserved_kb,
      sum(u.used_pages) * 8 Used_Space_kb,
      u.type_desc,
      max(p.rows) RowsCount
    FROM
      sys.allocation_units u
      JOIN sys.partitions p on u.container_id = p.hobt_id
      JOIN sys.tables t on p.object_id = t.object_id
    GROUP BY
      t.object_id,
      OBJECT_NAME(t.object_id),
      u.type_desc
    ORDER BY
      Used_Space_kb desc,
      ObjectName;
    
    

Wyświetlanie danych i informacji o przestrzeni dziennika dla bazy danych przez wykonywanie zapytań sys.database_files

  1. Połącz się z silnikiem bazy danych.

  2. Na pasku narzędzi Standardowym wybierz pozycję Nowe zapytanie.

  3. Wklej poniższy przykład w oknie zapytania, a następnie wybierz opcję Wykonaj. W tym przykładzie zapytanie do widoku wykazu sys.database_files zwraca określone informacje o plikach danych i dziennika w bazie danych AdventureWorks2022.

    USE AdventureWorks2022;  
    GO  
    SELECT file_id, name, type_desc, physical_name, size, max_size  
    FROM sys.database_files;  
    GO