一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

SQL Server 2005 自動(dòng)化刪除表分區(qū)設(shè)計(jì)方案

  一、目的

在前面的文章中我已經(jīng)介紹了SQL Server 合并(刪除)分區(qū)解惑 SQL Server 2005 分區(qū)模板與實(shí)例SQL Server 動(dòng)態(tài)生成分區(qū)腳本,這篇文章就是在上面3篇文章衍生出來的。

我們的服務(wù)器的數(shù)據(jù)已經(jīng)有了800G,并且每天進(jìn)數(shù)據(jù)大概有120W條記錄(數(shù)據(jù)空間大概為7G),而服務(wù)器現(xiàn)在已經(jīng)沒有太多的磁盤空間了,面對這樣的問題,一般都是使用交換表分區(qū)來快速刪除數(shù)據(jù),并使用之前的分區(qū)來存放新進(jìn)的數(shù)據(jù),如果每次都人工的話就太麻煩了,所以我對這個(gè)如何進(jìn)行交換分區(qū)刪除數(shù)據(jù)來清理磁盤空間做成了自動(dòng)化。希望大家拍磚。 

  二、分析與設(shè)計(jì)思路

分區(qū)特點(diǎn):分區(qū)使用了自增ID作為分區(qū)字段;分區(qū)的索引進(jìn)行存儲(chǔ)位置對齊;

設(shè)計(jì)步驟1:表分區(qū)已經(jīng)確定了各個(gè)分區(qū)值,我們就用一個(gè)表保存可能存在的分區(qū)值,并插入到表中,當(dāng)達(dá)到預(yù)警值(Change_Value)時(shí),我們就執(zhí)行交換分區(qū);

設(shè)計(jì)步驟2:使用一個(gè)存儲(chǔ)過程來完成交換分區(qū);

1)     創(chuàng)建一個(gè)臨時(shí)表

2)     交換分區(qū)數(shù)據(jù)

3)     刪除臨時(shí)表

4)     修改分區(qū)方案

5)     修改分區(qū)函數(shù)

設(shè)計(jì)步驟3:使用作業(yè)定時(shí)執(zhí)行存儲(chǔ)過程,實(shí)現(xiàn)自動(dòng)化;

  三、參考腳本

下面是創(chuàng)建表的腳本和執(zhí)行交換分區(qū)的存儲(chǔ)過程,希望對你有幫助。

View Code
CREATE TABLE [dbo].[PartitionManage](
[Id] [int] IDENTITY(1,1) NOT NULL,
[Change_Value] [int] NULL,
[Part_Value] [int] NULL,
[IsDone] [bit] NULL,
CONSTRAINT [PK_PartitionManage] PRIMARY KEY CLUSTERED
(
[Id] ASC
)
WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
)
ON [PRIMARY]

--插入數(shù)據(jù)
declare @i int
declare @maxValue int
set @i=10
set @maxValue=100
while @i <= @maxValue
begin
insert into dbo.PartitionManage values(@i-4,@i,0)
set @i = @i + 10
end

