Skip to content

Instantly share code, notes, and snippets.

@karenpayneoregon
Created March 30, 2024 01:08
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save karenpayneoregon/b0ef987ed418a2d582ced551a53c0a58 to your computer and use it in GitHub Desktop.
Save karenpayneoregon/b0ef987ed418a2d582ced551a53c0a58 to your computer and use it in GitHub Desktop.
Get all databases and table names for SQL-Server
DECLARE @sql NVARCHAR(MAX);
SELECT @sql
= ( SELECT ' UNION ALL
SELECT ' + +QUOTENAME(name, '''')
+ ' as DatabaseName,
s.name COLLATE DATABASE_DEFAULT
AS SchemaName,
t.name COLLATE DATABASE_DEFAULT as TableName
FROM ' + QUOTENAME(name) + '.sys.tables t
JOIN ' + QUOTENAME(name) + '.sys.schemas s
on s.schema_id = t.schema_id'
FROM sys.databases
WHERE state = 0
ORDER BY [name]
FOR XML PATH(''), TYPE).value('.', 'nvarchar(max)');
SET @sql
= STUFF(@sql, 1, 12, '')
+ N' order by DatabaseName,
SchemaName,
TableName';
EXECUTE (@sql);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment