2012-04-12 2 views

ответ

1

Вы должны быть более конкретными. Вы можете определить, файлы данных, которые доступны в базе данных, говоря:

SELECT name, physical_name, state_desc, size, max_size, is_read_only 
    FROM databasename.sys.database_files 
    WHERE type_desc = 'ROWS'; 

И вы можете увидеть группы файлов здесь:

SELECT name, type_desc, is_read_only 
    FROM sys.filegroups; 

Но как качественно выбрать один для создания как место для новый стол? <shrug> - зависит от того, как вы хотите решить, чего мы не знаем. Вы можете определить немного более качественную информацию, используя для этого соединения:

SELECT FileGroupName = fg.name, FileGroupType = fg.type_desc, 
    FileGroupReadOnly = fg.is_read_only, 
    [FileName] = f.name, [FileLocation] = f.physical_name, 
    [FileState] = f.state_desc, f.size, f.max_size, 
    FileReadOnly = f.is_read_only 
FROM sys.filegroups AS fg 
LEFT OUTER JOIN sys.database_files AS f 
ON fg.data_space_id = f.data_space_id 
ORDER BY fg.data_space_id; 

который покажет вам файлы в каждой файловой группы, их состояния/место/размер и покажет, когда у вас есть неиспользуемые группы файлов, а также (все файловые столбцы будет NULL для этих строк). Таким образом, эти данные могут помочь вам определить, какую файловую группу указать.

Когда вы решили, какую файловую группу использовать, вы можете сказать:

CREATE TABLE dbo.foo(...) ON FileGroupName; 

Вы можете увидеть полный синтаксис CREATE TABLE здесь. Вы не указали версию, поэтому вам может потребоваться выбрать соответствующий вариант из раскрывающегося списка «Другие версии».

+0

Ну, он может указать файловую группу с помощью параметра 'ON' в' CREATE TABLE' – JNK

+0

Мне было трудно определить, был ли вопрос «как указать файловую группу» или «как выбрать файловую группу для указания «? –

+1

... главным образом потому, что название говорит «определить», а тело говорит «укажите» ... –

Смежные вопросы