删除和创建ms sql的分区文件
今天测试ms sql 的表分区的时候,不小心搞错了分区的条件。然后我想重新做一次,操作流程如下(按顺序)
1:删除SCHEME
DROP PARTITION SCHEME TestSPScheme
2: 删除FUNCTION
DROP PARTITION FUNCTION TestSPFunction
3:查询分区的DATABAE FILE,并删除
SELECT * FROM sys.database_files
ALTER DATABASE MOD_HK REMOVE FILE MOD_HKFirstPart
删除后,一定要备份下log,否则 MOD_HKFirstPart只是写了标记
state_desc size
OFFLINE 640
OFFLINE 640
执行备份日志后就清除了OFFLINE 的了。
backup log MOD_HK TO DISK='NUL:'
4:查询新增的GROUP ,并执行删除命令
查询GROUP: SELECT * FROM sys.filegroups
删除GROUP:
ALTER DATABASE MOD_HK
REMOVE FILEGROUP FGSP1
附上完整创建分区的例子:
1:创建基础表
declare @i int
set @i =0
while @i < 50000
begin
set @i = @i + 1
insert marcus (mcode,name,qty,Amount,createon,createby)
values('mcode_'+CONVERT(varchar(8),@i),'name_'+CONVERT(varchar(8),@i),@i,@i*100,DATEADD(DAY,@i,GETDATE()),'marcus')
end
2:创建数据库文件组及组,我这里创建了3个
ALTER DATABASE MOD_HK
ADD FILEGROUP FGSP1
GO
ALTER DATABASE MOD_HK
ADD FILE
(
NAME = 'MOD_HKFirstPart',
FILENAME = 'D:\SPPartition\FirstPart\MOD_HKFirstPart.ndf',
SIZE = 5120 KB,
MAXSIZE = UNLIMITED,
FILEGROWTH = 5120 KB
) TO FILEGROUP FGSP1
GO
ALTER DATABASE MOD_HK
ADD FILEGROUP FGSP2
GO
ALTER DATABASE MOD_HK
ADD FILE
(
NAME = 'MOD_HKSecondPart',
FILENAME = 'D:\SPPartition\SecondPart\MOD_HKSecondPart.ndf',
SIZE = 5120 KB,
MAXSIZE = UNLIMITED,
FILEGROWTH = 5120 KB
) TO FILEGROUP FGSP2
GO
ALTER DATABASE MOD_HK
ADD FILEGROUP FGSP3
GO
ALTER DATABASE MOD_HK
ADD FILE
(
NAME = 'MOD_HKThirdPart',
FILENAME = 'D:\SPPartition\ThirdPart\MOD_HKThirdPart.ndf',
SIZE = 5120 KB,
MAXSIZE = UNLIMITED,
FILEGROWTH = 5120 KB
) TO FILEGROUP FGSP3
GO
3:查看文件组情况
SELECT * FROM sys.filegroups
显示情况
name data_space_id type type_desc is_default filegroup_guid log_filegroup_id is_read_only
PRIMARY 1 FG ROWS_FILEGROUP 1 NULL NULL 0
FGSP1 2 FG ROWS_FILEGROUP 0 64DDC2BD-23A0-4C98-9091-214DAB3C91A8 NULL 0
FGSP2 3 FG ROWS_FILEGROUP 0 32853D4B-B6A8-4844-8775-E2761CCD0CE1 NULL 0
FGSP3 4 FG ROWS_FILEGROUP 0 80DF9C6A-DF01-4AFF-ABFD-3E051E261CFF NULL 0
4:查看文件组文件情况
SELECT * FROM sys.database_files
file_id file_guid type type_desc data_space_id name physical_name state state_desc size max_size growth is_media_read_only is_read_only is_sparse is_percent_growth is_name_reserved create_lsn drop_lsn read_only_lsn read_write_lsn differential_base_lsn differential_base_guid differential_base_time redo_start_lsn redo_start_fork_guid redo_target_lsn redo_target_fork_guid backup_lsn
1 A5D905EF-8934-4256-B1A9-167F60DCB23E 0 ROWS 1 MOD_HK D:\MySoftware\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\MOD_HK.mdf 0 ONLINE 1920 -1 128 0 0 0 0 0 NULL NULL NULL NULL 100000000042400082 C92A9BE2-9855-4BC4-99FB-46A2B797D501 2013-10-08 03:20:04.547 NULL NULL NULL NULL NULL
2 0FFB8F77-729F-4711-A5C8-4D9C8CACE4B0 1 LOG 0 MOD_HK_log D:\MySoftware\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\MOD_HK.ldf 0 ONLINE 7928 268435456 10 0 0 0 1 0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
3 AED349BD-D83E-425F-9372-7E212A3429BE 0 ROWS 2 MOD_HKFirstPart D:\SPPartition\FirstPart\MOD_HKFirstPart.ndf 0 ONLINE 640 -1 640 0 0 0 0 0 209000000059000001 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
4 0CC39126-5E43-4A16-95DC-E71A646758AD 0 ROWS 3 MOD_HKSecondPart D:\SPPartition\SecondPart\MOD_HKSecondPart.ndf 0 ONLINE 640 -1 640 0 0 0 0 0 209000000063800001 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
5 01B55786-ED50-4786-AEDC-A6CD539C6E12 0 ROWS 4 MOD_HKThirdPart D:\SPPartition\ThirdPart\MOD_HKThirdPart.ndf 0 ONLINE 640 -1 640 0 0 0 0 0 209000000068600001 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
5:插入分区的函数和分区的架构
--删除时,须先删除TestSPScheme
-- drop PARTITION SCHEME TestSPScheme
--drop PARTITION FUNCTION TestSPFunction
CREATE PARTITION FUNCTION TestSPFunction (Datetime)
AS RANGE RIGHT FOR VALUES ( '2059-08-21 11:32:49.073', '2119-12-25 11:33:09.417','2100-02-27 11:33:03.030')
GO
CREATE PARTITION SCHEME TestSPScheme
AS PARTITION TestSPFunction
TO ([PRIMARY], FGSP1, FGSP2,FGSP3 )
GO
5:创建分区
ALTER TABLE marcus add CONSTRAINT [PK_createon] PRIMARY KEY CLUSTERED (createon)
ON TestSPScheme(createon)
注意这里如果你的表是设置了簇集主键时,需要先删除。
6:查看数据对应的所在分区
SELECT *, $PARTITION.TestSPFunction(createon) FROM marcus
删除和创建ms sql的分区文件的更多相关文章
- MS SQL 迁移数据库文件
MS SQL 数据库迁移文件,这里说的不是将数据库迁移到另外一台服务器,只是在服务器不同磁盘目录内做迁移.移动数据库文件的情况大致有下面一些: 1: 事先没有规划好,数据库文件或日志文件增长过快,导致 ...
- 网站添加数据出错,原来是MS SQL Server2008日志文件占据空间过大导致的
最近发现公司上线的八爪鱼招标网有部分功能出现问题,主要表现为无法向数据库插入数据:远程登陆到数据库服务器时,发现原本的40G空间都被数据库吃完了,于是打开MS SQL Server 2008对数据库进 ...
- 批量创建SQL Server分区文件
) declare @i int set @table = 'v3_yqsd_report' begin exec('alter database '+@table+' add filegroup O ...
- MS SQL Server中数据表、视图、函数/方法、存储过程是否存在判断及创建
前言 在操作数据库的时候经常会用到判断数据表.视图.函数/方法.存储过程是否存在,若存在,则需要删除后再重新创建.以下是MS SQL Server中的示例代码. 数据表(Table) 创建数据表的时候 ...
- MS SQL 需要定期清理日志文件
前言碎语 关于对SQL SERVER 日志文件管理方面了解不多的话,可以参考我的这篇博客文章“MS SQL 日志记录管理”,不过这篇文章只是介绍对SQL SERVER日志记录的深入认知了解,并没有提出 ...
- (二)SQL Server分区创建过程
虽然分区有很多好处(一)SQL Server分区详解Partition,却不能随意使用:且不说分区管理的繁琐,只是跨分区带来的负面影响就需要我们好好分析是否有必要使用分区.一般分区创建的业务特点:用于 ...
- MS SQL Server数据库修复/MDF数据文件数据恢复/MDF质疑/mdf无法附加
微软的SQL Server 数据库最常用的有两种类型的文件: 1.主要数据文件,文件后缀一般是.MDF: 2.事务日志文件,文件后缀一般是.LDF. 用户数据表.视图.存储过程等等数据,都是存放在MD ...
- MS SQL 监控数据/日志文件增长
前几天,在所有数据库服务器部署了监控磁盘空间的存储过程和作业后(MS SQL 监控磁盘空间告警),今天突然收到了两封告警邮件,好吧,存储规划是一方面,但是,是不是要分析一下是什么原因造成磁盘空 ...
- 使用SQL脚本创建数据库,操作主键、外键与各种约束(MS SQL Server)
在实际开发中,可能很少人会手写sql脚本来操作数据库的种种.特别是微软的MS SQL Server数据库,它的SQL Server Management Studio对数据库的图形化操作极致简便,从而 ...
随机推荐
- ios学习笔记(一)之Object-C
一:Objective-C语言基础 二:Objective-C类与继承和协议 一:Objective-C语言基础: 1.1)#import 包含头文件 与#include 作用相同 1.2)Obje ...
- 用django创建一个简单的sns
用django创建一个简单的sns 1.首先创建一个工程newsns django-admin.py startproject newsns 在工程目录下新建一个文件夹templates,在该文件夹下 ...
- CentOS_6.5_x64:VNC安装配置
1.安装软件前首先检查下系统是否已经安装了这个软件:rpm -qa tigervnc-server 2.根据前面命令的查询,显示系统还是没有安装VNC服务器端软件,那么我们就使用命令进行安装一下:yu ...
- OpenGL屏幕二维坐标转化成三维模型坐标
我们把OpenGL里模型的三维坐标往二维坐标的转化称为投影,则屏幕上的二维坐标往三维坐标转化则可以称为反投影,下面我们来介绍一下反投影的方法. 主要是gluUnProject函数的使用,下面是代码: ...
- linux常见笔试题
一.填空题: 1. 在Linux系统中,以 文件 方式访问设备 . 2. Linux内核引导时,从文件 /etc/fstab 中读取要加载的文件系统. 3. Linux文件系统中每个文件用 i节点 来 ...
- jQuery Ajax用法
jQuery Ajax在web应用开发中很常用,它主要包括有ajax,get,post,load,getscript等等这几种常用无刷新操作方法,下面我来给各位同学介绍介绍. 我们先从最简单的方法看起 ...
- ActiveMQ的简单例子应用
ActiveMQ是一种消息中间件,它实现了JMS规范,提供点对点和订阅-发布两种模式.下面介绍下ActiveMQ的使用: 一.环境的搭建 首先我们需要下载ActiveMQ的安装包,下载地址http:/ ...
- windows下运行hadoop2.7.2
1.下载hadoop-2.7.2.tar.gz 2.解压到D:\hadoop\ 3.配置HADOOP_HOME环境变量 4.将%HADOOP_HOME%\bin目录添加到path环境变量中 5.配置J ...
- 【NOIP2013】DAY1题解+代码
T1 傻逼快速幂,敲敲就过了. 我跟你们讲个笑话当时我以为这个数据范围过不了于是想出了求GCD再推规律什么的magic方法中途还咨询了某个学长. 然后怎么想都是不可做. ……直到我发现我昨年的代码一个 ...
- 关于64位win7环境下VS连接oracle数据库的问题
本机环境:64位win7,安装了64位的oracle桌面类 服务器环境:64位windows server 2008,64位oracle服务器端 问题:本机用sql developer连数据库没有问题 ...