SQL Server 13

DB 백업 & 복구 스크립트

DB 이관을 위한 백업 & 복구 스크립트 1. FULL 백업 - 복구모델이 FULL 이 아닌경우는 FULL로 변경하고 전체 백업 declare @path varchar(30) set @path = 'path' select case when recovery_model_desc 'FULL' then 'ALTER DATABASE ' + name + ' SET RECOVERY FULL GO ' else '' end + 'BACKUP DATABASE ' + name + ' TO DISK = N''' + @path +'\' + name + '.bak'' WITH COMPRESSION , STATS = 10 GO' as '구장비백업스크립트' , case when recovery_model_desc 'FULL' the..

SQL Server 2019.06.27

DB 업그레이드 절차

SQL SERVER 2005를 사용하는 모든 DB의 버전 업데이트 이슈가 있어서 작업 절차를 로그로 남김 DMV를 비롯한 DB 엔진 자체의 성능 이슈, 관리 이슈를 고려하여 SQL SERVER 2008 R2로 업그레이드 하기로 결정(WINDOWS SERVER 2008 R2 로의 업그레이드도 생각했었으나 여건상 DB만 작업하기로 결정) 당초 계획은 SQL SERVER 2005를 삭제하고 SQL SERVER 2008 R2 를 설치하는 것으로 방향을 잡았으나시간 계획상 DB 업그레이드를 하는 형태로 작업 1. DB 백업2. SQL SERVER 2008 R2 설치 준비 (.Net Framework 설치 및 재부팅)3. SQL SERVER 2008 R2 설치 - 설치 과정중에 물어보는 사항들은 거의 없다 대부분 ..

SQL Server 2013.07.04

tempdb 튜닝

tempdb 데이터베이스를 많이 사용하면 SQL Server에서 페이지를 할당하려고 할 때 경합이 일어날 수 있음 tempdb를 사용하게 되는 경우1. 임시 테이블(로컬 또는 전역)을 반복해서 만들고 삭제2. 저장 목적으로 tempdb를 사용하는 테이블 변수3. CURSORS와 관련된 작업 테이블4. ORDER BY 절과 관련된 작업 테이블5. GROUP BY 절과 관련된 작업 테이블6. HASH PLANS와 관련된 작업 파일 현상확인SELECT * FROM sys.sysprocesses 시스템 테이블 출력에서waitresource가 "2:1:1"(PFS 페이지) 또는 "2:1:3"(SGAM 페이지)으로 표시될 수 있음경합 정도에 따라 잠시 동안 SQL Server가 응답하지 않는 것처럼 나타날 수도 있..

SQL Server 2013.07.04

DB 이전 후 계정 변경

DB를 백업하고 다른 머신에서 복원을 하게될 경우 계정을 다시 매핑시켜줘야 한다. sp_changedbowner sp를 이용하여 DB의 Owner를 변경하고sp_change_users_login를 이용하여 사용자를 다시 매핑시켜준다.sp_change_users_login sp를 실행하기 전에 로그인을 먼저 생성해 두어야 한다. 아래는 모든 데이터베이스에 Owner를 변경하고 사용자를 매핑시키는 스크립트다.Report Service를 사용하는 경우나 변경되지 않아야 하는 데이터베이스를 적절히 제거한 후에 사용하도록 하자. DECLARE @strOnwer VARCHAR(30), @strUserName VARCHAR(30)SELECT @strOnwer = 'Owner', @strUserName = 'UserN..

SQL Server 2013.04.30

SSIS를 이용하여 Excel 데이터 DB로 넣기

SSIS와 SQL Agent를 이용하여 특정 시간마다 Excel 파일을 로드하여 데이터를 DB로 밀어넣는 Job을 생성 0. 패키지에 패스워드를 설정한다.- 패스워드를 설정해야 Agent에 물릴 수 있다.- ProtectionLevel 속성을 EncryptSensitiveWithPassword 로 수정- PageagePassword 속성의 ...을 클릭하여 패스워드 설정 1. 연결관리자- DB, Excel, File 연결 관리자가 필요하다.2. Excel 파일을 담을 변수가 필요하다.- 값으로 유효한 Excel File ConnectionString를 넣어줘야 유효성 검사에서 실패하지 않는다.- 유효한 ConnectionString은 Excel 연결 관리자 초기 세팅 후 값을 복사해서 가져왔다. 3. 제..

SQL Server 2012.09.25

Index Rebuild

인덱스를 리빌드하는 방법이 크게 4가지 정도가 있습니다. 1. ALTER INDEX ….. 2. DBCC INDEXDEFRAG …. (SQL SERVER 2005 이후 버전) 3. DROP INDEX + CREATE INDEX 4. DBCC DBREINDEX (SQL SERVER 2000 이하 버전) 일반적으로 인덱스 리빌드를 하게되면 테이블 통계데이터가 갱신된다고 알려져 있습니다. 현재 서버팀에서 사용하고 있는 구문은 ALTER INDEX 구문으로 이것의 경우 테이블의 통계 데이터를 갱신하지 않습니다. 테이블의 통계데이터가 하는 역할이 쿼리 실행 계획을 세우는데 기여를 하므로 아주 중요한 것입니다. 테이블 통계를 갱신하는 방법이 몇가지 있습니다. 1. 먼저 테이블 데이터의 20% 이상이 DML 작업으로..

SQL Server 2012.07.19

2008 서버에서 성능데이터 SQL Server로 수집하기

1. 먼저 성능 데이터를 수집할 DB를 생성한다. 2. SQL Server의 DSN을 등록한다. - 제어판 -> 관리도구 -> 데이터 원본(ODBC) 선택 - 시스템 DNS 등록 A. 데이터 원본으로 SQL Server를 선택한다. B. 수집할 SQL Server 지정C. SQL Server 접속 인증D. 수집할 DB 설정E. 다음F. 마침G. 연결 테스트 3. 성능 모니터 설정A. 데이터 수집기 집합 사용자 정의 생성B. 데이터 수집기 집합 이름 설정C. 성능 카운터 선택D. 샘플간격 설정 후 추가 버튼 클릭E. 수집할 성능 카운터 선택F. 다음G. 다음H. 수집기 실행 계정 기본값으로 설정(SYSTEM)G. 생성 확인 아래 보고서에도 같은 항목이 만들어 진 것을 확인할 수 있다. H. 생성된 Data..

SQL Server 2012.05.21