/*


데이터가 있는 테이블을 자가 복제 하여 트랜젝션 로그를 늘릴 수 있습니다.

해당 테스트에서 사용 하는 테이블 [AdventureWorks2012].[Person].[Person]  [AdventureWorks2012] DB 에서 용량이 가장 테이블 입니다.

sp_helpdb [DatabaseName] 로 중간 중간 파일의 용량을 확인 합니다.

 

truncate table [dbo].[Person]

*/

 

--1 단계 테이블을 생성 합니다.

SET ANSI_NULLS ON

GO

 

SET QUOTED_IDENTIFIER ON

GO

 

CREATE TABLE [dbo].[Person](

        [BusinessEntityID] [int] NULL,

        [PersonType] [nchar](2) NULL,

        [NameStyle] [bit] NULL CONSTRAINT [DF_Person_NameStyle]  DEFAULT ((0)),

        [Title] [nvarchar](8) NULL,

        [FirstName] [nvarchar](50) NULL,

        [MiddleName] [nvarchar](50) NULL,

        [LastName] [nvarchar](50) NULL,

        [Suffix] [nvarchar](10) NULL,

        [EmailPromotion] [int] NULL CONSTRAINT [DF_Person_EmailPromotion]  DEFAULT ((0)),

        [AdditionalContactInfo] [xml] NULL,

        [Demographics] [xml] NULL,

        [rowguid] [uniqueidentifier] NULL,

        [ModifiedDate] [datetime] NULL

) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]

 

GO

--2단계 원본 테이블에서 데이터를 가져 옵니다.

 

 

INSERT [dbo].[Person] (BusinessEntityID, PersonType, NameStyle, Title, FirstName, MiddleName, LastName, Suffix, EmailPromotion, AdditionalContactInfo, Demographics, rowguid, ModifiedDate)

SELECT BusinessEntityID, PersonType, NameStyle, Title, FirstName, MiddleName, LastName, Suffix, EmailPromotion, AdditionalContactInfo, Demographics, rowguid, ModifiedDate FROM [AdventureWorks2012].[Person].[Person]

 

--데이터 백업용 테이블을 생성 합니다.

SELECT * INTO Person2 FROM [dbo].[Person]

 

--3단계 자가 복제를 시작 합니다. 순서는 (테이블 1에 데이터 입력 -> 테이블 2 데이터 입력 -> 테이블 1 Delete ) 입니다.

 

DECLARE @int int

SET @int = 0

WHILE (@int < 5)

BEGIN

 

INSERT [dbo].[Person] (BusinessEntityID, PersonType, NameStyle, Title, FirstName, MiddleName, LastName, Suffix, EmailPromotion, AdditionalContactInfo, Demographics, rowguid, ModifiedDate)

SELECT BusinessEntityID, PersonType, NameStyle, Title, FirstName, MiddleName, LastName, Suffix, EmailPromotion, AdditionalContactInfo, Demographics, rowguid, ModifiedDate FROM [dbo].[Person2]

 

INSERT [dbo].[Person2] (BusinessEntityID, PersonType, NameStyle, Title, FirstName, MiddleName, LastName, Suffix, EmailPromotion, AdditionalContactInfo, Demographics, rowguid, ModifiedDate)

SELECT BusinessEntityID, PersonType, NameStyle, Title, FirstName, MiddleName, LastName, Suffix, EmailPromotion, AdditionalContactInfo, Demographics, rowguid, ModifiedDate FROM [dbo].[Person]

 

DELETE [dbo].[Person]

 

SET @int = @INT +1

 

END

 

/*

 

 

(19972 행이 영향을 받음)

 

(39944 행이 영향을 받음)

 

(39944 행이 영향을 받음)

 

(59916 행이 영향을 받음)

 

(59916 행이 영향을 받음)

 

(59916 행이 영향을 받음)

 

(119832 행이 영향을 받음)

 

(119832 행이 영향을 받음)

 

(119832 행이 영향을 받음)

 

(239664 행이 영향을 받음)

 

(239664 행이 영향을 받음)

 

(239664 행이 영향을 받음)

 

(479328 행이 영향을 받음)

 

(479328 행이 영향을 받음)

 

(479328 행이 영향을 받음)

 

 

sp_helpdb [SUNY]

SUNY    1       C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\SUNY.mdf        PRIMARY 1583104 KB     Unlimited      1024 KB data only

SUNY_log       2       C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\SUNY_log.ldf   NULL    4632576 KB     2147483648 KB  10%        log only

 

*/

 

 

*/


+ Recent posts