LOB_DATA : varbinary(max),varchar(max), image , text 列。
我有 4 个表,其中包含大量 LOB_DATA。我想将这些表中的 LOB_DATA 移动到不同硬盘中的不同文件组。
我在这个文件组中创建了一个新的文件组和文件。我还使用 了这个问题中的 sql 命令。但是 varbinary 列存储仍保持在原来的位置。
-- To move table data to new filegroup
CREATE UNIQUE CLUSTERED INDEX PK_YourTableName
ON dbo.YourTableName(YourPKFields)
WITH (DROP_EXISTING = ON) ON [NewFilegroup]
我使用以下 sql来查看 lob_data 的文件组。
-- To see lob_data filegroups
SELECT OBJECT_NAME(object_id) as OBJECT_NAME, FILEGROUP_NAME(data_space_id) as
FILE_GROUP_NAME, type_desc
FROM sys.partitions p
JOIN sys.allocation_units a
on p.partition_id = a.container_id
WHERE
type_desc = 'LOB_DATA'
我正在使用 SQL Server 2008。
我找到了以下解决方案how-to-move-the-lob-data-from-one-file-group-to-other。是否存在另一种方法?
Kimberly Tripp 和 Paul Randal 在 sqlmag.com 上有几篇关于这个主题的优秀帖子:
http://www.sqlmag.com/blog/sql-server-questions-answered-28/sql-server-2008-r2/moving-lob-data-142636
http://www.sqlmag.com/blog/sql -server-questions-answered-28/database-administration/moving-lob-data-keeping-table-online-142703