中文字幕日韩一区二区_国产一区二区av_国产毛片av_久久久久国产一区_色婷婷电影_国产一区二区精品

SQL Server 數(shù)據(jù)庫(kù)遷移偏方

  一、目的

之前在博文SQL Server 數(shù)據(jù)庫(kù)最小宕機(jī)遷移方案中提到了使用了完全備份+差異備份的功能完成了數(shù)據(jù)庫(kù)的轉(zhuǎn)移,但是這個(gè)方法在遇到了700多G的數(shù)據(jù)時(shí)顯然不適用,所以這篇中我是如何遷移700G的數(shù)據(jù)庫(kù)到新的服務(wù)器的。 

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

  (一) 環(huán)境描述

我們的數(shù)據(jù)庫(kù)使用了SQL Server 2005的,部署在Windows Server 2003 x86位操作系統(tǒng)上,有一個(gè)表占了這個(gè)數(shù)據(jù)庫(kù)大部分的空間。

面對(duì)上面的情況,我們的數(shù)據(jù)庫(kù)壓力比較大了,所以我們打算在同一個(gè)集群中找另外一臺(tái)機(jī)器,轉(zhuǎn)移這個(gè)數(shù)據(jù)庫(kù)的數(shù)據(jù)過(guò)去,通過(guò)設(shè)置新服務(wù)器的一些參數(shù)來(lái)達(dá)到優(yōu)化這個(gè)數(shù)據(jù)庫(kù)的目的。

  (二) 數(shù)據(jù)分析

在拿到一個(gè)數(shù)據(jù)庫(kù)的時(shí)候,我們應(yīng)該查看這個(gè)數(shù)據(jù)庫(kù)相關(guān)的信息,在了解了數(shù)據(jù)庫(kù)的情況和參數(shù)之后再做出初步的評(píng)估,比如我們需要知道這個(gè)700G的數(shù)據(jù)庫(kù)中那些表占用了多少空間,索引占了多少空間(有一個(gè)SQL可以直接查看到這些信息),是否做了表分區(qū)。

了解參數(shù)的時(shí)候可以看看服務(wù)器硬件信息,比如內(nèi)存、硬盤(pán)、是否做了RAID策略、什么操作系統(tǒng)、數(shù)據(jù)庫(kù)的版本、內(nèi)存的壓力、CPU的壓力等等信息。了解這些信息是我們決定是否遷移到新的服務(wù)器的重要因素。

如果決定了進(jìn)行數(shù)據(jù)遷移,那么為了不影響我們的生產(chǎn)的數(shù)據(jù)庫(kù),讓生產(chǎn)數(shù)據(jù)庫(kù)還能進(jìn)數(shù)據(jù),我們一次要搬多少條記錄才是合適的,這個(gè)我們也是需要計(jì)算的。(搬遷的Job盡量讓時(shí)間間隔大點(diǎn),如果前一個(gè)Job還沒(méi)有執(zhí)行完的話,后一個(gè)Job即使到了時(shí)間也是不會(huì)執(zhí)行的。)

  (三) 設(shè)計(jì)思路

  1.      創(chuàng)建一個(gè)表。這個(gè)表用來(lái)保存我們一次需要轉(zhuǎn)移的多少數(shù)據(jù)的ID值;(這個(gè)ID是我們要遷移表的主鍵,自增字段)。那我們需要一次性遷移多少數(shù)據(jù)呢?這個(gè)我們可以通過(guò)計(jì)算比如1000條記錄有多少M(fèi),一次傳輸對(duì)局域網(wǎng)的壓力大嘛?最好讓ID是一個(gè)整千或者整萬(wàn)的整數(shù),這樣方便記錄和查看。

  2.      創(chuàng)建一個(gè)服務(wù)器對(duì)象-鏈接服務(wù)器。這樣就可以讀取到其它服務(wù)器上的數(shù)據(jù)庫(kù)了,可以進(jìn)行數(shù)據(jù)搬遷了(注意這里需要設(shè)置鏈接服務(wù)器的帳號(hào)和密碼)

  3.      創(chuàng)建一個(gè)存儲(chǔ)過(guò)程。用于讀取、控制轉(zhuǎn)移數(shù)據(jù),這存儲(chǔ)過(guò)程需要比較智能一點(diǎn),它需要解決下面缺陷中提到的幾個(gè)問(wèn)題。

  4.      創(chuàng)建一個(gè)Job。這個(gè)Job就調(diào)用這個(gè)存儲(chǔ)過(guò)程,不過(guò)需要嘗試多幾次調(diào)用的頻率問(wèn)題。

  三、參考腳本

