블로그 이미지
Magic_kit
study 관련자료를 한곳으로 자기 개발 목적으로 재태크 재무 관리 목적으로 일상생활의 팁을 공유 하기 위하여 블로그를 개설 하였습니다.

calendar

1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28

Category

Recent Post

Recent Comment

Archive

'.Net Project'에 해당되는 글 538

  1. 2009.09.17 27장 Windows Server 백업&복원
  2. 2009.09.16 26장 인덱스 (Index)
  3. 2009.09.16 25장 우편번호 검색 기능 웹사이트 구축
  4. 2009.09.16 24장 인덱스 효과
2009. 9. 17. 12:19 .Net Project/WindowServer2008
반응형

 --백업  : 물리적인 MDF/LDF/NDF을 안전한 곳에 복사 (서비스 중지)
--(작은 규모에서 10정도의 중지시간 허용 가능한 상태)
--백업 마법사를 사용해서 *.bak파일로 백업 
 --(서비스가동 : 대규모에서 실시간 서비스 유지, Ex)풀백업, 차등백업, 스케줄링 )
-- 주로 개발 환경에서 사용 

     
Alter Database zip
Set Recovery Simple; --단순모델 설정

--T-SQL이용한 전체 백업
Backup Database zip
To Disk = 'C:\Backups\zip.bak';

--옵션에서는 백업 유형 차등으로 선택하고 이름, 설명, 만료 기한으로 지정
--T-SQL이용한 차등 백업

Backup Database zip
To Disk = 'c:\Backups\zip2.bak'
With Differential;

--파일백업 : 데이터베이스 전체 백업에서 발생하는 비용을 감소시키기 위해 사용
--T-SQL 사용하여 특정 파일 전체를 백업하라

Backup Database zip FILE = 'zip'
To Disk = 'c:\Backups\zip3.bak';

--특정파일을 차등백업하라
Backup Database zip File = 'zip'
To Disk = 'c:\Backups\zip4.bak'
With Differential;

--트랜잭션 로그를 백업하라
Backup Log zip
To Disk = 'c:\Backups\zip_log.bak';

--복사전용백업 실행
Backup Database zip
To Disk = 'c:\Backups\zip_copy.bak'
With Copy_ONLY;


--복원 : 데이터베이스 백업과 트랜잭션 로그 백업을 이용해 데이터베이스 목표한 시점의 데이터베이스로 복구하는 과정
use master
Go
If DB_ID('fruitstore') IS NOT NULL

Drop Database Fruitstore
Go

Create Database Fruitstore;
Go

Alter Database Fruitstore Set Recovery Simple;
Go

Backup Database Fruitstore To Disk = 'c:\Backups\Fruitstore.bak';
Go

--Fruitstore데이터베이스의 전체 백업을 이용하여 데이터베이스 복원하라 (단순모델)
Restore Database Fruitstore
From Disk = 'c:\backups\fruitstore.bak'
With Recovery

--단순 모델 - 전체 백업 및 차등 백업으로부터 확인하기
use master
Go
If DB_ID('fruitstore') Is Not Null
Drop Database Fruitstore;
Go

Create Database Fruitstore;
Go

Alter Database Fruitstore Set Recovery Simple;
Go

Backup Database fruitstore To Disk = 'c:\Backups\fruitstore.bak';
Go

Backup Database fruitstore To Disk = 'c:\Backups\fruitstore.bak'
With Differential;
Go

Backup Database fruitstore To Disk = 'c:\Backups\fruitstore.bak'
With Differential
Go




반응형
posted by Magic_kit
2009. 9. 16. 17:38 .Net Project/WindowServer2008
반응형

Use tempdb
Go
--[0] 테스트용 임시테이블 작성
-- Drop Table FrontBoard1

Create Table dbo.FrontBoard1
(
 ItemID Int IDENTITY(1,1), -- Primary Key 및 Not null --넌 클러스터드 인덱스
 Title VarChar(150) Null --클러스터드 인덱스
)
Go

