분류 전체보기

USE [?] 를 사용하자USE [?] 는 모든 데이터베이스에 접속하겠다는 의미를 나타냅니다.USE [?] 는 SQL Server 에서 지원하는 SP_MSFOREACHDB 프로시저와 함께 사용해야 합니다. USE [?] 의 사용법SELECT DB_NAME() 란에 원하는 쿼리를 넣어서 사용하시면 됩니다.참고로 쿼리에서 ' 를 쓰기를 원하는 경우 ' 를 하나 더 붙여서 '' 로 사용해야 합니다.EXEC MASTER..SP_MSFOREACHDB 'USE [?]BEGIN SELECT DB_NAME()END' USE [?] 에서 특정 데이터베이스 제외하기USE [?] 하단에 IF ''?' 로 제외할 수 있습니다.EXEC MASTER..SP_MSFOREACHDB 'USE [?]IF ''?'' ''master'' ..
MSSQL 은 백업시 백업 경로를 입력하는 대신에 백업 경로를 저장한 백업 장치를 사용하여 백업을 수행할 수 있습니다.매번 백업경로를 생각하고, 그 경로를 작성해야 하는 것보단 백업장치 명만 기억하면 되기 때문에 편리하게 사용할 수 있습니다. 이번 포스팅은 백업 장치를 만들어 보고 삭제하는 것을 알아보겠습니다. SSMS 를 이용하여 백업 장치를 만들어 보기1. 서버 개체 - 백업 장치 - 새 백업 장치를 클릭합니다. 2. 장치 이름에 원하는 백업 장치 명을, 아래에는 백업파일이 생성될 폴더 경로와 파일명을 입력해 줍니다.이 때, 폴더는 있어야 합니다. 3. 백업 장치가 만들어졌습니다. 나중에 백업할 때 경로를 작성하는 대신 백업 장치 명을 사용하여 진행 할 수 있습니다.아래의 2개 쿼리는 동일한 의미를 ..
MSSQL 은 전체 복원, 차등 복원, 로그 복원을 지원합니다. 전체 복원과 차등 복원은 같은 구문을 사용합니다.구문은 다음과 같습니다.RESTORE DATABASE AdventureWorks FROM DISK = 'C:\백업폴더\advbackup.bak'; 로그 복원 문법은 다음과 같습니다.RESTORE LOG AdventureWorks FROM DISK = 'C:\백업폴더\advbackup_log.bak'; 복원이 완료되면 다른 사용자는 바로 데이터베이스에 접근할 수 있습니다.하지만 전체 백업과 로그백업을 병행한 경우에는, 전체 복원을 한 후에 로그 복원을 해야 합니다.전체 복원만 한 상태에서 사용자가 데이터베이스에 접근한다면 아직 로그 복원되지 않은 불완전한 데이터베이스에 접근하는 것이기 때문엡니다..
MSSQL 은 SQL Server 로그를 확인할 수 있는 sp_readerrorlog 시스템 프로시저를 지원합니다.기본적으로 sp_readerrorlog 를 수행하면, 가장 최신 로그 파일의 모든 내용을 출력합니다. 추가적으로 sp_readerrorlog 에 옵션을 부여할 수 있는데,sp_readerrorlog @p1, @p2, @p3 와 같이 쓸 수 있습니다.@p1 은 파일 로그 시퀀스@p2 는 1과 2가 있는데 1 은 SQL Server 로그, 2 는 SQL Server 에이전트 로그@p3 은 찾기를 원하는 문자열 입니다. 문자열은 여러개로 구성될 수 있으며 and 연산자로 구성됩니다. xp_readerrorlog 는 추가적인 옵션을 부여할 수가 있습니다.xp_readerrorlog @p1, @p2,..
SQL Server 는 sp_readerrorlog 라는 시스템 프로시저를 지원합니다.이 프로시저는 SQL Server 로그를 읽어오는 역할을 수행합니다. xp_readerrorlog 역시 지원하는데, 이는 sp_readerrorlog 보다 좀더 많은 기능을 지원합니다.단지 기능만을 지원하는 것 뿐이지 출력 형식이 달라진다거나 그러지는 않습니다.xp_readerrorlog 와 sp_readerrorlog 의 차이점은 아래 포스팅을 참고해 주세요.https://mozi.tistory.com/296 구동 시점 이후의 오류만 출력하는 쿼리 그럼 먼저 구동 시점 이후의 오류만 뽑아오는 쿼리를 보여드리고 아래서 설명을 진행하겠습니다.CREATE TABLE dbo.TEMP_logcnt (LogNumber INT, ..
MSSQL 은 데이터베이스에 백업을 위한 3가지 모델(전체, 대량 로그, 단순)을 지원하며,백업의 종류는 전체, 차등, 로그 백업으로 구성됩니다. 이해가 좀 어려울 수 있는 데, 간단히 설명드리겠습니다. 모델은, 트랜잭션 로그파일에 어떻게 기록하는지에 대한 정의를 내리는 부분입니다.백업은, 말그대로 현재 데이터 파일을 물리적으로 복사한다 라고 생각하면 됩니다. 데이터베이스의 복구 모델데이터베이스 복구 모델은 전체(Full), 대량 로그(Bulked Log), 단순(Simple) 세 가지 모델이 있습니다.예를 들어 SQL Server 에서 제공하는 AdventureWorks2017 데이터베이스의 복구 모델은 단순으로 설정되어 있습니다.1. 전체 복구 모델데이터베이스가 문제가 발생할 때 문제가 발생한 시점까..
MS-SQL 에는 파일 그룹이라는 개념이 있습니다. 논리적인 관점으로 특정 데이터베이스에는 PRIMARY 라는 하나의 기본 그룹이 있고 그 안에 하나의 데이터 파일이 있습니다.그리고 트랜잭션 로그 파일도 있는데, 이는 파일 그룹과 관련이 없습니다.즉, 파일 2개와 그룹 1개인 최소한의 구조로 구성되며, 기본적인 파일 그룹 PRIMARY 의 이름은 변경하거나 제거할 수 없습니다. 물리적인 관점에서 본다면 생성된 데이터베이스는 하나의 하드디스크에 데이터 파일과 트랜잭션 로그 파일로 구성됩니다.하지만 동시다발적으로 데이터가 대규모로 입력될 때 하나의 디스크에 동시에 접근한다면 성능은 느려질 수 밖에 없습니다.따라서 데이터 파일과 트랜잭션 로그 파일은 기본적으로 서로 다른 디스크에 분리해서 관리해야 합니다. 하..
MS-SQL 에서 데이터베이스는 최소한 다음 2개의 파일을 소유하고 있어야 합니다. 첫 번째는 주 데이터 파일(Primary Data File), 확장명이 .mdf 로 실제 데이터가 저장되는 공간입니다.두 번째는 트랜잭션 로그 파일(Transaction Log File), 확장명이 .ldf 로 데이터베이스 복구에 사용되는 트랜잭션 로그가 저정되는 공간입니다. 그리고 추가로 가질 수 있는 파일이 있습니다.보조 데이터 파일(Secondary Data File)로 확장명은 .ndf, 추가적으로 데이터가 저장되는 공간입니다. 그렇다면 보조 데이터 파일은 무엇을 하는가? 입니다.데이터파일에 저장 시 하나의 파일그룹을 사용할 때 보다 좋은 성능을 낼 수 있기 때문에 보조데이터 파일을 사용합니다.예를 들어서 자주 접..
MS-SQL 를 설치하면 master, model, msdb, tempdb 네 가지의 시스템 데이터베이스를 지원합니다. 데이터베이스 역할 master 디스크 공간, 시스템 전체의 구성 정보, 계정 정보, 사용자 데이터베이스에 대한 정보 등 중요한 목록이 포함되어 있습니다. model 사용자 데이터베이스를 생성할 때 기본 모델이 되는 데이터베이스 입니다. msdb SQL Server 에이전트가 사용하는 데이터베이스로 예약된 작업등의 내용이 들어있습니다. tempdb SQL Server 가 임시로 사용하는 데이터베이스 입니다. SQL Server 를 가동할 때마다 항상 새로 생성되므로 임시로 사용해야 할 것만 저장해야 합니다. 쿼리의 중간 결과(특히 정렬)를 저장하며, 일반 사용자가 만드는 임시 테이블도 저..
MSSQL 의 쿼리 중에서 심심찮게 .. 을 사용한 쿼리를 볼 수 있습니다. 기본적으로 . 은 선객체 내에 속한 후객체 접근을 의미합니다. 물론 권한이 있어야 하겠죠.예를 들어서 스키마.테이블 은 해당 스키마에 속한 테이블을 나열합니다. 그럼 .. 은 뭘까요?MSSQL 은 데이터베이스명.스키마명.테이블명 으로 쿼리를 구성할 수 있습니다.이 때 해당 유저의 기본 스키마를 사용한다면 중간의 스키마명을 빼고 데이터베이스명..테이블명 으로 작성할 수 있습니다. 글로만 보면 어려우니, 사진으로 확인해 보겠습니다. 유저의 기본 스키마는 dbo 입니다.dbo 스키마에 mozi 테이블을, guest 스키마에 mozi2 의 테이블을 만든 후, .. 을 사용해서 조회를 시도해 봅니다. dbo 스키마에 속한 테이블객체는 ...
꽁담
'분류 전체보기' 카테고리의 글 목록 (31 Page)