SQL Server 123

SSRS 인디케이터 (데이터 값에 따라 표시기로 시각화 하기)

SSRS 인디케이터 (데이터 값에 따라 표시기로 시각화 하기) · Version : SSRS SSRS 인디케이터(Indicators)는 보고서에서 표시되는 단일 데이터 값의 상태를 시각화 할 수 있는 작은 표시기 이다. 인디케이터의 종류는 다양하며, 추세, 상태, 조건, 등급 등의 상태를 시각적으로 표현할 수 있다. 인디케이터를 사용하는 방법은 [Toolbox] – [Indicator] 항목을 리포트 페이지로 드래그앤 드롭으로 끌어다 놓으면 된다. 조건에 따라 인디케이터의 상태를 변화 값을 설정하기 위해서 인디케이터에서 마우스 오른쪽 버튼을 클릭하여 [Indicator Properties]를 선택한다. Indicator properties 창에서 [Value and States] 탭을 클릭하여 인디케이터..

SSRS에서 표의 값에 따라 폰트 컬러 변경하기

SSRS에서 표의 값에 따라 폰트 컬러 변경하기 · Version : SSRS SSRS에서 표의 폰트 색상을 정해진 룰에 따라 자동으로 색상을 변경하는 방법에 대해서 알아본다. 폰트의 컬러 속성을 지정하기 위해서, 값을 표시하려는 표의 컬럼에서 마우스 오른쪽 버튼을 클릭하여 [Text Box Property] 항목을 선택 한다. [Text Box Properties] 설정 창이 나타나면 [Font] 탭으로 이동하여 Color 항목의 펑션 버튼(fx)을 클릭한다. 펑션 창에서 아래와 같이 조건을 입력하면 해당 룰에 따라 폰트 컬러가 변경된다. =SWITCH(Fields!Pay.Value = 20, "Green") 폰트 컬러외에도 굵기, 이탤릭체 등 설정할 수 있으며, 표의 텍스트 배경색 변경도 가능하다. ..

SQL Linux의 fsync 및 버퍼된 IO (버퍼된 쓰기중 오류가 발생하였을때 파일은 유효할까?)

SQL Linux의 fsync 및 버퍼된 IO (버퍼된 쓰기중 오류가 발생하였을때 파일은 유효할까?) · Version : SQL Server Linux PostgreSQL에서 fsync() 오류처리는 안전하지 않으며 XFS에서 데이터 손실이 발생할 수 있다는 내용이 있다. · PostgreSQL's handling of fsync() errors is unsafe and risks data loss at least on XFS : https://www.postgresql.org/message-id/flat/CAMsr%2BYE5Gs9iPqw2mQ6OHt1aC5Qk5EuBFCyG%2BvzHun1EqMxyQg%40mail.gmail.com#CAMsr+YE5Gs9iPqw2mQ6OHt1aC5Qk5EuBFCyG+..

SQL Server와 SQL Linux에서 인스턴스 파일 초기화 차이점

SQL Server와 SQL Linux에서 인스턴스 파일 초기화 차이점 · Version : SQL Server, SQL Server Linux SQL Server는 로그 파일 또는 데이터 파일이 증가하거나 새로 작성될때, 인스턴트 파일 초기화 작업을 진행한다. 이번 포스트에서는 인스턴스 파일이 초기화 될때, 기본 파일 시스템 구현과 Windows 와 Linux 간의 동작 차이를 알아본다. · Database File Initialization : https://docs.microsoft.com/en-us/sql/relational-databases/databases/database-instant-file-initialization?view=sql-server-2017 SQL Server는 데이터 및 로..

SQL Server Agent Job에서 sysploicy_purge_history 작업실패

SQL Server Agent Job에서 sysploicy_purge_history 작업실패 · Version : SQL Server SQL Server 2008 이후로 SQL Server Agent Job에서는 syspolicy_purge_history라는 job이 등록되어 있다. 해당 Job은 MSDB에 쌓여 있는 히스토리를 정리하는 작업을 진행한다. 가끔 해당 Job 실행시 아래와 같은 오류가 발생할 수 있는데, 오류가 무엇인지 확인해보고 해결하는 방법에 대해서 살펴 본다. Job이 실패하였을때, 해당 로그를 살펴보면 아래와 같은 오류로그가 발생하였다. Date 7/29/2019 1:23:41 PM Log Job History (syspolicy_purge_history) Step ID 3 Serv..

