我想指定一个特定的文件或文件组来保存数据库中的特定表。我怎样才能做到这一点?
问问题
1354 次
1 回答
2
你需要更具体。您可以通过以下方式确定数据库中可用的数据文件:
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
。您没有指定版本,因此您可能必须从“其他版本”下拉列表中选择适当的选项。
于 2012-04-12T16:25:36.983 回答