SQL Server/SQL on Azure 21

Azure SQL에 도입된 새로운 집계 함수 APPROX_COUNT_DISTINCT

Azure SQL에 도입된 새로운 집계 함수 APPROX_COUNT_DISTINCT · Version : Azure SQL 다양한 서비스를 운영하다보면 서비스에 따른 중요 포인트가 조금씩 다른 경우가 있다. 예를들어 정확한 숫자(결과값)을 중요시하는 서비스(일일 매출, 재고량 등)가 있으며, 빠른 응답을 (실시간 데이터 사용량, DB의 전체 데이터 ROW 수 등의 대시보드 등) 중요시하는 서비스가 있다. 물론 응답성을 중시한다고 해서 데이터가 틀리면 안되겠지만 허용되는 오차범위에서 최대한 빠른 응답이 필요할 때가 있다. 이번 포스트에서는 매우 큰 데이터 세트 전체에 대한 집계에 대해 빠른 응답을 할 수있는 Azure SQL의 APPROX_COUNT_DISTINCT에 대해서 다루어 본다. Azure SQL..

Azure SQL의 데이터베이스 소유권 체인

Azure SQL의 데이터베이스 소유권 체인 · Version : Azure SQL Azure SQL Database Managed Instance에서는 SQL Server와 동일한 방식으로 데이터베이스간 쿼리를 실행할 수 있다. 또한 데이터베이스간 소유권 체인을 지원한다. 이번 포스트에서는 Managed Instance의 소유권 체인에 대해서 다루어 본다. 데이터베이스간의 소유권 체인을 사용하면 명시적 권한이 객체에 부여되지 않더라도SQL 인스턴스의 다른 데이터베이스에 있는 객체에 액세스 할 수 있다. DB_CHAINING옵션이 데이터베이스에서 설정되어 있는 경우 동일한 소유자로 다른 데이터베이스에 액세스할 수 있다. DB_CHAINING is disabled by default on new datab..

Azure SQL의 내부 디스크 할당 방법 및 저장 가능 용량 확인

Azure SQL의 내부 디스크 할당 방법 및 저장 가능 용량 확인 · Version : Azure SQL Azure SQL Database Managed Instance는 모든 데이터베이스 파일을 Azure Storage에 보관하는 Azure Cloud SQL Server 서비스 이다. 이번 포스트에서는 Managed Instance가 스토리지 계층에 디스크를 할당하는 방법과 최대 사용한 가능한 디스크 공간을 확인하는 방법에 대해서 살펴본다. Azure SQL Database Managed Instance는 일반적인 목적의 스토리지 계층과 데이터베이스 파일이 위치하는 Azure Premium 스토리지 계층을 가지고 있다. Managed Instance는 모든 파일에 대해 미리 정의된 크기의 Azure ..

Azure SQL에서 이메일 보내기

Azure SQL에서 이메일 보내기 · Version : Azure SQL Azure SQL Database Managed Instance는 Azure 클라우드에서 대부분의 SQL Server 기능을 사용할 수 있다. 이번 포스트에서는 Managed Instance에서 메일 프로필을 설정하고 이메일을 보내는 방법에 대해서 알아본다. 먼저 이메일 서버에 액세스하는데 필요한 로그인/암호 정보와 함께 실제 이메일을 보낼 전자 메일 서버의 주소가 포함된 이메일 계정 정보를 설정한다. 아래 스크립트를 참고하여 설정을 사용자에게 맞게 변경 후 실행 한다. -- Create a Database Mail account EXECUTE msdb.dbo.sysmail_add_account_sp @account_name = ..

Azure SQL에서 읽기 전용 복제본에 대한 접속 및 링크 서버 생성

Azure SQL에서 읽기 전용 복제본에 대한 접속 및 링크 서버 생성 · Version : Azure SQL Azure SQL Database Managed Instance는 Azure 클라우드에서 호스트 되는 완벽하게 관리되는 SQL Server 데이터베이스 엔진으로 Azure SQL Pass 및 SQL Server 기능(예: 링크된 서버 및 기본 제공되는 무료 보조 읽기 전용 복제본)을 제공한다. 이번 포스트에서는 연결된 서버(링크드 서버)를 사용하여 읽을 수 있는 보조 복제본을 연결하는 방법을 살펴 본다. Managed Instance의 Business Critical Tier는 모든 데이터베이스에 대해서 리포트 목적의 용도로 사용할 수 있는 읽기 전용 상태의 무료 읽기 전용 복제본을 제공한다. ..