SQL Server에서 테이블 이름을 변경하지 않고 테이터만 교체하기

SQL Server에서 테이블 이름을 변경하지 않고 테이터만 교체하기 · Version : SQL Server SQL Server에서 파티션 테이블을 사용하기 위해서는 SQL Server Enterprise Edition을 사용해야한다. Standard Edition에서도 파티션 테이블 처럼 사용하기 위해서는 새로운 테이블을 생성하고 sp_rename 함수를 사용하여 기존테이블과 새로운 테이블의 이름을 변경하는 방식으로 사용하였다. -- Replace live with staging BEGIN TRAN DROP TABLE DataTable; EXEC sp_rename DataTable_Staging, DataTable; COMMIT -- Swap live and staging BEGIN TRAN EXEC..

SQL Server master 데이터베이스 정리

SQL Server master 데이터베이스 정리 · Version : SQL Server SQL Server에서 master 데이터베이스의 역할은 시스템에 대한 모든 정보를 기록한다. 여기에는 로그인 계정, 끝점, 연결된 서버 및 시스템 구성설정과 같은 인스턴스 차원의 메타 데이터가 포함된다. · master database : https://docs.microsoft.com/en-us/sql/relational-databases/databases/master-database?view=sql-server-2017 우리는 가끔 의도하지 않게 master 데이터베이스에 개체를 생성하는 경우가 있다. 대부분 개체를 생성할 때 USE 문을 생략했을 수도 있고 수 많은 작업창을 띄어 놓고 사용하다가 실수할 수도..

SQL Server 프로토콜과 SQLCMD를 사용한 연결

SQL Server 프로토콜과 SQLCMD를 사용한 연결 · Version : SQL Server SQL Server에 연결하는 것은 이미 많은 문서를 통해서 잘 알려져 있으며 GUI를 제공하는 툴들이 많아서 어렵지 않게 느껴질 수가 있다. 하지만 상황에 따라 복잡해 질 수 있다. 만약 TCP 포트에서 수신대기를 하지 않는 SQL Server 인스턴스에는 어떻게 연결할까? 호스트 컴퓨터가 서버 DNS를 확인할 수 없는 경우 어떻게 SQL Server에 연결할까? 명명된 인스턴스는 무엇일까? 이번 포트스에서 SQLCMD를 사용하여 다양한 프로토콜의 의미와 사용법을 알아 본다. SQL Server를 관리하는 다양한 툴들이 있다. 특히SSMS(SQL Server Management Studio)는 Micros..

SQL Server Edition 다운그레이드 후 확인사항

SQL Server Edition 다운그레이드 후 확인사항 · Version : SQL Server SQL Server Enterprise Edition 에서 SQL Server Standard Edition으로 다운 그레이드 후 확인해야 할 몇 가지 사항에 대해서 알아본다. SQL Server Enterprise Edition을 SQL Server Standard Edition으로 다운그레이드 후 일부 구성이 기본값으로 다시 설정된다. [SQL Server 오류 로그 수] SQL Server 오류 로그 파일의 수가 기본 6개로 재설정된다. 이 설정을 확인하고 필요한 수로 설정한다. SSMS의 GUI를 사용할 수도 있으며 T-SQL 코드를 사용할 수 있다. USE [master] GO EXEC xp_in..

AlwaysOn 구성환경에서 Server Role 체크 후 Job Agent 실행 중지하기

AlwaysOn 구성환경에서 Server Role 체크 후 Job Agent 실행 중지하기 · Version : SQL Server SQL Server에서 AlwaysOn을 구성하였을때, Failover 를 대비하여 Secondary 서버에서도 Primary서버와 동일하게 계정, Job Agent 등이 구성되어 있어야 한다. 그런데 Secondary의 경우 DB가 동기화 되고 있는 대기 서버이기 때문에 Job Agent를 Primary와 동일하게 설정하면 Secondary에서 Job 실행 시 Job Fail이 발생한다. 또한 Secondary에서 일부 Job 의 경우 실행이 되지 말아야 할 것들이 있다. 아래 스크립트는 AlwaysOn 의 role을 확인하여 서버가 Primary일 때만 Job Agent..