Herunterladen von: DB-Dokumentierer.sql Quick and Dirty Datenbank Dokumentierer
Um all diesen Personen die schwierigen Bedienung einer Internet-Suchmaschine abzunehmen ist hier ein Skript, das ich in 10 Minuten gerade geschrieben habe. Es erhebt keinerlei Anspruch auf Effektivität, Fehlerfreiheit, Vollständigkeit und/oder ähnliches, sondern soll vielmehr als Denkanstoss dienen.
DECLARE @Databases TABLE (dbname sysname);
DECLARE @Database sysname;
DECLARE @DatabaseCmd sysname;
DECLARE @sql nvarchar(2000)
INSERT INTO @Databases
(dbname)
SELECT
D.name
FROM
sys.databases D
WHERE
D.database_id > 5
SELECT
@Database = MIN(D.dbname),
@DatabaseCmd = @Database + '.sys.sp_ExecuteSQL'
FROM
@Databases D;
WHILE @Database IS NOT NULL
BEGIN
SELECT @sql = '
SELECT
DB_NAME() as CurrentDatabase,
O.name AS TableName,
C.name AS ColumnName,
C.column_id,
S.name,
S.length,
C.precision,
C.scale,
C.is_nullable
FROM
sys.objects O
JOIN
sys.columns C ON O.object_id = C.object_id
JOIN
sys.systypes S ON C.system_type_id = S.xtype
WHERE
O.type = ''U'' AND
O.is_ms_shipped = 0
ORDER BY
O.name,
C.column_id'
EXEC @DatabaseCmd @sql;
DELETE
@Databases
WHERE
dbname = @Database;
SELECT
@Database = MIN(D.dbname),
@DatabaseCmd = @Database + '.sys.sp_ExecuteSQL'
FROM
@Databases D;
END
Kommentare zur Erweiterung sind gerne willkommen. ;-)