Проверка хранения FileGroup для рабочей области проверок в SQL Server

Убедитесь в том, что рабочая область была создана под правильными FileGroups и обеспечивает надлежащее хранение данных, сокращая риски дисковых конфликтов. Используя ранее измененную конфигурацию DBTUNE, вы можете запустить следующие примеры скриптов в SQL Server Management Studio.

Устанавливает текущую базу данных.

USE REVDB
GO

Перечисляет все FileGroups и файлы данных в определенной базе данных.

EXEC sp_helpdb revdb
GO

Перечисляет файлы данных в определенной FileGroup. В данном примере это будет список файлов данных PRIMARY FileGroup.

EXEC sp_helpfilegroup 'PRIMARY'
GO

Перечисляет таблицы по FileGroup.

SELECT USER_NAME(o.uid) [Owner],
 OBJECT_NAME(i.id) [Table Name], 
 FILEGROUP_NAME(groupid) AS [Filegroup Name]
 FROM sysindexes i inner join sysobjects o
 ON i.id = o.id
 WHERE i.indid IN (0, 1) AND OBJECTPROPERTY(i.id, 'IsMSShipped') = 0 AND
 USER_NAME(o.uid) = 'rev' 
 ORDER BY 1,3,2
GO

Перечисляет индексы по таблице и FileGroup.

select 'owner'=user_name(o.uid) 
,'table_name'=object_name(i.id),i.indid
,'index_name'=i.name ,i.groupid
,'filegroup'=f.name ,'file_name'=d.physical_name
,'dataspace'=s.name from sys.sysindexes i
,sys.sysobjects o,sys.filegroups f 
,sys.database_files d, sys.data_spaces s
where objectproperty(i.id,'IsUserTable') = 1
and i.id = o.id
and f.data_space_id = i.groupid
and f.data_space_id = d.data_space_id
and f.data_space_id = s.data_space_id
and user_name(o.uid) = 'rev'
order by object_name(i.id),i.name,f.name
GO

Если какие-либо таблицы или индексы хранятся в ненадлежащей FileGroup, то для изменения этой FileGroup могут быть использованы ALTER TABLE и ALTER INDEX (см. SQL Server Books Online на http://msdn.microsoft.com/en-us/library/ms130214.aspx).

В SQL Server Management Studio, вы можете создать заново DDL скрипт таблиц и индексов; затем, в рамках создания скрипта, вы можете изменить FileGroup параметры и заново создать таблицы и индексы в правильных FileGroups. Это особенно полезно, когда таблицы пусты, и вы можете повторно создавать объекты базы данных.

5/10/2014