T-Sql
T-SQL 查找數據庫名稱以及是否為特定數據庫啟用了 Filestream
請在下面的查詢中幫助我。
注意: 請原諒我的程式技巧,程式碼有錯誤。
我希望在一個列中輸出數據庫名稱,在另一列中啟用或禁用 FileStream。我正在嘗試的只有 2 列。謝謝
查找數據庫名稱以及是否為數據庫啟用了 FileStream。
declare @cmd varchar(500) set @cmd='USE ? if exists( select name, Filestream from sys.database_files where type_desc='FILESTREAM') CASE type_desc WHEN 'FILESTREAM' THEN 'Filestream Configured For Datbase' ELSE 'Filestream NOT Configured For Datbase' PRINT 'Filestream Configured For Datbase' else print 'Filestream Not configured for database' inner join sys.databases where name not in (''master'', ''tempdb'', ''model'', ''msdb'')') exec sp_MSforeachdb @cmd
參考:
我會改寫您的問題以查找正在使用的數據庫
FILESTREAM
。因為您只能FILESTREAM
在實例級別啟用才能在任何使用者數據庫中使用它。要查找與
FILESTREAM
數據庫名稱相關的所有文件,您可以使用此查詢。SELECT db.NAME AS DBName, type_desc AS FileType, physical_name AS Location FROM sys.master_files mf INNER JOIN sys.databases db ON db.database_id = mf.database_id WHERE type_desc = 'FILESTREAM'