분류 전체보기

SQL Server 가 기본 포트(1433)을 사용하는 경우 SSMS 에서 연결할 때 포트를 적어주지 않아도 가능합니다.이러한 이유는 포트를 작성하지 않을 시 내부적으로 1433 이라는 포트가 연결이 되기 때문에 가능하며, 기본포트가 아닌 경우에는 SSMS 에 포트를 입력해 주어야 합니다. 그러면 연결은 어떤방식으로 작성해야 할까요?아마 다른 벤더사에 친숙한 분들은 아이피와 포트가 ; 으로 구분될거라 예상하지만 SQL Server는 , 로 구분됩니다. IP\INSTANCENAME,PORT SERVERNAME\INSTANCENAME,PORT 사진으로 같이 보겠습니다.테스트는 기본포트를 사용했고, SSMS 접속시 포트를 사용하는 방법만 작성합니다. LOCAL 에서는 . 혹은 (local) 혹은 SERVERN..
MS SQL 은 인스턴스에서 사용할 수 있는 최소 메모리와 최대 메모리의 산정 량을 제공합니다. SQL Server 가 정상적으로 구동되어 있는 상황이라면, SSMS 를 통해서 쉽게 제어할 수 있습니다.물론 이 때는 SQL Server가 재구동이 필요합니다. [SSMS를 통해서 최대/최소 메모리를 구성하는 방법]1. SSMS를 실행한 후 해당 인스턴스에 접속합니다. 2. 인스턴스 우클릭 - 속성으로 들어갑니다.3. 메모리 탭에서 최대 메모리를 설정합니다. 4. SQL 구성관리자에서 해당 인스턴스를 다시 시작합니다. 이번 포스팅은 최대 메모리를 너무 낮게 산정해서 SSMS도 실행할 수 없는 경우에 대해 알아봅니다. SQL Server 미 구동인 환경에서 최대/최소 메모리를 구성하는 방법1. SSMS에서 최..
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 로 인스턴스에 로그인 한 후, 각 데이터베이스..
새 사용자를 추가 후 로그인할 때 신뢰되지 않은 기관에서 인증서 체인을 발급했습니다. 라는 오류로 접속이 되지 않는 현상입니다. 로그인 창에서 옵션에 들어갑니다. 연결 속성에서 서버 인증서 신뢰에 체크를 합니다. 추가 연결 매개 변수에 다음의 문자열을 추가합니다. TrustServerCertificate=True 복붙하세요~ 이렇게 하시면 해당 에러가 나오지 않는 것을 확인할 수 있습니다.그렇지만 매번 이렇게 할 수 없어서 사용자에게 자격 증명 매핑을 해주는 방법도 있습니다.
MS-SQL 에서 테이블의 존재 유무는 information_schema 의 tables 테이블에서 확인할 수 있습니다. 예를들어 dbo 스키마, mozi 테이블을 확인하는 방법입니다. 1234 SELECT * FROM INFORMATION_SCHEMA.tables WITH(NOLOCK) WHERE TABLE_SCHEMA = 'dbo' AND TABLE_NAME = 'mozi'cs 그럼 이제 테이블의 존재 유무를 확인해서 있는경우 DROP & CREATE 하는 방법을 해보겠습니다. 12345678910IF EXISTS ( SELECT * FROM INFORMATION_SCHEMA.tables WITH(NOLOCK) WHERE TABLE_SCHEMA = 'dbo' AND TABLE_NAME = 'mozi'..
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..
이번 포스팅은 정말 주관적인 생각입니다. 테이블의 총 건수를 알고싶은 경우 COUNT(*)를 사용하여야 합니다.이는 DB입장에서 메타에 총 건수를 저장하여 COUNT(*)를 호출했을 때 해당 메타 정보를 반환하지 않는 한,언제나 Full Scan을 해야한다는 상당히 고비용의 작업이 요구됩니다. 따라서 실시간 서비스를 하는 입장에서는 부담이 큽니다. 개인적으로 생각한 대안의 방법으로는 (이 방법이 좋은지 않좋은지는 알 수 없습니다. 상황에 따라 많이 다르기도 하고요.)물리적으로 테이블 명과 해당 테이블의 레코드 수를 저장하는 테이블을 하나 더 만들어서 그곳에 데이터를 넣는 방법을 사용하면 어떤지 생각해 봅니다. 예시로 어떤 쿼리를 보겠습니다. (문법은 무시해 주시고 의미만 파악해주시길 부탁드립니다.)INS..
꽁담
'분류 전체보기' 카테고리의 글 목록 (32 Page)