SQLServer 2008 切换表的存储文件组

CREATE DATABASE [Demo]
ON  PRIMARY		( NAME = N'Demo', FILENAME = N'D:\MSSQLDATA\Demo.mdf' , SIZE = 3072KB , FILEGROWTH = 1024KB ), 
FILEGROUP [FG1] ( NAME = N'Demo01', FILENAME = N'D:\MSSQLDATA\Demo01.ndf' , SIZE = 3072KB , FILEGROWTH = 1024KB ), 
FILEGROUP [FG2] ( NAME = N'Demo02', FILENAME = N'D:\MSSQLDATA\Demo02.ndf' , SIZE = 3072KB , FILEGROWTH = 1024KB ), 
FILEGROUP [FG3] ( NAME = N'Demo03', FILENAME = N'D:\MSSQLDATA\Demo03.ndf' , SIZE = 3072KB , FILEGROWTH = 1024KB )
LOG ON			( NAME = N'Demo_log', FILENAME = N'D:\MSSQLDATA\Demo_log.ldf' , SIZE = 1024KB , FILEGROWTH = 10MB)
GO

USE [Demo]
GO
--	drop table dbo.TAB
CREATE TABLE dbo.TAB(
	Guid uniqueidentifier not null,
	name nvarchar(50) not null,
	sex	 bit not null,
	age  smallint not null,
	indate	datetime not null,
	--CONSTRAINT [PK_TAB] PRIMARY KEY CLUSTERED ([Guid] ASC)ON [FG3]
) ON [FG3]
GO
ALTER TABLE dbo.TAB ADD CONSTRAINT [DF_TAB_Guid] DEFAULT(NEWSEQUENTIALID()) FOR [Guid]
GO
ALTER TABLE dbo.TAB ADD CONSTRAINT [DF_TAB_sex] DEFAULT(1) FOR [sex]
GO
ALTER TABLE dbo.TAB ADD CONSTRAINT [DF_TAB_indate] DEFAULT(GETDATE()) FOR [indate]
GO

--	查看表在哪个文件组
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 o.name in( 'TAB')
GO

--	创建聚集索引主键,并指定存储的文件组
ALTER TABLE dbo.TAB WITH NOCHECK 
ADD CONSTRAINT [PK_TAB] PRIMARY KEY CLUSTERED([Guid]) ON [PRIMARY]
GO

--	删除聚集索引主键,并指定存储的文件组
ALTER TABLE dbo.TAB DROP CONSTRAINT [PK_TAB] WITH (MOVE TO [FG2], ONLINE=ON)
GO

--	创建聚集索引,并指定存储的文件组
CREATE CLUSTERED INDEX [IX_TAB] ON dbo.TAB([Guid]) ON [FG1]
GO

--	删除聚集索引,并指定存储的文件组
DROP INDEX [IX_TAB] ON dbo.TAB WITH (MOVE TO [FG3], ONLINE=ON)
GO




  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值