본문 바로가기

Computer/Database

SQL Server 데이터 파일 축소 SQL Server 2005 에서 데이터(mdf,ndf) 파일을 축소하는 방법에 대해서 아래와 같이 정리하였습니다. 데이터 파일의 할당 정보는 DBCC SHOWFILESTATS 명령을 사용하여 확인할 수 있습니다. 트랜잭션 로그 파일의 현재 사용 가능한 빈공간을 조회할 때 DBCC SQLPERF(LOGSPACE) 명령을 사용하면 됩니다. USE LAIGO GO DBCC SHOWFILESTATS 아래와 같이 LAIGO 데이터베이스의 데이터 파일 LAIGO 의 전체 크기와 사용량을 확인할 수 있습니다. Fileid FileGroup TotalExtents UsedExtents Name FileName ------------------------------------------------------------.. 더보기
How to uninstall properly SQL Server 2008 ? Hello ! I want to uninstall properly SQL Server 2008 with a command line Is there a good documentation on how to uninstall it without forget things (before / after) ? There are a lot of remaining folder, components, registry key ..... Thanks for advance for your ideas / help - Regards - Have a nice day ! RHUM2 Hi, To uninstall SQL Server 2008, try the following steps: 1. Make sure you have admin.. 더보기
MS-SQL Server 2008 R2 – Error code 1605 (MsiGetProductInfo) 기존에 사용하던 MSSQL서버를 Express 버전으로 교체 하고자 새로 설치 하려니 아래와 같은 오류코드가 뜹니다. 이 문제는 Windows installer의 데이터베이스에 메세지 창에 보이는 해당 제품코드를 찾을수 없어 설치가 되지 않는 경우입니다. 보통은 설치 도중 실패했거나 여러번 재설치 등등..했을 경우 해당 될수 있습니다. (제품코드는 시스템 환경에 따라 다소 차이가 있을수 있습니다.) 레지스트리 편집기를 열고 해당 제품코드 앞의 4byte GUID값을 한자리 씩 거꾸로 뒤집어서 레지스트리 편집기에서 해당 값을 찾습니다. ex) B8E9F8A1 -> 1A8F9E8B 로 변경후 레지스트리 편집기에서 찾습니다. 해당키를 찾았으면 해당 값을 포함하고 있는 상위 키값을 삭제 합니다. ex2) E78.. 더보기
MS SQL Server 2008 메모리관리 MS SQL 서버를 사용하다 보면 메모리 부족 현상을 경험하는 경우가 종종 있다. 작업관리자에서 확인해보면 sqlserver.exe 프로세스가 메모리를 모두 점유하고 있어 메모리가 부족해진 것이다. MS SQL 서버 2008은 대량의 데이터를 조회하게 되면 sqlserver.exe 프로세서가 서버의 메모리를 점유하게 된다. 이 점유된 메모리는 조회가 완료되거나 해당 어플리케이션이 완전히 종료되어도 SQL Server가 다시 시작하지 않는 이상 그대로 유지되어 있다. 즉, 메모리를 사용 후 반환하지 않는다. 이러한 상황은 많은 조건의 작업에서 계속 누적되어 결국 서버 메모리 부족으로 시스템이 느려지거나 다운되는 현상이 일어나게 된다. 그러나 메모리가 부족하다고 해서 무작정 시스템 사양을 늘릴 수만도 없는 .. 더보기
Window Server 2008, SQL Server 2008 80번 포트 충돌 SQL Server 2008의 웹 서비스 URL이 기본적으로 80번 포트 사용. 프로그램 > Microsoft SQL Server 2008 > 구성도구 > Reporting Services 구성 관리자 > (연결) > 웹 서비스 URL(왼쪽 메뉴) 포트 번호를 80번 이외의 다른 포트로 변경하면 해결~!! 더보기
[MSSQL] DB 이름 변경 1. 물리적 파일명 변경 1) -- aaa 데이터베이스의 물리적인 파일 경로 \mssql_data\aaa_data.mdf \mssql_data\aaa_log.ldf -- 물리적인 파일명 변경 : 데이터베이스를 분리 => 파일명 변경 \mssql_data\bbb_data.mdf \mssql_data\bbb_log.ldf -- bbb 데이터베이스로 연결 : 연결할 데이터베이스명을 bbb로 해주고 사용자를 지정 2) QA에서 데이터베이스 명령어인 renamedb를 사용하여 변경 -- single 사용자 모드로 변경 EXEC sp_dboption 'aaa', 'single user', 'TRUE' -- sp_renamedb '이전DB명', '바꿀DB명' 으로 지정 EXEC sp_renamedb 'aaa', 'b.. 더보기
디비간 연결 디비 작업을 하다보면, 다른 디비의 특정 데이터만 가져올 경우가 생긴다. 그때 유용한 기능이 디비간 연결이다. 연결 방법 - 첫번째 1. 'SQL Server Management Studio' 에서 연결할 서버로 접속한다. 2. 서버 개체 > 연결된 서버 > 오른쪽 마우스 > '새 연결된 서버' 메뉴를 선택한다. 3-1. 일반탭 : '연결된 서버' 에서 접속할 서버의 IP 또는 도메인을 적고 '서버유형' 에서 SQL Server를 선택한다. 3-2. 일반탭 : '연결된서버' 에서 별칭을 적어준다. 예를들어 'TestServer' 정도. 그리고 기타 데이터 원본을 선택 후 공급자를 'SQL Native Client', 데이터 원본을 서버의 IP 또는 도메인을 적어준다. 3-1 보다는 이 방법을 추천. 4... 더보기
트랜잭션 로그 백업(Transaction Log Backup)에 관하여 얼마전에 개발서버에서 HDD가 가득찬 적이 있었습니다. 알고 보니 .mdf 파일은 수백메가 수준인데 .ldf 파일이 무려 30기가가 넘게 쌓여 있더군요. shrink 문을 날려도 줄지도 않고... 게다가 일단 트랜잭션 로그파일이 차게 되면 insert, select, delete 등 select를 제외한 아무 작업도 되지 않습니다. HDD 공간을 확보해도 인덱스라도 한번 재구성하고 나면 금방 다시 차버립니다.데이터베이스의 로그 파일이 꽉 찼습니다. 데이터베이스의 트랜잭션 로그를 백업하여 사용 가능한 일부 공간을 확보하십시오 뭔짓을 해도 위와 같은 에러만 나죠. 아주 미칩니다. ㅋㅋ 그래서... .ldf 파일 사이즈를 줄이는 방법을 구글링해서 해결하기는 했죠. 그런데... 갑자기 트랜잭션 로그란 놈이 뭐하.. 더보기
MSSQL2008에서 트랜잭션 로그 자르기 1. 복구 모델을 SIMPLE로 변경 후 DBCC SHRINKFILE을 수행 2. BACKUP LOG TO DISK = 'NUL' 을 실행 후 DBCC SHRINKFILE을 수행 3. 로그 백업을 받고 DBCC SHRINKFILE을 수행 USE [master] GO ALTER DATABASE [dbname] SET RECOVERY SIMPLE WITH NO_WAIT GO USE dbname DBCC SHRINKFILE(dbname_Log,100) USE [master] GO ALTER DATABASE [dbname] SET RECOVERY FULL WITH NO_WAIT GO MSSQL2008에서는 로그 정리하는 구문이 바뀌거나 없어졌습니다. SQL사이트에서 위 3가지 방법을 제시해주더군요. 전 1번만 .. 더보기
데이터베이스 기본 이론 데이터베이스에 대한 기본 이론 - 저장 프로시저, 트랜잭션 등 http://www.devholic.net/xe/?menu_code=tipsql&category=1000197&search_target=title&search_keyword=&sort_target=&sort_type=DESC&page=1&listStyle=&document_srl=&act= 더보기