下面列出一些重點(diǎn)的sql,供參考。

--1,創(chuàng)建表

CREATE TABLE [dbo].[Temp_MoveManage](

[Id] [int] NOT NULL,

[IsDone] [bit] NOT NULL,

[UpdateTime] [datetime] NULL,

CONSTRAINT [PK_Temp_MoveManage] PRIMARY KEY CLUSTERED

(

[Id] ASC

)
WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]

)
ON [PRIMARY]

--插入數(shù)據(jù)

declare @i int

set @i=1

while @i < 50000000

begin

insert into dbo.Temp_MoveManage values(@i,0)

set @i = @i + 50000

end

--測(cè)試

select * from Temp_MoveManage


--2,鏈接服務(wù)器(省略)


--3,存儲(chǔ)過(guò)程

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

-- =============================================

-- Author: <Viajar>

-- Create date: <2011.04.14>

-- Description: <轉(zhuǎn)移數(shù)據(jù)>

-- =============================================

ALTER PROCEDURE [dbo].[sp_GetMoveData]

AS

BEGIN

DECLARE @Id1 INT,@Id2 INT

DECLARE @MaxId INT--原表的最大值

SET @Id1 = 0

SET @Id2 = 0

SELECT TOP 1 @Id1 = Id FROM Temp_MoveManage WHERE IsDone = 0 ORDER BY Id

SELECT TOP 1 @Id2 = Id FROM Temp_MoveManage WHERE IsDone = 0 AND Id > @Id1 ORDER BY Id

SELECT @MaxId = MAX(Id) FROM [dbo].[ClassifyResult]

IF(@Id1 != 0 AND @Id2 != 0 AND @MaxId>=@Id2)

BEGIN

DECLARE @sql VARCHAR(MAX)

SET @sql = '

SET IDENTITY_INSERT [ClassifyResult_T] ON

INSERT INTO [dbo].[ClassifyResult_T](

[Id]

,[ClassId]

,[ArchiveId])

SELECT

[Id]

,[ClassId]

,[ArchiveId]

FROM [dbo].[ClassifyResult]

WHERE Id >=
'+ CONVERT(VARCHAR(100),@Id1) + ' and Id < '+ CONVERT(VARCHAR(100),@Id2) + '

ORDER BY Id

SET IDENTITY_INSERT [ClassifyResult_T] OFF
'

EXEC (@sql)

UPDATE Temp_MoveManage SET IsDone = 1 WHERE Id = @Id1

END

END


--4,Job(省略)

it知識(shí)庫(kù)SQL Server 數(shù)據(jù)庫(kù)遷移偏方,轉(zhuǎn)載需保留來(lái)源!

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

主站蜘蛛池模板: 日韩精品一区二区三区老鸭窝 | 日韩一| 亚洲一区视频在线 | 国产精品一区二区日韩 | 日韩欧美一级精品久久 | 北条麻妃一区二区三区在线视频 | 一区二区三区中文字幕 | 久久久精品网站 | 九九在线| 日韩在线免费观看视频 | 亚洲一区二区免费电影 | www一级片 | 国产精品一区二区在线播放 | 婷婷开心激情综合五月天 | 欧美一区二区三区在线 | 91素人| 亚洲男人的天堂网站 | 国产一区二区在线免费观看 | 五月激情综合网 | 91资源在线 | 视频一二三区 | 最新超碰 | 成人a在线 | 欧美福利视频 | 亚洲国产精品视频一区 | 欧美二区在线 | 欧美一二区 | 久久精品免费 | 91久久久久久久久久久 | 久久久久久成人 | 日日干综合| 欧美激情视频一区二区三区在线播放 | 成人亚洲片 | 欧美一级做性受免费大片免费 | 国产精品久久久乱弄 | 国产精品免费在线 | 久久久久国产一级毛片高清网站 | 一区二区在线看 | 久久丝袜 | 情侣黄网站免费看 | 不卡一区二区三区四区 |