我想指定一个特定的文件或文件组,用于在数据库中保存特定的表。我怎么能这样做?
答案 0 :(得分: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
的完整语法。您没有指定版本,因此您可能必须从“其他版本”下拉列表中选择适当的选项。