2019/02

새 사용자를 추가 후 로그인할 때 신뢰되지 않은 기관에서 인증서 체인을 발급했습니다. 라는 오류로 접속이 되지 않는 현상입니다. 로그인 창에서 옵션에 들어갑니다. 연결 속성에서 서버 인증서 신뢰에 체크를 합니다. 추가 연결 매개 변수에 다음의 문자열을 추가합니다. 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..
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..
특정 정보를 처리하는 현재 세션을 변경할 수 있는 SET 문에 대해서 알아봅니다.설명에서 문장 앞의 SET은 생략되어 있습니다. 날짜 및 시간문 문장 설명 DATEFIRST 일주일의 시작 요일을 1부터 7까지의 숫자로 설정 옵션: 1 ~ 7 (1: 월요일 .. 7: 일요일) 예) SET DATEFIRST 1 -- 월요일로 설정 DATEFORMAT 문자열 해석을 위한 월,일 및 연도 날짜 부분의 순서를 지정 옵션: dmy, dym, mdy, myd, ymd, ydm 예) SET DATEFORMAT dmy -- {day/month/year} 잠금문 문장 설명 DEADLOCK_PRIORITY 현재 세션이 다른 세션과 교착 상태에 있는 경우 현재 세션이 계속 실행되도록 하는 상대적 중요도를 지정 옵션: LOW(..
MsSQL 에서는 Cluster 이중화 방식을 지원합니다.여기에서 모든 Cluster 노드는 하나의 디스크를 공유하는 방식으로 구성됩니다. 주 노드를 사용하고 있을 때는 보조 노드는 읽기만 가능합니다.만약 주 노드에 장애가 발생하는 경우 보조 노드가 주 노드로 바뀌면서 읽기/쓰기가 가능해집니다. 그럼 구성해보겠습니다.본 장비에서 VirtualBox 로 가상화 4대의 장비를 구성했습니다.따라서 본 장비가 어느정도 스펙이 따라주어야... 합니다ㅎ 구성할 VirtualBox 4대의 정보를 먼저 표로 보여드립니다. 구성/장비 DC (Domain Controller) SQL01 (main) SQL02 (sub) SQLApp (App) IP 192.168.56.101 192.168.56.102 192.168.56...
꽁담
'2019/02 글 목록