尋找腳本以掃描所有SQL Server數據庫中的所有表並列出大對象(TEXT,NTEXT,IMAGE VARCHAR(MAX),NVARCHAR(MAX),FILESTREAM, XML,VARBINARY)。用於查找LOB列的SQL Server腳本
雖然我可能可以自己編碼,但我想要一個現成的腳本。
尋找腳本以掃描所有SQL Server數據庫中的所有表並列出大對象(TEXT,NTEXT,IMAGE VARCHAR(MAX),NVARCHAR(MAX),FILESTREAM, XML,VARBINARY)。用於查找LOB列的SQL Server腳本
雖然我可能可以自己編碼,但我想要一個現成的腳本。
select * from information_schema.columns where data_type in
('TEXT', 'NTEXT','IMAGE' ,'XML', 'VARBINARY')
or
(data_type = 'VARCHAR' and character_maximum_length = -1)
OR
(data_type = 'NVARCHAR' and character_maximum_length = -1)
更新刪除自DATA_TYPE從IN FILESTREAM是已經被捕獲
感謝這家今天救了我大量的時間。 – 2015-11-12 19:38:43
試一下這個
select * from information_schema.columns
where DATA_TYPE in('text','ntext','xml','image')
or (DATA_TYPE in('varchar','nvarchar','varbinary')
and CHARACTER_MAXIMUM_LENGTH = -1)
order by DATA_TYPE
FILESTREAM存儲爲varbinary(最大值)
這將VARBINARY僅捕獲varbinary(max),而不是varbinary(20),例如,如果您還想要,然後將varbinary移動到th Ë首要條件,這樣
select * from information_schema.columns
where DATA_TYPE in('text','ntext','xml','image','varbinary')
or (DATA_TYPE in('varchar','nvarchar')
and CHARACTER_MAXIMUM_LENGTH = -1)
order by DATA_TYPE
您的意思是把它作爲標記2008年,因爲文件流是不是在2005年 – 2010-09-27 20:07:01