Wednesday, November 16, 2011

CRM 2011 - How to find the Guid in CRM Data Base

If you want to find an Guid in the Microsoft Dynamics CRM Database, you should use the following query :



Query

USE <DB_NAME_MSCRM>

Declare @TN as varchar(200), @CN as varchar(200), @myValue varchar(38), @SQL as nvarchar(1000)
, @SN as varchar(200),
Create Table #myTable (Table_Name varchar(200), Column_Name varchar(200), Number_Of_Rows int)

-- Replace @myValue with the value you're searching for in the database
Set @myValue = 'Guidid' 
Declare myCursor Cursor For
Select T.Table_Name, C.Column_Name, T.Table_Schema
From INFORMATION_SCHEMA.TABLES T Inner Join INFORMATION_SCHEMA.COLUMNS C 
On T.Table_Schema = C.Table_Schema And T.Table_Name = C.Table_Name
Where T.Table_Name <> 'dtproperties' And Table_Type = 'Base Table'
And C.Data_Type In ('uniqueidentifier')
-- Replace if you want other type data
--And C.Data_Type In ('text','ntext')
--And C.Data_Type In ('tinyint','int','bigint','numeric','decimal','money','float','smallint','real','smallmoney')
--And C.Data_Type In ('datetime','dmalldatetime')
Open myCursor
Fetch Next From myCursor Into @TN, @CN, @SN
While @@Fetch_Status <> -1
Begin
                EXECUTE ( N'Insert Into #myTable Select ''' + @SN + '.' + @TN + ''', ''' + @CN + ''', Count(*) From [' + @SN + '].[' + @TN + '] Where [' + @CN + '] = CONVERT(uniqueidentifier ,''' + @myValue + ''' )')
                
                Fetch Next From myCursor Into @TN, @CN, @SN
End
Close myCursor
Deallocate myCursor
Select * From #myTable Where Number_Of_Rows > 0 Order By Table_Name
Drop Table #myTable



You should use this query in order to find also other data type.

Nicola Grillo

No comments:

Post a Comment