Как искать весь MS SQL 2 005 дБ для значения?

Проблема состоит в том, что Вы не можете выполнить ifup/down рекурсивно. Я попытался сделать что-то подобное, где я хотел поднять интерфейс VPN, когда интерфейс глобальной сети был поднят.

Мое решение:

echo ifup vpn0 | at now >/dev/null 2>&1

Для автоматического обеспечения интерфейса вверх и вниз, когда кабель будет включен или отключен используйте ifplugd от пакета того же имени.

5
задан 26 July 2009 в 13:55
3 ответа

Вы запрашиваете INFORMATION_SCHEMA.TABLES для всех таблиц, затем запрашивают каждую таблицу.

См. https://stackoverflow.com/questions/593746/sql-to-search-the-entire-ms-sql-2000-database-for-a-value для деталей.

МЛАДШИЙ

6
ответ дан 3 December 2019 в 01:28
  • 1
    Спасибо. Это работало бы. Я также нашел Инструменты SMMS, который легче. –  Techboy 26 July 2009 в 15:35

Я нашел этот сценарий полезным ...

BEGIN TRAN

declare @search nvarchar(100)
set @search = 'string to search for'

-- search whole database for text
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED

IF nullif(object_id('tempdb..#tmpSearch'), 0) IS NOT NULL DROP TABLE #tmpSearch
CREATE TABLE #tmpSearch (
    ListIndex int identity(1,1),
    CustomSQL nvarchar(2000)
)
Print 'Getting tables...'
INSERT #tmpSearch (CustomSQL)
select 'IF EXISTS (select * FROM [' + TABLE_NAME + '] WHERE [' + COLUMN_NAME + '] LIKE ''%' + @search + '%'') BEGIN PRINT ''Table ' + TABLE_NAME + ', Column ' + COLUMN_NAME + ''';select * FROM [' + TABLE_NAME + '] WHERE [' + COLUMN_NAME + '] LIKE ''%' + @search + '%'' END'  FROM information_schema.columns
where DATA_TYPE IN ('ntext', 'nvarchar', 'uniqueidentifier', 'char', 'varchar', 'text')
and TABLE_NAME NOT IN ('table_you_dont_want_to_look_in', 'and_another_one') 


Print 'Searching...

'
declare @index int
declare @customsql nvarchar(2000)
WHILE EXISTS (SELECT * FROM #tmpSearch)
BEGIN
    SELECT @index = min(ListIndex) FROM #tmpSearch

    SELECT @customSQL = CustomSQL FROM #tmpSearch WHERE ListIndex = @index

    IF @customSql IS NOT NULL
        EXECUTE (@customSql)

    SET NOCOUNT ON
    DELETE #tmpSearch WHERE ListIndex = @index
    SET NOCOUNT OFF
END

print 'the end.'
ROLLBACK
1
ответ дан 3 December 2019 в 01:28

Теги

Похожие вопросы