Create Table dbo.FrontBoard2
(
 ItemID Int IDENTITY(1,1),
 Title VarChar(150) Null,
 
 
)
Go

--[1]실행 속도 비교 : 아래 2개 구문을 블록 씌우고 Ctrl+L
Select *From FrontBoard1 Where Title Like '제목%'
Select *From FrontBoard2 Where Title Like '제목%'

--[2]데이터 입력
Declare @i Int
Set @i = 1
While @i <= 100000
Begin
 Insert FrontBoard1 Values('제목' + CAST(@i As VarChar))
    Insert FrontBoard2 Values('제목' + CAST(@i As VarChar))
    Set @i = @i + 1
End
Go    

--[3] FrontBoard의 Item필드에 idxFrontBoard란 넌 클러스터 인덱스 생성
Create Index IdxFrontBoard
On FrontBoard1(ItemID)

--[4] Sp_Helpindex의 시스템 저장 프로시저를 이용해서 인덱스 정보확인
Exec sp_helpindex FrontBoard1
Go

--[5] 인덱스 지우기
Drop Index FrontBoard1.idxFrontBoard
Go

--[6] Title필드에 유니크한 클러스트 인덱스 생성
CREATE UNIQUE ClUSTERED INDEX IdxFrontBoard1
ON FrontBoard1 (Title)
Go

--[7] sp_helpindex 시스템 저장 프로시저를 이용해서 인덱스 정보 확인
Exec sp_helpindex FrontBoard1

--[8] 인덱스 지우기
Drop Index FrontBoard.idxFrontBoard --인덱스 지우기
Go


반응형
posted by Magic_kit
2009. 9. 16. 16:32 .Net Project/WindowServer2008
반응형

 1. www.zip.com 한줄짜리 도메인 생성
   (한줄짜리 메모를 입력하고, 출력하는 웹 애플리케이션 구현)
 2. SQL/SERVER 와서 '우편번호 검색기능 만들어보자'
    (정식버젼 로그인 꼭 할것)  Zip데이터베이스 생성 -> Zip 사용자 생성

 테이블 작성
--Drop table dbo.zip
 
Create Table dbo.Zip
(
 ZipCode NVarChar(8) Not Null, --우편번호
 Si NVarChar(150) Null, --시도
 Gu NVarChar(150) Null, --구군
 Dong NVarChar(255) Null, --동면
 PostEtc NVarChar(255) Null, --번지
 
)
Go

--6가지 예시문 작성

--[1] 입력
Insert Zip Values('404-230','인천시','서구','가정동','113번지')
Insert Zip Values('404-230','광명시','서구','가정동','113번지')
Insert Zip Values('404-230','서울시','서구','광명동','113번지')
Go

 

--[2] 출력
Select *From Zip Order By ZipCode Asc
Go

--[3] 상세
Select *From Zip Where Dong ='가정동'
Go

Select *From Zip Where Dong ='광명동'
Go

--[4] 수정
Begin Tran
 Update Zip
 Set PostEtc = '456번지' Where ZipCode = '404-203'
 
--RollBack Tran
Commit Tran


--[5] 삭제
Begin Tran
 Delete zip
 Where 1 = 1
 --RollBack Tran
Commit Tran

--[6] 검색  
Select *From Zip
Where Dong Like '%가정%'
Go

--[7] View 뷰 생성
Create View dbo.Onlysi
As
Select Distinct Si From Zip --시 정보 중복을 제거해서 출력
Go

--출력
Select *From Onlysi
Go
----------------------------------------------------------------------
--[1] 입력
Drop Procedure dbo.AddZip

Create Procedure dbo.AddZip
 @ZipCode NVarChar(8),
 @Si NVarChar(150),
 @Gu NVarChar(150),
 @Dong NVarChar(255),
 @PostEtc NVarChar(255)
