Poniżej kilka zapytań, które pomogą wykonać pierwsze kroki przy troulbeshootingu tabel wykorzystujących filestream:
Parę informacji o grupie plików typu FILESTREAM:
select * from sys.data_spaces where type=’FD’;
Gdzie znajdują się pliki i katalogi, w których SQL server przechowuje dane FILESTREAM:
select * from sys.database_files where type = 2;
Jakie tabele korzystają z filestream:
select * from sys.tables where filestream_data_space_id is not null
Jakie kolumny tabel zawierają dane przechowywane w FILESTREAM:
select * from sys.columns where is_filestream =1
Połączenie oby wyników powyżej razem – które tabele i jakie kolumny tych tabel korzystają z filestream
select t.name, c.name from sys.columns c
join sys.tables t ON t.object_id=c.object_id
where is_filestream=1
I wreszczie próbny odczyt danych z kolumny typu FILESTREAM:
SELECT *, CAST (FileContent AS VARCHAR(MAX))FROM MyTable
Gdyby coś było nie tak z rekordem (np. ktoś usunął plik z dysku), to w/w zapytanie się nie uda i pozwoli ci ustalić, który rekord zawiera braki.