Мы собираемся начать использовать файловый поток sql 2008 и пройти через инструкции по его настройке. Один из элементов, которые мы делаем, - это все в одном sql-скрипте, который можно запускать несколько раз без повреждения данных или выполнения ненужных шагов.
До сих пор мы создали группу файлового потока и теперь хотите определить контейнер данных файлового потока с помощью следующего оператора
ALTER DATABASE Production ADD FILE (
NAME = FSGroup1File,
FILENAME = 'F:\Production\FSDATA')
TO FILEGROUP FileStreamGroup1;
GO
Есть ли способ проверить, было ли это уже сделано? т.е.
if (select COUNT(*) from sys.????? where name = '?????')=0
ALTER DATABASE Production ADD FILE (
NAME = FSGroup1File,
FILENAME = 'F:\Production\FSDATA')
TO FILEGROUP FileStreamGroup1;
GO
Извините, если это базовый вопрос, но я немного новичок, когда дело касается БД.
Спасибо.
IF NOT EXISTS (select 1 from sys.database_files where name = 'LogicalFileName')
ALTER DATABASE...
Изменить: исправленное имя представления в соответствии с предложением Ника Кавадиаса.
Вы можете использовать sys.sysfiles, как предлагает NYSystemsAnalyst. хотя это представление совместимости для SQL Server 2000. Предпочтительные системные представления для использования: