I have multiple linked servers and trying to find if a table (approximate table name) exists in one of the linked servers.I have a code to find it in local DB....how can I modify to include all linked servers as well:ALTER PROCEDURE [dbo].[FindTable]@TableName VARCHAR(256)ASDECLARE @DBName VARCHAR(256)DECLARE @varSQL VARCHAR(512)DECLARE @getDBName CURSORSET @getDBName = CURSOR FORSELECT nameFROM sys.databasesCREATE TABLE #TmpTable (DBName VARCHAR(256),SchemaName VARCHAR(256),TableName VARCHAR(256))OPEN @getDBNameFETCH NEXTFROM @getDBName INTO @DBNameWHILE @@FETCH_STATUS = 0BEGINSET @varSQL = 'USE ' + @DBName + ';INSERT INTO #TmpTableSELECT '''+ @DBName + ''' AS DBName,SCHEMA_NAME(schema_id) AS SchemaName,name AS TableNameFROM sys.tablesWHERE name LIKE ''%' + @TableName + '%'''EXEC (@varSQL)FETCH NEXTFROM @getDBName INTO @DBNameENDCLOSE @getDBNameDEALLOCATE @getDBNameSELECT *FROM #TmpTableDROP TABLE #TmpTable
↧