これが遅いと醜いが、レッドゲートからツール購入の短いです(ら)、あなたの検索にISNULL(@コラム「MEをPICK」)でそれを修正することができるかもしれませんnulls ...
DECLARE @Query NVARCHAR(MAX), @Column NVARCHAR(100), @Table NVARCHAR(100)
DECLARE @Search NVARCHAR(100)
SET @Search = 'PICK ME'
IF OBJECT_ID('tempdb.dbo.#Results2','U') IS NOT NULL
DROP TABLE tempdb.dbo.#Results2
CREATE TABLE #Results2(Table_Name VARCHAR(100), Column_Name VARCHAR(100))
DECLARE Col CURSOR FOR
SELECT Table_Name, Column_Name
FROM INFORMATION_SCHEMA.COLUMNS
WHERE COLLATION_NAME IS NOT NULL
ORDER BY TABLE_NAME, ORDINAL_POSITION
OPEN Col
FETCH NEXT FROM Col INTO @Table, @Column
WHILE @@FETCH_STATUS = 0
BEGIN
SET @Query = 'IF EXISTS (SELECT * FROM '+QUOTENAME(@Table)+' WHERE '+QUOTENAME(@Column)+'='''[email protected]+''')
SELECT '''[email protected]+''','''[email protected]+''''
INSERT INTO #Results2
EXEC sp_executesql @Query
FETCH NEXT FROM Col INTO @Table, @Column
END
CLOSE Col
DEALLOCATE Col
SELECT * FROM #Results2
もう一度質問がありますか?ヌルにすることができないフィールドを知りたい場合は、カラムがヌル可能でないシステムテーブルを照会することができます。https://stackoverflow.com/questions/5204684/query-to-check-カラムがヌルであるかどうかを確認するために特定のテーブル統計を実際に知りたいのですか?いずれにしても:https://stackoverflow.com/questions/16852021/how-can-i-inexpensively-determine-if-a-column-contains-only-null-recordsいずれにしても、これは重複した質問のようです。 – xQbert
さらに2番目のリンクに似ていますが、データにNULLが含まれている場合は、フィールドの名前が表示されます。これらのフィールドではnullが許されますが、理想的にはnullは必要ありません。 – plankton
カラムに「不正な」値が含まれていることがわかっても、データ品質のスクリプトではそれほど役に立ちません。問題を修復するために必要な情報、またはそれを引き起こした原因に関するコンテキストは含まれていません。私は、監査テーブルに不正な行を書き込むトリガを提案します。完全な記録で、あなたは実際にあなたのトラブルの原因を見つけ出し、それを修正することができます。 – Greenspark