Skip to content

Instantly share code, notes, and snippets.

@ststeiger
Created September 8, 2015 13:30
Show Gist options
  • Select an option

  • Save ststeiger/94d0276066caa1dfdd89 to your computer and use it in GitHub Desktop.

Select an option

Save ststeiger/94d0276066caa1dfdd89 to your computer and use it in GitHub Desktop.
Database GREP for UID
/*
SELECT *
FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS tc
LEFT JOIN INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGE ccu
ON tc.CONSTRAINT_NAME = ccu.Constraint_name
WHERE tc.CONSTRAINT_TYPE = 'Primary Key'
*/
DECLARE @tableName sysname
DECLARE @columnName sysname
DECLARE @sqlCommand nvarchar(MAX)
DECLARE @iIndex integer
SET @iIndex = 0
DECLARE col_cursor CURSOR FOR
(
/*
SELECT
ccu.TABLE_NAME
,ccu.COLUMN_NAME
--,isc.DATA_TYPE
FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS tc
LEFT JOIN INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGE ccu
ON tc.CONSTRAINT_NAME = ccu.Constraint_name
LEFT JOIN INFORMATION_SCHEMA.COLUMNS isc
ON isc.TABLE_NAME = ccu.TABLE_NAME
AND isc.COLUMN_NAME = ccu.COLUMN_NAME
WHERE (1=1)
--AND tc.CONSTRAINT_TYPE = 'Primary Key'
AND isc.DATA_TYPE = 'uniqueidentifier'
*/
SELECT
ic.TABLE_NAME
,ic.COLUMN_NAME
FROM INFORMATION_SCHEMA.COLUMNS AS ic
WHERE (1=1)
AND ic.TABLE_NAME LIKE 'T[_]%'
AND ic.DATA_TYPE = 'uniqueidentifier'
)
OPEN col_cursor
FETCH NEXT FROM col_cursor INTO @tableName, @columnName
WHILE @@FETCH_STATUS = 0
BEGIN
DECLARE @counts int
DECLARE @strQueryText nvarchar(36)
SET @strQueryText = '9804B6AB-15F6-4AD8-A494-857FEAB2B673'
SET @sqlCommand = 'SELECT @cnt = COUNT(*) FROM [' + @tableName + N'] WHERE CAST([' + @columnName + N'] AS varchar(36)) = @strQueryText'
EXECUTE sp_executesql @sqlCommand, N'@strQueryText nvarchar(36), @cnt int OUTPUT', @strQueryText = @strQueryText, @cnt=@counts OUTPUT
-- SELECT @counts AS Counts
IF @counts > 0
BEGIN
SET @sqlCommand = N'SELECT [' + @columnName + N'], ''' + @columnName + N''' AS columnName, ''' + @tableName + N''' AS tableName FROM [' + @tableName + N']
WHERE CAST([' + @columnName + N'] AS varchar(36)) = ''' + @strQueryText + N''' '
PRINT @sqlCommand
EXECUTE(@sqlCommand)
END
SET @iIndex = @iIndex + 1
FETCH NEXT FROM col_cursor INTO @tableName, @columnName
END
CLOSE col_cursor
DEALLOCATE col_cursor
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment