【问题标题】:Create a table on a filegroup other than the default在非默认文件组上创建表
【发布时间】:2014-06-06 17:34:41
【问题描述】:

标题够清楚,我新建了一个文件组“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 以检查它是否包含表。

【问题讨论】:

  • 如果您使用的是 SSMS,它将显示一个表的文件组。在对象资源管理器表属性中,选择“存储”。

标签: sql sql-server database filegroup


【解决方案1】:

您可以通过此sql query 轻松检查:

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 documentation 开始。

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

【讨论】:

  • 确实,当我检查 FILEGROUP 的属性时,它有 0Mb 没有添加文件。我认为创建 FILEGROUP 时默认添加文件。我不知道如何添加这个文件。我会检查文档。谢谢!
  • @GSDa,你确定吗?因为根据您的帖子,我看到您已经在该文件组上创建了一个表。顺便说一句,这是一张空桌子吗?如果是,那么它可能是。
  • @Rahul 是的,你说得对,它是空的,我无法添加一行。错误表示 filgroup 没有添加文件。
  • @GSDa,您可能希望将其作为单独的问题发布(如果您愿意)。
  • 我找到了一个解决方案,它可以帮助其他人这里是如何将文件添加到现有 FILEGROUP forums.asp.net/t/…
【解决方案2】:

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

SELECT *
FROM sys.filegroups

更多信息请看这里List All Objects Created on All Filegroups

【讨论】:

    【解决方案3】:

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

    sp_help <table_name>

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

    【讨论】:

      【解决方案4】:

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

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

      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]
      

      【讨论】:

        猜你喜欢
        • 2022-01-10
        • 2020-04-29
        • 2015-06-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-11-09
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多