-- =============================================
--
Author: <Viajar>
--
Create date: <2011.02.22>
--
Description: <分區(qū)管理>
--
=============================================
CREATE PROCEDURE [dbo].[sp_PartitionManage]
AS
BEGIN
DECLARE @Max_value INT
DECLARE @Change_value INT
DECLARE @PARTITION_value INT
SELECT @Max_value = MAX(Id) FROM [dbo].[Archive]
SELECT TOP 1 @Change_value = Change_Value,@PARTITION_value= Part_Value
FROM [dbo].[PartitionManage] WHERE IsDone = 0
IF(@Change_value <= @Max_value)--判斷是否需要整理分區(qū)
BEGIN
--創(chuàng)建一個(gè)臨時(shí)表
DECLARE @sql VARCHAR(MAX)
SET @sql = '
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N
''[dbo].[Temp_Archive]'') AND type in (N''U''))
BEGIN
DROP TABLE [dbo].[Temp_Archive]
END
'
EXEC (@sql)
SET @sql = '
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N
''[dbo].[Temp_Archive]'') AND type in (N''U''))
BEGIN
CREATE TABLE [dbo].[Temp_Archive](
[Id] [int] IDENTITY(1,1) NOT FOR REPLICATION NOT NULL,
[SiteId] [int] NULL,
[Title] [nvarchar](4000) NULL,
[Author] [nvarchar](4000) NULL,
[Content] [nvarchar](max) NULL,
CONSTRAINT [PK_Temp_Archive] PRIMARY KEY CLUSTERED
(
[Id] ASC
)WITH( PAD_INDEX = ON, FILLFACTOR = 100, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [Sch_Archive_Id](Id)
) ON [Sch_Archive_Id]([Id])
END
'
EXEC (@sql)

--交換分區(qū)數(shù)據(jù)
DECLARE @Min_Id INT
DECLARE @PARTITION_num INT
SELECT @Min_Id = MIN(Id) FROM [dbo].[Archive]
SELECT @PARTITION_num = [Archives].$PARTITION.Fun_Archive_Id(@Min_Id);
ALTER TABLE [dbo].[Archive] SWITCH PARTITION @PARTITION_num TO [dbo].[Temp_Archive] PARTITION @PARTITION_num

--刪除臨時(shí)表
DROP TABLE [dbo].[Temp_Archive]

--修改分區(qū)方案
DECLARE @PARTITION_string varchar(50)
SET @PARTITION_string = 'FG_Archive_Id_' + RIGHT('0' + CONVERT(NVARCHAR,@PARTITION_num),2)
SET @sql = 'ALTER PARTITION SCHEME [Sch_Archive_Id] NEXT USED ['+@PARTITION_string+']'
EXEC (@sql)

--修改分區(qū)函數(shù)
SET @sql = 'ALTER PARTITION FUNCTION Fun_Archive_Id() SPLIT RANGE ('+CONVERT(VARCHAR(50),@PARTITION_value)+')'
EXEC (@sql)

--更新表
UPDATE [dbo].[PartitionManage] SET IsDone = 1 WHERE Change_Value = @Change_value
END
END

it知識(shí)庫SQL Server 2005 自動(dòng)化刪除表分區(qū)設(shè)計(jì)方案,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 九九99在线视频 | 国产一区91 | 一区二区三区中文国产亚洲 | 午夜国产福利 | 欧美四级 | 涩涩涩涩涩涩涩涩涩涩 | 精品国精品国产自在久国产不卡 | 精品久久中文网址 | 2021国产精品视频 | 国产欧美激情一区二区三区-老狼 | 国产欧美性综合视频性刺激 | 激情欧美一区二区三区中文字幕 | 一级a性色生活片久久毛片 一级爱爱片一级毛片-一毛 | 91色视频在线观看 | 国产成人综合久久亚洲精品 | 国产午夜小视频 | 久久99精品久久只有精品 | 国产成人啪精品视频免费网站软件 | 久久免费视频3 | 中文字幕日本一本二本三区 | 19国产精品麻豆免费观看 | 久久影院精品 | 国内精品久久久久久野外 | 中文一区二区在线观看 | 欧美激情二区 | 激情小视频在线观看 | 欧美日韩亚洲国产一区二区三区 | 亚洲欧美国产另类 | 亚洲第一综合网 | 2021国产麻豆剧传媒精品网站 | 成人免费在线观看视频 | 成人激情视频网 | 久久精品国产精品亚洲婷婷 | 亚洲一区二区三区高清 | 国产人成激情视频在线观看 | 午夜激情视频免费 | 日本在线观看永久免费网站 | 日本免费视屏 | 国产婷婷色一区二区三区深爱网 | 国产 麻豆 欧美亚洲综合久久 | 日韩免费视频一区 |