Wednesday, June 17, 2015

Find Table in Multiple Databases


http://stackoverflow.com/questions/610609/find-a-table-across-multiple-databases-sql-server-2005

sp_MSforeachdb 'USE ?
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N''[table_name_here]'') AND OBJECTPROPERTY(id, N''IsUserTable'') = 1)
BEGIN
  PRINT ''Found in db ?''
END'

Or ...

USE master 
GO 
SELECT 'USE [' + name + '] ' + CHAR (13) + CHAR (10) 
+ 'GO ' + CHAR (13) + CHAR (10) 
+ 'SET NOCOUNT ON; SELECT DB_NAME(); SELECT name FROM sysobjects WHERE type = ''U'' AND  name = ''some_table'' '
+ CHAR (13) 
FROM sysdatabases 

Monday, June 15, 2015

Find tables with foreign keys. 

Source: http://stackoverflow.com/questions/483193/how-can-i-list-all-foreign-keys-referencing-a-given-table-in-sql-server 

SELECT t.name TableWithForeignKey
, fk.constraint_column_id FK_PartNo 
, c.name ForeignKeyColumn 
FROM sys.foreign_key_columns fk
JOIN sys.tables t 
ON fk.parent_object_id = t.[object_id] 
JOIN sys.columns c 
ON fk.parent_object_id = c.[object_id] 
AND fk.parent_column_id = c.column_id
JOIN sys.tables t1
ON fk.referenced_object_id = t1.[object_id]  
ORDER BY 
TableWithForeignKey
, FK_PartNo