用于查找LOB列的SQL Server脚本

Ton*_*ich 5 sql-server sql-server-2005

查找脚本以扫描所有SQL Server数据库中的所有表,并列出大对象列(TEXT,NTEXT,IMAGE VARCHAR(MAX),NVARCHAR(MAX),FILESTREAM,XML,VARBINARY).

虽然我可能自己编写代码,但我想要一个现成的脚本.

Con*_*rix 12

 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)
Run Code Online (Sandbox Code Playgroud)

更新从IN删除了FILESTREAM,因为data_type是已捕获的VARBINARY