SQLServer 2008 切换表的存储文件组
2016-07-27 22:12
309 查看
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
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
相关文章推荐
- oracle常用计算需注意细节
- Oracle 11g R2 DBA 操作指南(6)
- MySQL基础(二)
- 第三十二天 MySQL服务器日志、备份恢复、MySQLdump及xtrabackup的使用
- PostGIS/PostgreSQL vs. MySql vs. SQL Server
- mysql刷新mysql-bin
- win 10 安装 mysql解压版 步骤
- mysql的四种类型时间
- MySql 使用foreach标签 批量插入list中数据,主键自增,插入
- .NET基于Redis缓存实现单点登录SSO的解决方案
- Memcache的最佳实践方案
- Redis 和 Memcache 的性能对比基础篇
- mysql查询性能优化
- 【Postgresql源码分析之四】同步复制源码分析--支持多个同步备机
- tablespace 表空间
- R在Windows下连接Oracle数据库
- mysql5.5.28 通用二进制安装
- mongodb c++ API
- mysql提示command not found
- 通过隧道连接内网的PostgreSQL以及跨域与部署方案