As 
 Insert Zip Values('404-230','인천시','서구','가정동','113번지')
 Insert Zip Values('404-230','광명시','서구','가정동','113번지')
 Insert Zip Values('404-230','서울시','서구','광명동','113번지')
Go

--[2] 출력
Drop Procedure dbo.GetZip

Create Procedure dbo.GetZip
As
 Select *From Zip Order By ZipCode Asc
Go

--[3] 상세
--Drop Procedure GetZipByDong

Drop Procedure dbo.GetZipByDong

Create Procedure dbo.GetZipByDong
           @Dong NVarChar(255)
As
 Select *From Zip Where Dong
=@Dong
Go

--[4] 수정
Drop Proc dbo.UpdateZip

Create Proc dbo.UpdateZip
 @PostEtc NVarChar(255),
 @ZipCode NVarChar(8)
As
 Begin Tran
  Update Zip
  Set PostEtc = @PostEtc Where ZipCode = @ZipCode
 
  --RollBack Tran
 Commit Tran
Go

--[5] 삭제
Drop Proc dbo.DeleteZip

Create Proc dbo.DeleteZip
As
 Delete zip Where 1 = 1
  --RollBack Tran
 Commit Tran
Go
--[6] 검색
Drop Proc dbo.SearchZip

Create Proc dbo.SearchZip
 @SearchQuery VarChar(50)
As
 --Declare @SearchQuery VarChar(50)
 --Set @SearchQuery = '가정'

 Declare @sql VarChar(500)
 Set @sql = 'Select *From Zip Where Dong Like ''' + @SearchQuery +
                  '%''
                 ' 
 Print @sql
 Exec(@sql)
Go

--인덱스 생성 : 테이블에 딱한개(클러스터드인덱스), 넌클러스터드인덱스(254)
Create Clustered Index idxZip On Zip(Dong)
Go

 데이터베이스 생성 완료.. 후
 우편번호 ZipCode를  Zip테이블에서 사용할 수 있도록 DB연결

C# 이용 데이터 베이스 연결

                                                       ↓↓

텍스트 박스 입력 후 검색 버튼 클릭시...
입력된 지역이 자동으로 검색이 완료 된다.  
                                     
                                    (C# 다음의 소스 입력)
 this.SqlDataSource2.DataBind();









반응형
posted by Magic_kit
2009. 9. 16. 13:37 .Net Project/WindowServer2008
반응형

 Create Table dbo.Zip
(
 ZipCode NVarChar(8) Not Null, --우편번호
 Sido NVarChar(150) Null, --시도
 GuGum NVarChar(150) Null, --구군
 Dong NVarChar(255) Null, --동면
 Bunji NVarChar(255) Null --번지

select *from Zip

Select COUNT(*) From Zip 
Go
--가져온 zipCode 확인
Select *From Zip Where Dong Like '%역삼%'
Go

--[2] CTRL + L : 예상 실행 계획
Select *From Zip Where Dong Like '%역삼'
Go

                                      (예상실획계획표시)

--[3] SQL Server에서 최고의 성능 향상 : 인덱스
-- Dong 필드는 자주 검색에 사용되더라 ... 그러면 인텍스
-- 기본 : NonClustered Index : 책의 찾아보기(뒷부분)

Create Clustered Index idxZip On Zip(Dong)
Go
--Drop Index idxZip On Zip
--Go

--[4] CTRL+L : 예상 실행 계획
Select *From Zip Where Dong Like '&역삼&' --60
Go
Select *From Zip Where Dong Like '역삼&' --40
Go  
                                       (예상실획계획표시)

--[5] 인덱스 삭제
Drop Index idxZip On Zip
Go

--[6] Clustered Index로 다시 생성
Create Clustered Index idxZip On Zip(Dong)

--[7] CTRL + L : 예상 실행 계획
Select *From Zip Where Dong Like '&역삼&' --99
Go
Select *From Zip Where Dong Like '역삼&' --1
Go 
                                        (예상실획계획표시)


반응형
posted by Magic_kit