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. ;-)