DB 60

master DB 복구 방법 및 복구시 발생하는 문제들.

준비하기 백업해 놓은 master DB의 빌드 번호와 현재 복구하려는 서버의 빌드 번호가 일치 해야합니다. 현 서버의 빌드 번호가 높다면 서버를 재설치하여, master.bak 파일의 빌드 번호와 일치시킵니다. 데이터 정렬 방식도 동일한지 확인합니다. 데이터 정렬 방식이 동일하도록 서버를 재설치 합니다. SQL Server 2000 기본, 명명된 또는 가상 인스턴스를 수동으로 제거하는 방법 SQL Server 2005 인스턴스를 수동으로 제거하는 방법 Single Mode로 서버 실행하기 아래 명령을 통하여 싱글 모드로 SQL 서버를 시작합니다. cd "C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Binn" sqlservr.exe -m 또는 net star..

DB/MS-SQL 2008.09.02

트랜잭션 로그 백업 및 크기 줄이기(축소)

SQL 2005의 경우 TEST DB의 로그를 백업하기 BACKUP LOG TEST TO DISK = "D:\Backup\Test_log.bak" -- WITH NO_LOG 트랜잭션 로그를 백업할 필요가 없는 경우, TO DISK 대신에 아래에 있는 WITH NO_LOG 를 주면 대부분의 활성 가상 로그 파일을 비활성화합니다. 그러면, 다음의 명령을 통하여 트랜잭션 로그 파일을 원하는 크기로 줄일 수 있습니다. TEST DB의 로그 파일 줄이기 앞서 설명한 트랜잭션 로그를 백업하면 활성 가상 로그 파일이 비활성화되어, 로그 파일의 크기를 줄일 수 있게 됩니다. 다음 명령을 수행하면 TEST_LOG 파일이 10 MB 정도로 줄어들게 됩니다. DBCC SHRINKFILE (TEST_LOG, 10) -- WI..

DB/MS-SQL 2008.08.29

응용 프로그램 성능 최적화를 위한 숨겨진 데이터 찾기

MSDN 에서 아주 멋진 내용을 찾았습니다. 주된 내용은, 동적 관리 뷰 및 함수/ 서버 대기의 원인/ 일반적인 인덱스 문제/ 논리 I/O와 관련된 문제에 관련해서 예제 데이터 베이스 및 SQL Server 를 토대로 점검 결과와 그에 대한 분석 방법을 설명해 놓고 있습니다. 최적화 관련하여 아주 유용한 자료더군요. 참고하세요. 아래는 목차입니다. 서버 대기의 원인 읽기 및 쓰기 데이터베이스별 누락된 인덱스 비용이 높은 누락된 인덱스 사용되지 않는 인덱스 사용 비용이 높은 인덱스 자주 사용되는 인덱스 논리적으로 조각난 인덱스 I/O 비용이 높은 쿼리 CPU 비용이 높은 쿼리 비용이 높은 CLR 쿼리 가장 많이 실행된 쿼리 차단당하는 쿼리 가장 적게 재사용되는 계획 추가 작업 http://msdn.micr..

DB/MS-SQL 2008.07.16

임시테이블의 OBJECT_ID 얻기

