Moim zdaniem masz 2 możliwości, skoro przez Excela masz dostęp to równie dobrze masz ten dostęp przez inne programy
Spsób #1
- Instalujesz SSMS
- Instalujesz dodatek do SSMS np: SQL Search2
- Użuwasz dodatku do znalezienia szukanej wartości
Sposób #2
- ŚciągaszQuery Express
- Uzywasz go do pusczenia skryptu:
DECLARE @SearchStr NVARCHAR(60)
DECLARE @sql NVARCHAR(MAX)
DECLARE @tmpTblname sysname
DECLARE @ParmDefinition nvarchar(500)
DECLARE @c bigint
DECLARE @SQLTbl TABLE (
Tablename NVARCHAR(500)
,WHEREClause NVARCHAR(MAX)
,SQLStatement NVARCHAR(MAX)
,Execstatus bit
,c bigint
)
--SZUKANY CIĄG ZNAKÓW
SET @SearchStr ='%SZUKANY CIĄG ZNAKÓW%'
SET @ParmDefinition = N'@cOUT bigint OUTPUT'
INSERT INTO @SQLTbl (tablename, WHEREClause,c)
SELECT
SCh.name + '.' + ST.NAME
,(
SELECT '[' + SC.name + ']' + ' LIKE ''' + @SearchStr + ''' OR ' + CHAR(10)
FROM SYS.columns SC
JOIN SYS.types STy
ON STy.system_type_id = SC.system_type_id
AND STy.user_type_id =SC.user_type_id
WHERE STY.name in ('varchar','char','nvarchar','nchar')
AND SC.object_id = ST.object_id
ORDER BY SC.name
FOR XML PATH('')
)
,0
FROM
SYS.tables ST
JOIN SYS.schemas SCh ON ST.schema_id = SCh.schema_id
GROUP BY
ST.object_id
, SCh.name + '.' + ST.NAME
delete
from
@SQLTbl
where
whereClause is null
UPDATE
@SQLTbl
set
SQLStatement = N'select @cOUT = count(*) from ' + Tablename + N' where ' + substring(WHEREClause,1,len(WHEREClause)-5)
WHILE EXISTS (SELECT 1 FROM @SQLTbl WHERE ISNULL(Execstatus ,0) = 0)
BEGIN
SELECT TOP 1
@tmpTblname = Tablename
,@sql = SQLStatement
FROM
@SQLTbl
WHERE
ISNULL(Execstatus ,0) = 0
EXECUTE sp_executesql @sql, @ParmDefinition, @cOUT=@c OUTPUT;
UPDATE
@SQLTbl
SET
Execstatus = 1
,c=@c
WHERE
Tablename = @tmpTblname
END
select
Tablename as [Tabela]
,c as [Ilosc Rekordów]
,'select * from ' + Tablename + ' WHERE ' + substring(WHEREClause,1,len(WHEREClause)-5) AS [ZAPYTANIE DO SPRAWDZENIA DANYCH]
from
@SQLTbl
WHERE
C>0
@lampasss przedstawił też dobry skrypt, ale musisz mieć uprawnienia aby tworzyć obiekty na bazie...