본문 바로가기

728x90
반응형

전체 글

(1318)
[SQL2005 Guide] 데이터베이스 이름 변경하기 ALTER DATABASE MODIFY NAME 문을 사용하면 데이터베이스의 이름을 변경할 수 있습니다. 다른 사용자가 데이터베이스에 연결하지 않은 상태라면 ALTER DATABASE 문만 수행하면 이름이 변경되지만, 다른 사용자가 데이터베이스에 연결을 맺은 상태에서는 이름 변경이 실패합니다. 이 경우에는 데이터베이스의 이름을 변경하기 전에 데이터베이스를 단일 사용자 모드나 오프라인 모드로 변경한 상태에서 이름을 변경하면 됩니다. sp_renamedb를 사용하여 데이터베이스의 이름을 변경할 수도 있지만, 온라인 설명서에 의하면 sp_renamedb는 다음 버전의 Microsoft SQL Server에서 제거된다고 기술되어 있습니다. 그러므로 이후로 데이터베이스 이름 변경 스크립트를 작성할 때에는 sp_r..
[SQL2005 Guide] 데이터베이스 축소하기 데이터베이스 축소 DBCC SHRINKDATABASE 또는 DBCC SHRINKFILE를 사용하여 수동으로 데이터베이스를 축소할 수 있습니다. 데이터베이스의 특정 데이터 파일이나, 트랜잭션 로그 파일의 크기를 축소하는 경우에는 DBCC SHRINKFILE을 사용합니다. 데이터베이스의 AUTO_SHRINK 옵션을 TRUE로 설정하면 파일에서 사용되지 않는 공간이 25% 이상이 되면 파일이 자동으로 축소됩니다. 그렇지만, 일반적으로 축소가 필요할 때 DBCC SHRINKDATABASE 문 또는 DBCC SHRINKFILE 문을 사용하여 데이터베이스를 적절한 크기로 수동으로 축소하는 것을 권고합니다. n 파일을 지정하지 않고 데이터베이스만 지정하고 축소할 수 있습니다. [따라하기] 데이터베이스 전체 크기 중1..
[SQL2005 Guide] tempdb 데이터베이스 이동 tempdb 데이터베이스의 크기와 물리적인 배치가 시스템의 성능에 영향을 미칠 수 있으므로 tempdb를 확장하거나 이동하는 작업을 수행하는 경우가 종종 발생합니다. 다음에 나오는 일련의 작업은 동일한 SQL Server 인스턴스에서 tempdb를 다른 위치로 이동하는 방법을 보여 주는 예제입니다. [따라하기] tempdb를 디스크 상의 다른 위치로 이동하기 1. tempdb 데이터베이스의 논리 파일 이름을 확인합니다. SELECT name, physical_name AS Current_Location, state_desc FROM sys.master_files WHERE database_id = DB_ID(N'tempdb'); GO 결과 예: Name current_Location state_desc ..
[SQL2005 Guide] 데이터베이스를 다른 서버로 이동하기 데이터베이스를 다른 서버로 이동하고자 하는 경우에는 분리 및 연결 작업을 사용합니다. [따라하기] 분리 및 연결 작업을 사용하여 사용자 데이터베이스 이동하기 1. 해당 데이터베이스에 연결되어 있는 연결을 모두 비 연결 상태로 만들고, 단일 사용자 모드로 설정합니다. 다음은 600초 후에 모든 작업들을 롤백시키고, 연결을 끊는 예제입니다. USE Sample; GO ALTER DATABASE Sample SET SINGLE_USER WITH ROLLBACK AFTER 600; GO 2. 해당 데이터베이스의 모든 데이터 파일과 트랜잭션 로그 파일의 경로를 확인합니다. EXEC sp_helpdb Sample; GO 3. 데이터베이스와 파일을 분리합니다. USE master; GO EXEC sp_detach_d..
[SQL2005 Guide] 데이터베이스 파일 이동하기 데이터베이스 파일 이동 ALTER DATABASE 문을 사용하여 파일 정보를 변경하거나 데이터베이스 분리 및 연결 시스템 저장 프로시저를 사용하여 데이터베이스를 이동할 수 있습니다. 데이터베이스를 이동할 때는 분리 및 연결 작업보다 ALTER DATABASE를 이용하는 것이 좋습니다. ALTER DATABASE 문의 FILENAME 절에 새 파일 위치를 지정하면 리소스 데이터베이스 파일을 제외한 시스템 데이터베이스와 사용자 데이터베이스의 파일을 이동할 수 있습니다. 이 절차를 수행하려면 ALTER DATABASE 문을 실행할 데이터베이스 파일의 논리 이름을 알고 있어야 하며, sys.master_files 카탈로그 뷰에서 name 열을 조회하면 논리 파일 이름을 확인할 수 있습니다. [따라하기] ALTE..
[SQL2005 Guide] 시스템 데이터베이스 - Resource 리소스 데이터베이스는 SQL Server 2005에서 새롭게 추가된 시스템 데이터베이스이며 다른 시스템 데이터베이스와 다른 고유의 특성을 가지고 있습니다. 일반 사용자들에게는 의미없는 데이터베이스일 수 있지만 DBA는 알고 있을 필요가 있다고 생각되어 몇 자 적어 봅니다. * 리소스 데이터베이스의 물리 파일 이름은 mssqlsystemresource.mdf 인데, 이 파일의 이름을 변경하거나 잘못 이동하면 SQL Server가 시작되지 않으므로 유의합니다. 리소스 데이터베이스에 대하여 사용자가 수행해도 무방한 작업은, master 데이터베이스를 이동한 경우에 ALTER DATABASE MODIFY FILE 문을 사용하여 FILENAME의 경로를 master 데이터 파일의 경로와 동일하게 변경함으로써 ms..
[SQL2005 Guide] 시스템 데이터베이스 - model model 데이터베이스는 새로운 데이터베이스가 만들어질 때 템플릿으로 사용되는 데이터베이스이므로, 그 SQL Server 인스턴스에서 새롭게 만들어지는 모든 데이터베이스에 데이터베이스 옵션이나 개체들이 동일하게 구성되는 것을 필요로 할 때 활용할 수 있습니다. 예를 들어, SQL Server 인스턴스에서 공통적으로 사용되는 별칭 데이터 형식을 model 데이터베이스에 생성해 두면 새로운 데이터베이스를 만들 때 별칭 데이터 형식 생성 작업을 수행하지 않아도 됩니다. 또한 새로운 데이터베이스를 만들 때 FOR ATTACH가 지정된 경우를 제외하면 model 데이터베이스의 데이터베이스 옵션 설정을 상속받습니다. 그러므로 ALTER DATABASE를 사용하여 model 데이터베이스의 옵션을 변경하면 변경된 옵션..
[SQL2005 Guide] 시스템 데이터베이스 - tempdb 용량 * tempdb 용량 산정 tempdb의 크기는 해당 시스템에서 발생하는 작업 부하와 실제로 어떤 SQL Server 기능을 사용하는가에 따라 적절한 tempdb의 크기가 달라지므로 테스트 서버를 구축하고 다음과 같은 일련의 작업을 통하여 tempdb의 크기를 예측하는 것을 권고합니다. 1. tempdb에 대하여 자동 확장으로 설정합니다. 2. 해당 시스템에서 주로 사용하는 쿼리를 실핼하거나 작업 부하를 저장한 추적 파일들을 실행하면서 tempdb가 사용하는 공간을 모니터링합니다. 3. 인덱스 재구성과 같은 인덱스 관리 작업을 실행하면서 tempdb가 사용하는 공간을 모니터링합니다. 4. 앞 단계에서 얻은 결과값을, 예상되는 현재의 작업 부하에 맞도록 조정한 다음에 그에 따라 tempdb 크기를 결정합니..

728x90
반응형