获得 Production Mapping 许可后可用。
标准 GIS 存储建议倾向于将索引和日志文件与矢量和表格业务表分开保存。出于性能方面的考虑,最好分开放置业务、要素和空间索引表,并根据文件组数据文件的使用模式对其进行放置。对于多版本化且非常活跃的编辑地理数据库,VERSIONS 文件组的数据库文件可能是分开的并分布于各个可用磁盘中,从而避免出现输入/输出争用情况。
下表列出了为存储要素和表而建议创建的文件组。
FILEGROUP | CONFIGURATION KEYWORD_PARAMETER |
---|---|
PRODLIB_BDATA | Business table |
PRODLIB_BINDEX | Business table index |
PRODLIB_SDATA | Spatial Index table |
PRODLIB_SINDEX | Spatial Index table index |
PRODLIB_ADATA | Adds table (versioned) |
PRODLIB_AINDEX | Adds table index |
PRODLIB_DDATA | Deletes table (versioned) |
PRODLIB_DINDEX | Deletes table index |
PRODLIB_XMLDOC | XML documents |
PRODLIB_XMLIDX | XML documents indexes |
PRODLIB_SDEDICT | Data dictionary |
PRODLIB_SDEDICTINDEX | Data dictionary index |
The following script can be run in SQL Management Studio to add FileGroups.
USE MASTER
GO
ALTER DATABASE [PRODLIBDB] ADD FILEGROUP [PRODLIB_BDATA]
GO
ALTER DATABASE [PRODLIBDB] ADD FILE (NAME = N'prodlib_Bdata01', FILENAME = N'C:\mssql\data\prodlibdb\prodlib_Bdata01.NDF' , SIZE = 1, MAXSIZE = 800, FILEGROWTH = 1) TO FILEGROUP [PRODLIB_BDATA]
GO
ALTER DATABASE [PRODLIBDB] ADD FILEGROUP [PRODLIB_BINDEX]
GO
ALTER DATABASE [PRODLIBDB] ADD FILE (NAME = N'prodlib_Bindex01', FILENAME = N'C:\mssql\data\prodlibdb\prodlib_Bindex01.NDF' , SIZE = 1, MAXSIZE = 800, FILEGROWTH = 1) TO FILEGROUP [PRODLIB_BINDEX]
GO
ALTER DATABASE [PRODLIBDB] ADD FILEGROUP [PRODLIB_SDATA]
GO
ALTER DATABASE [PRODLIBDB] ADD FILE (NAME = N'prodlib_Sdata01', FILENAME = N'C:\mssql\data\prodlibdb\prodlib_Sdata01.NDF' , SIZE = 1, MAXSIZE = 800, FILEGROWTH = 1) TO FILEGROUP [PRODLIB_SDATA]
GO
ALTER DATABASE [PRODLIBDB] ADD FILEGROUP [PRODLIB_SINDEX]
GO
ALTER DATABASE [PRODLIBDB] ADD FILE (NAME = N'prodlib_Sindex01', FILENAME = N'C:\mssql\data\prodlibdb\prodlib_Sindex01.NDF' , SIZE = 1, MAXSIZE = 800, FILEGROWTH = 1) TO FILEGROUP [PRODLIB_SINDEX]
GO
ALTER DATABASE [PRODLIBDB] ADD FILEGROUP [PRODLIB_ADATA]
GO
ALTER DATABASE [PRODLIBDB] ADD FILE (NAME = N'prodlib_Adata01', FILENAME = N'C:\mssql\data\prodlibdb\prodlib_Adata01.NDF' , SIZE = 1, MAXSIZE = 800, FILEGROWTH = 1) TO FILEGROUP [PRODLIB_ADATA]
GO
ALTER DATABASE [PRODLIBDB] ADD FILEGROUP [PRODLIB_AINDEX]
GO
ALTER DATABASE [PRODLIBDB] ADD FILE (NAME = N'prodlib_Aindex01', FILENAME = N'C:\mssql\data\prodlibdb\prodlib_Aindex01.NDF' , SIZE = 1, MAXSIZE = 800, FILEGROWTH = 1) TO FILEGROUP [PRODLIB_AINDEX]
GO
ALTER DATABASE [PRODLIBDB] ADD FILEGROUP [PRODLIB_DDATA]
GO
ALTER DATABASE [PRODLIBDB] ADD FILE (NAME = N'prodlib_Ddata01', FILENAME = N'C:\mssql\data\prodlibdb\prodlib_Ddata01.NDF' , SIZE = 1, MAXSIZE = 800, FILEGROWTH = 1) TO FILEGROUP [PRODLIB_DDATA]
GO
ALTER DATABASE [PRODLIBDB] ADD FILEGROUP [PRODLIB_DINDEX]
GO
ALTER DATABASE [PRODLIBDB] ADD FILE (NAME = N'prodlib_Dindex01', FILENAME = N'C:\mssql\data\prodlibdb\prodlib_Dindex01.NDF' , SIZE = 1, MAXSIZE = 800, FILEGROWTH = 1) TO FILEGROUP [PRODLIB_DINDEX]
GO
ALTER DATABASE [PRODLIBDB] ADD FILEGROUP [PRODLIB_XMLDOC]
GO
ALTER DATABASE [PRODLIBDB] ADD FILE(NAME = N'prodlib_Xmldoc_01', FILENAME = N'D:\mssqldata\prodlibdb\prodlib_Xmldoc_01.NDF' , SIZE = 1, MAXSIZE = 800, FILEGROWTH = 1) TO FILEGROUP [PRODLIB_XMLDOC]
GO
ALTER DATABASE [prodlibdb] ADD FILEGROUP [PRODLIB_XMLINDEX]
GO
ALTER DATABASE [prodlibdb] ADD FILE(NAME = N'prodlib_Xmlindex_01', FILENAME = N'D:\mssqldata\prodlibdb\prodlib_Xmlindex_01.NDF' , SIZE = 1, MAXSIZE = 800, FILEGROWTH = 1) TO FILEGROUP [PRODLIB_XMLINDEX]
GO
ALTER DATABASE [prodlibdb] ADD FILEGROUP [PRODLIB_SDEDICT]
GO
ALTER DATABASE [prodlibdb] ADD FILE(NAME = N'prodlib_Sdedict_01', FILENAME = N'D:\mssqldata\prodlibdb\prodlib_Sdedict_01.NDF' , SIZE = 1, MAXSIZE = 800, FILEGROWTH = 1) TO FILEGROUP [PRODLIB_SDEDICT]
GO
ALTER DATABASE [prodlibdb] ADD FILEGROUP [PRODLIB_SDEDICTINDEX]
GO
ALTER DATABASE [prodlibdb] ADD FILE(NAME = N'prodlib_Sdedictindex_01', FILENAME = N'D:\mssqldata\prodlibdb\prodlib_Sdedictindex_01.NDF' , SIZE = 1, MAXSIZE = 800, FILEGROWTH = 1) TO FILEGROUP [PRODLIB_SDEDICTINDEX]
GO
通过将数据文件的初始大小设置为 1 MB,以避免在创建文件组时发生延迟。然后,可以重新调整数据文件的大小以避免产生碎片。
ALTER DATABASE [PRODLIBDB] MODIFY FILE ( NAME = N'prodlib_Bdata01', SIZE = 400MB )
ALTER DATABASE [PRODLIBDB] MODIFY FILE ( NAME = N'prodlib_Bindex01', SIZE = 400MB )
ALTER DATABASE [PRODLIBDB] MODIFY FILE ( NAME = N'prodlib_Sdata01', SIZE = 400MB )
ALTER DATABASE [PRODLIBDB] MODIFY FILE ( NAME = N'prodlib_Sindex01', SIZE = 400MB )
ALTER DATABASE [PRODLIBDB] MODIFY FILE ( NAME = N'prodlib_Adata01', SIZE = 400MB )
ALTER DATABASE [PRODLIBDB] MODIFY FILE ( NAME = N'prodlib_Aindex01', SIZE = 400MB )
ALTER DATABASE [PRODLIBDB] MODIFY FILE ( NAME = N'prodlib_Ddata01', SIZE = 400MB )
ALTER DATABASE [PRODLIBDB] MODIFY FILE ( NAME = N'prodlib_Dindex01', SIZE = 400MB )
ALTER DATABASE [PRODLIBDB] MODIFY FILE ( NAME = N'prodlib_Xmldoc_01', SIZE = 400MB )
ALTER DATABASE [PRODLIBDB] MODIFY FILE ( NAME = N'prodlib_Xmlindex_01', SIZE = 400MB )
ALTER DATABASE [PRODLIBDB] MODIFY FILE ( NAME = N'prodlib_Sdedict_01', SIZE = 400MB )
ALTER DATABASE [PRODLIBDB] MODIFY FILE ( NAME = N'prodlib_Sdedictindex_01', SIZE = 400MB )
Use the following to verify FileGroups and data files:
EXEC sp_helpdb prodlibdb
GO