7

标题很清楚,我新建了一个文件组“ArchiveFileGroup”:

ALTER DATABASE MyDataBase
ADD FILEGROUP ArchiveFileGroup;
GO

我想创建一个名为:arc_myTable 的表,以便存储来自该表的旧数据:myTable

我使用了以下查询:

CREATE TABLE [dbo].acr_myTable(
    [Id] [bigint] NOT NULL,
    [label] [nvarchar](max) NOT NULL,
)on ArchiveFileGroup 

我不确定这是否正确,我不知道在哪里创建 FileGroup 以检查它是否包含表。

4

4 回答 4

7

您可以使用此sql 查询轻松检查:

SELECT o.[name], o.[type], i.[name], i.[index_id], f.[name]
FROM sys.indexes i
INNER JOIN sys.filegroups f
ON i.data_space_id = f.data_space_id
INNER JOIN sys.all_objects o
ON i.[object_id] = o.[object_id]
WHERE i.data_space_id = f.data_space_id
AND o.type = 'U' -- User Created Tables
GO

只需添加:

AND f.name = ArchiveFileGroup

查看新文件组中的所有内容或:

AND o.name = acr_myTable

查看您的桌子所在的位置。

如果您从未将文件添加到文件组中,那么我预计会出现错误,但您没有包含错误消息或任何说明您确实创建了文件的内容。如果你没有,我建议如果需要,从microsoft 文档开始。

OP 发现有助于在他的文件组中创建一个新文件。

于 2014-06-06T17:45:45.603 回答
2

您可以使用sys.filegroups查看服务器中所有创建的文件组,例如

SELECT *
FROM sys.filegroups

有关更多信息,请参见此处列出在所有文件组上创建的所有对象

于 2014-06-06T18:00:14.907 回答
1

这是旧帖子。想添加信息,将来可能会对某人有所帮助。

sp_help <table_name>

您可以看到创建表的文件组。

于 2017-05-01T18:13:14.413 回答
0

注意。您可以通过右键单击表格然后选择属性来检查。在存储上,您可以看到新表属于哪个文件组

在您的情况下:它将在默认文件组上创建表,而不是在您创建的新文件组上。文件组是合乎逻辑的,用于创建辅助文件。前任。如果您需要在与默认驱动器不同的位置创建表,则必须为新文件组定义文件名。

ALTER DATABASE [db] ADD FILEGROUP [NewFileGroup]

ALTER DATABASE [db] ADD FILE ( NAME = N'NewFile', FILENAME = N':D\..\Newfile.ndf' , SIZE = 8192KB , FILEGROWTH = 65536KB ) TO FILEGROUP [NewFileGroup]

于 2019-03-25T18:29:06.860 回答