OBJECT_ID 함수를 이용하여 해당 테이블이 존재하는지 여부를 검사할 때 다음과 같이 사용하게 됩니다. IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'MY_TABLE') AND type in (N'U')) -- 'MY_TABLE' 테이블이 존재함. 하지만, 임시 테이블의 존재 여부를 검사할 때는 그냥 위와 같이 하면 테이블을 100% 찾을 수 없다고 나옵니다. 임시 테이블은 TEMPDB에 생성되므로 그곳에서 테이블에 대한 OBJECT_ID를 얻어와야 합니다. 따라서 다음과 같이 코드를 수정해야만 합니다. IF EXISTS (SELECT * FROM tempdb.sys.objects WHERE object_id = OBJECT_I..

DB/MS-SQL 2008.06.10

복구 모델(Recovery Model)

# 복구 모델이란? 데이터베이스에 트랜잭션이 발생하였을 때 트랜잭션을 로그에 기록하는 범위를 지정해 놓은 것입니다. 장애 발생시 데이터 손실을 취소화하기 위한 계획을 세우는데 필수적으로 고려해야할 부분으로 데이터베이스 백업과 밀접한 관계가 있습니다. # 데이터베이스 복구 모델의 종류 및 차이점 1) 단순(Simple) - 트랜잭션 로그를 자동으로 삭제 - 데이터가 중요하지 않고, 쉽게 재생성이 가능한 경우 - 테스트나 개발에 사용하는 DB - 마지막 백업 이후의 데이터는 복구 불가능. 백업을 하지 않은 경우에는 데이터 복구 불가능 - 트랜잭션 로그를 백업할 수 없음 2) 대량 로그(Bulk Logged) - 데이터가 중요하지만, 대량의 벌크 로그는 로그를 남기지 않도록 할 경우(BULK INSERT, C..

DB/MS-SQL 2008.05.14

SELECT @@VERSION 의 빌드(BUILD) 번호로 서비스팩 및 보안패치 현황 파악하기.

MS-SQL에서 다음과 같은 쿼리를 이용하여 SQL 서버의 버전을 확인할 수 있습니다. SELECT @@VERSION하지만, 위에서 나오는 결과로는 서비스 팩을 어디까지 설정하였고, 패치는 어느 버전까지 적용되어 있는지는 알 수가 없습니다. SQL 서버의 버전 정보를 확인할 때, 빌드 번호를 통하여 서비스팩의 현황 및 어느 버전까지 보안 패치가 적용되어 있는지 다음 사이트에서 확인하실 수 있습니다. http://www.sqlsecurity.com/FAQs/SQLServerVersionDatabase/tabid/63/Default.aspx 가령, MS-SQL Server 2000을 사용중이고, 빌드 번호가 2187이라면 SQL 2000 sp4가 설치되어 있고, 914384/898709/915065/9153..

DB/MS-SQL 2008.03.12

유용한 SQL 도구 - SQL Prompt

Red-gate 사가 제작한 SQL Prompt라는 프로그램이 있습니다. Visual Studio에 연동되어 동작하는 것으로 아래 그림을 보시면 그 효과를 바로 느낄 수 있습니다. 아래 제작사 홈페이지에 소개된 기능입니다. Table/View/Column/Sproc name completion JOIN/JOIN ON syntax completion Object creation-SQL viewing pane Cross-database queries Distributed queries with linked SQL Server instances Scripted-but-unsaved objects included in candidate list Cursors, cursor variables and related..

DB/MS-SQL 2008.02.26

SQL 2008에서 바뀌는 Database 관리 명령.

SQL 2005 까지는 Database 관리를 위하여 저장 프로시저를 이용했습니다. (sp_attach_db, sp_rename_db, sp_dboption 등). 그러나 2008부터는 이 저장 프로시저들을 사용할 수 없고, CREATE DATABASE나 ALTER DATABASE를 이용해야 합니다. 개인적인 의견으로는 저장 프로시저를 사용하는 것보다 훨씬 직관적이고 좋은것 같습니다. 아래 내용은 mssqltips에서 퍼온 내용입니다. 영문이지만 주요 내용을 보는데는 큰 불편이 없을 것이라 생각됩니다. (번역하기기 귀찮아서요 ^^) Migrate sp_attach_db syntax to CREATE DATABASE The sp_attach_db is a command to attach a database..

DB/MS-SQL 2007.11.13

FreeBSD 6.x에서 MySQL 5.0.x 설치기

0. 최신 포트 준비 cvsup -g -L 2 ports-supfile 1. MySQL 5.0.x 버전 설치 # cd /usr/ports/databases/mysql50-server # make WITH_CHARSET=euckr install clean 2. portupgrade를 위해 pkgtools.conf 수정 # vi /usr/local/etc/pkgtools.conf MAKE_ARGS = { 이 부분에 추가 'databases/mysql5*' => [ 'WITH_CHARSET=euckr BUILD_OPTIMIZED=yes BUILD_STATIC=yes' ], 3. MySQL을 구동을 위한 기본 DB 생성 # /usr/local/bin/mysql_install_db --user=mysql # cd..

DB/MySQL 2007.11.12
728x90