Verifying the FileGroup storage for the 生产化制图 (Production Mapping) workspace in SQL Server (Production Mapping)
确保工作空间创建于正确的文件组下,从而可以进行适当的数据存储并减缓磁盘争用情况。使用之前修改的 DBTUNE 配置,可在 SQL Server Management Studio 中运行以下脚本示例。
Run the following SQL queries to verify that the 生产化制图 (Production Mapping) workspace was created under the correct FileGroups.
对示例进行复制和粘贴可能会导致语法错误。
Set the current database.
USE PMDB
GO
List all FileGroups and data files in a specific database.
EXEC sp_helpdb pmdb
GO
List the data files for a specific FileGroup. In this example, it will list the PRIMARY FileGroup data files.
EXEC sp_helpfilegroup 'PRIMARY'
GO
List tables by FileGroup.
SELECT USER_NAME(o.uid) [Owner],
OBJECT_NAME(i.id) [Table Name],
FILEGROUP_NAME(groupid) AS [Filegroup Name]
FROM sysindexes i inner join sysobjects o
ON i.id = o.id
WHERE i.indid IN (0, 1) AND OBJECTPROPERTY(i.id, 'IsMSShipped') = 0 AND
USER_NAME(o.uid) = 'pm'
ORDER BY 1,3,2
GO
List indexes by table and FileGroup.
select 'owner'=user_name(o.uid)
,'table_name'=object_name(i.id),i.indid
,'index_name'=i.name ,i.groupid
,'filegroup'=f.name ,'file_name'=d.physical_name
,'dataspace'=s.name from sys.sysindexes i
,sys.sysobjects o,sys.filegroups f
,sys.database_files d, sys.data_spaces s
where objectproperty(i.id,'IsUserTable') = 1
and i.id = o.id
and f.data_space_id = i.groupid
and f.data_space_id = d.data_space_id
and f.data_space_id = s.data_space_id
and user_name(o.uid) = 'pm'
order by object_name(i.id),i.name,f.name
GO
如果任何表或索引存储在错误的文件组中,可使用 ALTER TABLE 和 ALTER INDEX 来更改文件组(请参阅《SQL Server 联机丛书》,网址为 http://msdn.microsoft.com/en-us/library/ms130214.aspx)。
在 SQL Server Management Studio 中,还可以重新创建表和索引的 DDL 脚本,然后可以在创建脚本 中修改文件组参数并在正确的文件组中重新创建表和索引。在表为空且允许重新创建数据库对象时,此操作尤其有用。