SQL Server/SQL Server 기타

MS-SQL 를 설치하면 master, model, msdb, tempdb 네 가지의 시스템 데이터베이스를 지원합니다. 데이터베이스 역할 master 디스크 공간, 시스템 전체의 구성 정보, 계정 정보, 사용자 데이터베이스에 대한 정보 등 중요한 목록이 포함되어 있습니다. model 사용자 데이터베이스를 생성할 때 기본 모델이 되는 데이터베이스 입니다. msdb SQL Server 에이전트가 사용하는 데이터베이스로 예약된 작업등의 내용이 들어있습니다. tempdb SQL Server 가 임시로 사용하는 데이터베이스 입니다. SQL Server 를 가동할 때마다 항상 새로 생성되므로 임시로 사용해야 할 것만 저장해야 합니다. 쿼리의 중간 결과(특히 정렬)를 저장하며, 일반 사용자가 만드는 임시 테이블도 저..
MSSQL 의 쿼리 중에서 심심찮게 .. 을 사용한 쿼리를 볼 수 있습니다. 기본적으로 . 은 선객체 내에 속한 후객체 접근을 의미합니다. 물론 권한이 있어야 하겠죠.예를 들어서 스키마.테이블 은 해당 스키마에 속한 테이블을 나열합니다. 그럼 .. 은 뭘까요?MSSQL 은 데이터베이스명.스키마명.테이블명 으로 쿼리를 구성할 수 있습니다.이 때 해당 유저의 기본 스키마를 사용한다면 중간의 스키마명을 빼고 데이터베이스명..테이블명 으로 작성할 수 있습니다. 글로만 보면 어려우니, 사진으로 확인해 보겠습니다. 유저의 기본 스키마는 dbo 입니다.dbo 스키마에 mozi 테이블을, guest 스키마에 mozi2 의 테이블을 만든 후, .. 을 사용해서 조회를 시도해 봅니다. dbo 스키마에 속한 테이블객체는 ...
SQL Server 가 기본 포트(1433)을 사용하는 경우 SSMS 에서 연결할 때 포트를 적어주지 않아도 가능합니다.이러한 이유는 포트를 작성하지 않을 시 내부적으로 1433 이라는 포트가 연결이 되기 때문에 가능하며, 기본포트가 아닌 경우에는 SSMS 에 포트를 입력해 주어야 합니다. 그러면 연결은 어떤방식으로 작성해야 할까요?아마 다른 벤더사에 친숙한 분들은 아이피와 포트가 ; 으로 구분될거라 예상하지만 SQL Server는 , 로 구분됩니다. IP\INSTANCENAME,PORT SERVERNAME\INSTANCENAME,PORT 사진으로 같이 보겠습니다.테스트는 기본포트를 사용했고, SSMS 접속시 포트를 사용하는 방법만 작성합니다. LOCAL 에서는 . 혹은 (local) 혹은 SERVERN..
MS-SQL에서 지원하는 Data Migration Assistant(이하 DMA)를 사용하여 SQL Server 를 마이그레이션 하는 방법입니다. 테스트 환경은 다음과 같습니다. 환경 버전 DMA Data Migration Assistant v4.2 Source Windows Server 2012, SQL Server 2008 Target Windows Server 2017, SQL Server 2017 DMA는 Source 서버에 설치되어 있습니다.Source와 Target 서버는 서로 통신이 가능합니다. Source 장비에서 2017버전 호환성 테스트 작업마이그레이션을 진행하기 전에 먼저 2008버전에서 사용중인 스키마, 데이터 등과 2017버전이 호환이 맞는지를 테스트 합니다. 1. DMA를 실행..
MS-SQL 은 다른 데이터베이스와는 다르게인스턴스 단위의 로그인 유저와 데이터베이스 단위의 사용자 유저로 나뉘어져 있습니다. 답변부터 말하자면,인스턴스 단위의 로그인 유저는 MS-SQL 에 로그인 하기 위한 계정,데이터베이스 단위의 사용자 유저는 MS-SQL 인스턴스 내의 특정 데이터베이스에 접근하기 위한 계정입니다. 특정 아이디로 로그인한 유저에 대해서는 특정 데이터베이스만 사용하도록 접근권한을 제어할 수가 있습니다. 좀 더 이해하기 쉽게 사진으로 설명합니다. 1. 인스턴스 단위의 로그인에 A 라는 사용자 유저를 생성합니다.2. MIG_TEST와 MIG_TEST2 의 데이터베이스를 생성합니다.3. MIG_TEST2 에만 A 의 유저를 생성합니다. 4. A 로 인스턴스에 로그인 한 후, 각 데이터베이스..
MS-SQL 은 날짜/시간 데이터 저장을 위해 다음의 6가지 타입을 지원합니다. 데이터 형식 형식 time hh:mm:ss[.nnnnnn] date YYYY-MM-DD smalldatetime YYYY-MM-DD hh:mm:ss datetime YYYY-MM-DD hh:mm:ss[.nnn] datetime2 YYYY-MM-DD hh:mm:ss[.nnnnnn] datetimeoffset YYYY-MM-DD hh:mm:ss[.nnnnnn] [+|-]hh:mm 각 데이터 타입별 범위와 정확도 저장공간 크기등은 아래 url에서 '날짜 및 시간 데이터 형식' 을 참고해주세요.https://docs.microsoft.com/ko-kr/sql/t-sql/functions/date-and-time-data-types-..
SSIS를 사용하여 텍스트 내용을 테이블로 적재하는 방법, 혹은 추출하는 방법을 알아보겠습니다. 적재하는 방법을 먼저 알아보겠습니다.1. txt 파일에 데이터가 다음과 같이 들어있습니다. 2. 테스트에 사용될 테이블을 생성합니다. (레코드 크기는 왜이렇게 커! 이러지말고 무시해주세요..)CREATE TABLE dbo.TEST_txt ( NAME VARCHAR(50), AGE INT, SEX CHAR(50) ) 3. Visual Studio 를 실행한뒤 SSIS 솔루션을 생성합니다. 4. 데이터 흐름 태스크를 드래그하여 끌고 옵니다. 이후 데이터 흐름 태크스를 더블클릭합니다. 5. 플랫 파일 원본과 OLEDB 대상을 드래그하여 끌고 옵니다. 이후 플랫 파일 원본의 파란 화살표를 OLE DB 대상에 연결합니..
인터넷 접속이 되지 않게 서비스 하는 환경이 많습니다.그런데 MS-SQL에서 제공하는 SQL Server 설치 패키지에서 SSDT를 설치하려면 온라인 환경을 이용해야 하기 때문에 진행할 수 없습니다. 이번에는 폐쇄망에서 SSDT를 설치하는 법을 포스팅합니다. SSDT를 설치하기 위해서는 SQL Server와 Visual Studio가 설치되어 있어야 합니다. 1. 온라인 환경의 PC에서 Visual Studio(버전15.6)와 SSDT 패키지를 다운로드 받습니다.Visual Studio Commuity : https://docs.microsoft.com/en-us/visualstudio/releasenotes/vs2017-relnotes-v15.6SSDT : https://docs.microsoft.co..
MS-SQL은 데이터베이스 콘솔 명령어로써 DBCC문을 제공합니다. 콘솔 명령은 아래 4가지의 범주로 분류할 수 있습니다. 명령 범주 수행하는 작업 알림 다양한 정보를 수집하고 표시 유효성 검사 데이터베이스, 테이블, 인덱스, 카탈로그, 파일 그룹 또는 데이터베이스 페이지 할당에 대한 유효성 검사 유지 관리 데이터베이스, 인덱스 또는 파일 그룹에 대한 유지 관리 기타 추적 플래그 설정이나 메모리에서 DLL제거 같은 기타 작업 아래 설명에서 앞부분의 DBCC가 생략되어 있습니다.또한 각 DBCC문의 출력되는 열에대한 자세한 내용은 포스터 아래 url을 참고해주세요. 알림 DBCC문 설명 INPUTBUFFER 클라이언트가 인스턴스에 마지막으로 전송한 문을 표시 OPENTRAN 트랜잭션 로그 내에서 가장 오래..
동적 쿼리를 실행할 수 있는 방법은 EXEC 와 EXEC sp_executesql 을 사용하는 2가지 방법이 있습니다. EXEC 방식은 동적 쿼리의 매개변수 일부만 바뀌더라도 매번 컴파일이 되지만,sp_executesql 방식은 매개변수를 파라미터화 할 수 있기 때문에 쿼리문 자체의 변경이 없다면 캐싱된 실행계획을 재사용할 수 있습니다. sp_executesql에 관해서는 아래 url을 참고해주세요.https://docs.microsoft.com/ko-kr/sql/relational-databases/system-stored-procedures/sp-executesql-transact-sql?view=sql-server-2017 테스트를 진행해봅니다. 1. 테스트에 사용될 테이블을 생성합니다.CREATE..
꽁담
'SQL Server/SQL Server 기타' 카테고리의 글 목록 (4 Page)