![]() |
Datenbank: MSSQL • Version: 2014 • Zugriff über: ADO/SQL
Recordcout über alle DB auf einem Server
auf einem MSSQL DB Server liegen x Datenbanken, die meisten haben eine Tabelle mit Namen 'Analysis'.
Kann ich mit einem SQL Statement den Recordcount aller Tabellen auf dem Server abfragen? Ich such die größte Tabelle 'Analysis' |
AW: Recordcout über alle DB auf einem Server
Es gibt direkt kein Befehl hierfür:
-Datenbanken ermitteln -Tabellen pro datenbank ermitteln -RecordCount ermitteln |
AW: Recordcout über alle DB auf einem Server
|
AW: Recordcout über alle DB auf einem Server
Es gibt 2 Wege:
der Reihe nach connecten und clientseitig das Dictionary abfragen (Siehe Links von p80286, Statistic Tabellen- wenn's nicht ganz genau sein muss) oder select count(*) from [tabelle] oder bei verlinkten DB zentrale DB connecten und alle DB in einem Statement abfragen. |
AW: Recordcout über alle DB auf einem Server
Wenn die Datenbanken auf einem Server sind, dann versuch doch mal das hier
SQL-Code:
declare @TableName varchar(80) = 'Analysis'
declare @dbName varchar(80) declare x cursor for select name from sysdatabases open x declare @sql varchar(255) declare @sqlcmd varchar (255) set @sqlcmd = 'if exists(select 1 from [$1].sys.tables where name = ''$2'') ' set @sqlcmd=@sqlcmd + 'exec(''select ''''$1'''' as [Database], count(*) as Cnt from [$1]..[$2]'')' declare @result int fetch next from x into @dbname while (@@FETCH_STATUS=0) begin set @sql = replace (@sqlcmd,'$1',@dbname) set @sql = replace (@sql ,'$2',@TableName) exec( @sql) fetch next from x into @dbname end close x deallocate x |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:25 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz