Gibt es eine Möglichkeit in SMSS zu erkennen, ob eine Tabelle Datensätze enthält? Ich muss eine Liste der Tabellen erhalten, die Aufzeichnungen haben. vielleicht gibt es eine SQL-Anweisung, die den Trick machen wird?SQL Server 2008: Ich habe 1000 Tabellen, ich muss wissen, welche Tabellen Daten haben
Antwort
Eine einfachere Syntax:
SELECT [Name] = o.name
, [RowCount] = SUM(p.row_count)
FROM SYS.DM_DB_PARTITION_STATS p
INNER JOIN
SYS.TABLES o
ON p.[object_ID] = o.[object_id]
WHERE index_id <= 1 -- Heap or clustered index only
GROUP BY o.name
ORDER BY 2 desc
können Sie diese gespeicherte Prozedur verwenden:
EXEC sp_MSforeachtable @command1="EXEC sp_spaceused '?'"
Dieses ein Ergebnis für jede Tabelle in der Datenbank zurück (jeweils den Namen zeigt, und die Anzahl der Zeilen, unter anderem Informationen).
Hier ist, wie man sie in eine Tabelle Variable setzen, und sie durch die Anzahl der Zeilen bestellen:
DECLARE @TBL TABLE (
[name] nvarchar(500),
[rows] bigint,
[reserved] nvarchar(500),
[data] nvarchar(500),
[index_size] nvarchar(500),
[unused] nvarchar(500)
)
INSERT INTO @TBL
EXEC sp_MSforeachtable @command1="EXEC sp_spaceused '?'"
SELECT * FROM @TBL
ORDER BY [rows] DESC
Try this - gibt Ihnen die Tabellennamen und die Zeilenanzahl:
SELECT
t.NAME AS TableName,
SUM(p.rows) AS [RowCount]
FROM
sys.tables t
INNER JOIN
sys.indexes i ON t.OBJECT_ID = i.object_id
INNER JOIN
sys.partitions p ON i.object_id = p.OBJECT_ID AND i.index_id = p.index_id
WHERE
i.index_id <= 1
GROUP BY
t.NAME, i.object_id, i.index_id, i.name
ORDER BY
SUM(p.rows) DESC
Es zeigt alle Tabellen und ihre Zeilenanzahl in einem einzigen Ausgang.
Da Ihre Frage ausdrücklich erwähnt SSMS können Sie auch einen Rechtsklick auf die Datenbank in Objekt-Explorer und dann aus dem Abkürzungsmenü tun
Reports -> Standard Reports -> Disc Usage By Table
das ist super super hilfreich –
Beste Antwort. Vielen Dank! – DonP
- 1. Ich habe SQL Server-Datenbank mit CDC-Tabellen wiederhergestellt, aber keine Daten in den CDC-Tabellen?
- 2. Wie finde ich heraus, welche Tabellen Daten in einer Datei in SQL Server haben?
- 3. Sql Server 2008, sind temporäre Tabellen eindeutig
- 4. Welche Berechtigung muss ich SqlBulkCopy in SQL Server 2008 verwenden?
- 5. wie Tabellen beitreten sql server
- 6. Wie SQL 2008 Schlösser und Blockierte Tabellen
- 7. Wie bestimmen Sie, welche SQL-Tabellen eine Identitätsspalte programmgesteuert haben
- 8. Passende zwei Tabellen in SQL Server 2008 mit T-SQL
- 9. Datenbank Abfrage - Ich habe eine zwei Tabellen A und B. Ich muss nur die Daten von
- 10. Exportieren von SQL Server 2008-Tabellen nach Excel in C#
- 11. SQL-Tabellen Beitritt bekommen anderen Tabellen Daten
- 12. Welche Tabellen verwenden Änderungsverfolgung
- 13. Welche bessere Leistung haben: Abgeleitete Tabellen oder temporäre Tabellen
- 14. Skript-Tabellen von Sql 2008 Mgmt Studio
- 15. De normalisierte SQL Server-Tabellen
- 16. SQL-Tabellen/Pivot-Tabellen
- 17. SQL wissen, wann Tabellen zu teilen
- 18. Welche Berechtigungen muss ich geben, um einen SQL Server-Benutzer,
- 19. SQL Server 2008-Management-Studio-Dropdown-Tabellen Warnung?
- 20. SQL-Daten in zwei Tabellen teilen
- 21. SQL Server: Auflisten von Unterschieden zwischen Tabellen
- 22. Temporäre Tabellen in SQL Server?
- 23. Welche Paging-Methode (Sql Server 2008) für die beste Leistung?
- 24. Temporäre SQL Server 2005-Tabellen
- 25. Welche Tabellen sind in SQL Server 2000 verfügbar?
- 26. Wie kann ich feststellen, welche temporären Tabellen derzeit in SQL Server enthalten sind?
- 27. Eindeutige ID zwischen mehreren Tabellen geteilt sql 2008
- 28. SQL Server 2008 Vertikale Daten zu Horizontal
- 29. SQL Server 2008 Tabellen erstellen, unsichtbar in SQL Server Management Studio
- 30. [SQL Server 2008] Kann ich die Größe der Tabellen-E/A pro Monat sehen?
Falsche Syntax in der Nähe des Schlüsselwortes 'RowCount'. –
Wie kann es auf bestimmte DB beschränkt werden? Wenn ich auf dem gleichen SQL-Server mehr Datenbanken mit denselben Tabellennamen habe, wird die Zeilenanzahl addiert. –
@OndraPeterka: Nein, dies wird immer im Zusammenhang mit ** einer Datenbank ** ausgeführt - und nur diese Tabellen werden angezeigt. Dies zeigt ** nicht ** alle Tabellen aller Datenbanken eines Servers –