Hallo,
ich habe folgendes Problem:
Ich möchte von jeder Tabelle auf dem Server (nicht nur von einer DB) die verschiedenen Daten haben (zuletzt geändert, Erstellt am...)
Zuerst muss ich jede Tabelle herausfinden dazu habe ich mir folgendes gedacht:
Und mit welchem Befehl bekomme ich das Datum?
Hier mal der Code (mit ein bisschen Erklärung zu meinem Problem)
Wie ihr seht habe ich mir Gedanken gemacht, aber irgendwie klappts nicht so richtig
ich habe folgendes Problem:
Ich möchte von jeder Tabelle auf dem Server (nicht nur von einer DB) die verschiedenen Daten haben (zuletzt geändert, Erstellt am...)
Zuerst muss ich jede Tabelle herausfinden dazu habe ich mir folgendes gedacht:
Zuerst finde ich alle Datenbanken auf dem Server raus,
anschließend durchsuche ich jede DB nach ihren Tabellen
Hier ist das erste Problem, wie kann ich das Variabel mache?Und mit welchem Befehl bekomme ich das Datum?
Hier mal der Code (mit ein bisschen Erklärung zu meinem Problem)
Code:
--Erstellt eine neue temporäre Tabelle
--und füllt diese mit den Datenbanken
create table #temp
(
name sysname
,db_size nvarchar(13)
,owner sysname
,dbid smallint
,created nvarchar(11)
,status nvarchar(600)
,compatibility_level tinyint
)
go
insert into #temp
exec sp_helpdb
--Cursor sucht nur die Daten aus der Spalte "name" aus Tabelle #temp
--Also die Namen der Datenbanken
DECLARE Datenbank_Cursor CURSOR FOR
SELECT name
FROM #temp;
OPEN Datenbank_Cursor;
DECLARE @Name varchar(50);
FETCH NEXT FROM Datenbank_Cursor
INTO @Name
WHILE @@FETCH_STATUS = 0
BEGIN
--Select * From Datenbankname.INFORMATION_SCHEMA.TABLES
----Würde funktionieren aber so muss jeder Name eingetippt werden
----Wird eine neue Datenbank erstellt/gelöscht -> per Hand ändern.
----Daher soll es Variabel sein.
----Meine bisherigen Ideen:
----Entweder:
--Use @Name
--Select * From INFORMATION_SCHEMA.TABLES
----ODER--
--Select * From @Name.INFORMATION_SCHEMA(.TABLES)
----ODER--
--Use @Name
--exec sp_tables;
FETCH NEXT FROM Datenbank_Cursor
INTO @Name
END;
CLOSE Datenbank_Cursor;
DEALLOCATE Datenbank_Cursor;
GO
drop table #temp
Wie ihr seht habe ich mir Gedanken gemacht, aber irgendwie klappts nicht so richtig