Azure SQL에서 네트워크를 구성하는 방법

Azure SQL에서 네트워크를 구성하는 방법 · Version : Azure SQL Azure SQL Managed Instance는 Azure 클라우드에서 호스팅되고 Azure 가상 네트워크를 사용하는 완전히 관리되는 SQL Server 인스턴스이다. Managed Instance는 가상 네트워크를 사용하기 때문에 Azure 관리 서비스에서 사용자가 네트워크 액세스 규칙을 정의할 수 있다. 잘못된 네트워크 구성은 Managed Instance를 배포할때 오류가 발생하므로 아래 순서에 따라서 네트워크 환경을 구성하여 사용한다. 일반적으로 인스턴스용 가상 네트워크를 구성할 때 기본 5가지 단계로 정리할 수 있다. 1. Managed Instance가 사용할 가상 네트워크를 구성 2. Managed Ins..

How to check if Azure SQL is using In-Memory

How to check if Azure SQL is using In-Memory - Azure SQL에서 In-Memory를 사용하는지 확인하는 방법 - Premium Tier에서 Standard Tier 로 변경 시 프리미엄 서비스 사용 확인 · Version : AzureSQL Azure SQL 사용시 Tier 마다 지원되는 기능이 조금씩 다르다. 그중 P Tier는 Premium 서비스로 In-Memroy 테이블이 지원된다. 이번 포스트에서는 P Tier에서 하위 S Tier로 변경 시 In-Memory 서비스를 사용하고 있는 테이블이 있는지 확인하는 방법에 대해서 알아본다. · Service Tier : https://docs.microsoft.com/en-us/azure/sql-database/..

Azure SQL Server AlwaysOn Listener 연결 오류 (서브넷 구성 오류)

Azure SQL Server AlwaysOn Listener 연결 오류 (서브넷 구성 오류) · Version : SQL Server on Azure SQL Server Azure 환경에서 리스너 IP에 대한 서브넷 마스크가 잘못 구성된 경우 Azure의 AlwaysOn Listener에 연결할 수 없다는 오류가 발생한다. “A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is c..

SQL Azure blob storage 백업을 위한 프록시 세팅

SQL Azure blob storage 백업을 위한 프록시 세팅 Version : SQL Azure 기존의 로컬 저장소가 아닌 Azure blob storgae에 백업을 저장할때, 일부 시스템의 경우 보안상의 이유로 인터넷 접속이 차단되어 있는 경우가 있다. 이때 프록시 서버를 사용하여 Azure로 백업을 할 경우 backuptoURL.exe.config를 구성해야 한다. 아래 스크린샷은 프록시 서버를 구성하는 방법이다. 프록시 서버를 사용하여 인터넷에 액세스 할 경우 프록시 서버에는 분당 연결 수를 제한하는 설정이 있을 수 있다. URL에 대한 백업 프로세스는 다중 스레드 프로세스이므로 이 제한을 초과할 경우 프록시는 연결을 해제할 수 있다. 이 문제를 해결하기 위해서는 SQL Server에서 프록시..

SQL on Azure 환경에서 SQL 서버 연결 불능 문제(VNET 설정 문제)

SQL on Azure 환경에서 SQL 서버 연결 불능 문제(VNET 설정 문제) Version : SQL on Azure 온프레미스 환경의 SQL Server를 Azure 환경으로 변경할 때 최소한의 노력은 이동 작업이다. 그러나 미묘하게 주의해야할 작업이 있다. 그 중 한가지가 네트워킹 플랜이다. Azure Virtual Network(VNET)는 온프레미스 환경과 Azure 환경의 다리 역할을 하거나 격리 수준 역할을 한다. 우리는SQL Serve 가상 머신과 IIS 가상 머신을 만들는 과정에서 자주 반복된 실수를 살펴본다. 자주 실수하는 부분 중 하나가VM을 생성할때 다른 VNET에서 생성하는 것이다. 서로 다른 VNET에 생성된 VM은 VPN을 사용한 동적 게이트웨이를 사용하지 않으면 통신할 수..