일반적인 문제
    • PDF

    일반적인 문제

    • PDF

    기사 요약

    Cloud DB for MSSQL를 이용하면서 다음과 같은 문제를 겪을 수 있습니다. 문제별 원인과 해결 방법을 확인하고 적절하게 조치해 주십시오.

    MSSQL Server 접속 오류

    MSSQL Server 접속 시 오류가 발생합니다.
    외부에서 MSSQL Server에 접속할 수 없습니다.

    원인

    MSSQL Server에 접속하려면 사전에 MSSQL Server와 통신할 애플리케이션 서버를 생성해야 합니다. 사전 작업을 해두지 않으면 정상적으로 네이버 클라우드 플랫폼의 Cloud DB for MSSQL를 정상적으로 사용할 수 없습니다.

    해결 방법

    애플리케이션 서버 확인
    Cloud DB for MSSQL에서 생성한 MSSQL Server는 현재 네이버 클라우드 플랫폼 내에서만 접근이 가능하기 때문에 애플리케이션 서버 역시 네이버 클라우드 플랫폼 내에 생성해야 합니다. 전반적인 서버 생성의 흐름은 사용 시나리오를 확인 후 아래의 각 플랫폼 환경별 시작 가이드를 참조해 주십시오.

    참고

    애플리케이션 서버를 통하지 않고 MSSQL Server에 직접 접속하려면 SSMS를 사용합니다. 유틸리티의 사용 방법에 대한 설명은 클라우드 외부에서 DB 접근하기를 참조해 주십시오.

    MSSQL Server 접속 방법 확인
    네이버 클라우드 플랫폼 서버에서 MSSQL Server에 접속하는 방법은 다음과 같습니다.

    linked server 사용

    Cloud DB for MSSQL에서 linked server를 사용할 수 없습니다.

    원인

    Cloud DB for MSSQL에서 linked server를 사용할 수 없는 것이 스펙입니다.

    해결 방법

    MSSQL로 linked server를 사용하려면 일반 설치형 MSSQL로 직접 구성해 주십시오.

    Mirror 서버 복제 오류

    Mirror 서버로 복제 시 오류가 발생합니다.

    원인

    SSMS에서 사용자를 생성하거나 비밀번호를 변경하는 경우, Mirror 서버로 복제되지 않을 수 있습니다.

    해결 방법

    • 서버 생성 시에 만든 관리용 USER_ID의 정보를 변경(이름 변경, 비밀번호 변경 등)하지 마십시오.
    • SSMS의 UI에서 직접 데이터베이스를 생성할 경우, 옵션에서 복구 모델을 '전체(Full)'로 변경해 주십시오.

    MSSQL Server의 임계값 초과 알림

    MSSQL Server의 임계값 초과 이벤트 알림을 받을 수 없습니다.

    원인

    Cloud DB for MSSQL은 서버 성능과 운영체제에 대한 모니터링 서비스와 이벤트 수집 서비스를 제공하며, Cloud Insight와 연동하여 사용자가 직접 임계값을 설정해야 합니다. Cloud Insight의 연동과 사용자 설정값에 오류가 있을 경우, 정상적으로 알림이 전송되지 않을 수 있습니다.

    해결 방법

    Cloud DB for MSSQL의 모니터링 결과와 이벤트 수집 결과는 Cloud Insight와 연동하여 메일이나 SMS로 알림을 보내도록 설정할 수 있습니다. 자세한 사용 방법은 Monitoring, Event 내용을 참조해 주십시오.

    데이터베이스 접근 불가

    재시작한 데이터베이스가 '복구중' 상태여서 데이터베이스에 접근할 수 없습니다.

    원인

    테이블 작업이 정상적으로 완료되지 않아 자동으로 복구 중인 상태입니다.

    해결 방법

    테이블 데이터가 변경 중인 상황에서 프로세스를 강제 종료한 후 재시작한 경우, 변경된 용량이 클수록 복구에 시간이 오래 소요됩니다. 복구가 완료될 때까지 기다려 주십시오.

    Failover 수행

    서비스 오픈 전 Principal Server 장애로 인한 Failover 상황을 재현하여 애플리케이션에 영향이 없는지 사전에 점검하기 위해 Failover를 수행하고자 합니다.

    해결 방법

    재시작 실행 시 재부팅 모드를 선택할 수 있습니다. 선택 가능한 재부팅 모드는 Without FailOver와 With FailOver가 있습니다. Without FailOver는 사용자가 SSMS로 설정한 내용이 보장되지만, With FailOver는 사용자가 SSMS로 설정한 내용이 유실될 수 있습니다.

    동기화 오류

    데이터베이스 동기화가 정상적으로 수행되지 않았습니다.

    원인 및 해결 방법

    이중화 설정된 서버 간 데이터베이스 동기화가 여러 원인으로 정상적으로 수행되지 않을 수 있습니다. 아래 쿼리를 콘솔 사용자 계정으로 실행한 후, 가이드를 참고해 변경해 주십시오.

    SELECT A.NAME
    	, ISNULL(
    		TRIM(',' FROM 
    			CASE WHEN STATUS & 1 = 1 THEN 'AUTOCLOSE_DATABASE' ELSE '' END 
    			+','+ CASE WHEN STATUS & 64 = 64 THEN 'PRE_RECOVERY_DATABASE' ELSE '' END 
    			+','+ CASE WHEN STATUS & 128 = 128  THEN 'RECOVERING_DATABASE' ELSE '' END 
    			+','+ CASE WHEN STATUS & 256 = 256  THEN 'NOT_RECOVERED_DATABASE' ELSE '' END 
    			+','+ CASE WHEN STATUS & 512 = 512 THEN 'OFFLINE_DATABASE' ELSE '' END 
    			+','+ CASE WHEN STATUS & 1024 = 1024 THEN 'READ_ONLY_DATABASE' ELSE '' END 
    			+','+ CASE WHEN STATUS & 2048 = 2048 THEN 'DBO_USE_ONLY_DATABASE' ELSE '' END 
    			+','+ CASE WHEN STATUS & 4096 = 4096 THEN 'SINGLE_USER_DATABASE' ELSE '' END 
    			+','+ CASE WHEN STATUS & 32768 = 32768 THEN 'EMERGENCY_MODE_DATABASE' ELSE '' END 
    			+','+ CASE WHEN STATUS & 4194304 = 4194304 THEN 'AUTOSHRINK_DATABASE' ELSE '' END 
    			+','+ CASE WHEN RECOVERY_MODEL_DESC = 'SIMPLE' THEN 'SIMPLE_DATABASE' ELSE '' END 
    		), ''
    	) MIRROR_ERROR_CHECK 
    FROM SYS.SYSDATABASES A
    	INNER JOIN SYS.DATABASES B
    	ON A.DBID = B.DATABASE_ID
    WHERE A.DBID > 4
    	AND A.NAME NOT IN ('LAZYLOG')
    	AND (
    		CASE WHEN STATUS & 1 = 1 THEN 1 ELSE '' END <> ''
    		OR CASE WHEN STATUS & 64 = 64 THEN 'PRE_RECOVERY_DATABASE' ELSE '' END <> ''
    		OR CASE WHEN STATUS & 128 = 128  THEN 'RECOVERING_DATABASE' ELSE '' END <> ''
    		OR CASE WHEN STATUS & 256 = 256  THEN 'NOT_RECOVERED_DATABASE' ELSE '' END <> ''
    		OR CASE WHEN STATUS & 512 = 512 THEN 'OFFLINE_DATABASE' ELSE '' END <> ''
    		OR CASE WHEN STATUS & 1024 = 1024 THEN 'READ_ONLY_DATABASE' ELSE '' END <> ''
    		OR CASE WHEN STATUS & 2048 = 2048 THEN 'DBO_USE_ONLY_DATABASE' ELSE '' END <> ''
    		OR CASE WHEN STATUS & 4096 = 4096 THEN 'SINGLE_USER_DATABASE' ELSE '' END <> ''
    		OR CASE WHEN STATUS & 32768 = 32768 THEN 'EMERGENCY_MODE_DATABASE' ELSE '' END <> ''
    		OR CASE WHEN STATUS & 4194304 = 4194304 THEN 'AUTOSHRINK_DATABASE' ELSE '' END <> ''
    		OR CASE WHEN RECOVERY_MODEL_DESC = 'SIMPLE' THEN 'SIMPLE_DATABASE' ELSE '' END <> ''
    		)
    UNION ALL 
    SELECT DB_NAME(DATABASE_ID) AS DATABASE_NAME
    	, TYPE_DESC --, NAME, PHYSICAL_NAME
    FROM SYS.MASTER_FILES
    WHERE TYPE_DESC = 'FILESTREAM';
    
    메시지내용참조
    autoclose_database자동 데이터베이스 닫기 옵션이 ON으로 설정되어 있는지 확인한 후 자동 축소 옵션 해제ALTER DATABASE SET 옵션(Transact-SQL)
    pre_recovery_database복구되지 않은 데이터베이스가 있는지 확인한 후 복구 완료 상태가 되도록 조치
    recovering_database복구 중인 데이터베이스가 있는지 확인한 후 복구 완료 상태가 되도록 조치
    not_recovered_database복구되지 않은 데이터베이스가 있는지 확인한 후 복구 완료 상태가 되도록 조치
    offline_database오프라인 상태의 데이터베이스가 있는지 확인한 후 온라인 모드로 변경
    read_only_database읽기 전용 데이터베이스가 있는지 확인한 후 옵션 해제ALTER DATABASE SET 옵션(Transact-SQL)
    dbo_use_only_databaseDBO만 사용 가능한 데이터베이스가 있는지 확인하고, MULTI_USER로 변경
    single_user_database단일 사용자 모드 데이터베이스가 있는지 확인한 후 단일 사용자 모드 해제ALTER DATABASE SET 옵션(Transact-SQL)
    emergency_mode_database응급 모드 데이터베이스가 있는지 확인한 후 응급 모드 해제ALTER DATABASE SET 옵션(Transact-SQL)
    autoshrink_database자동 축소 데이터베이스가 있는지 확인한 후 옵션 해제ALTER DATABASE SET 옵션(Transact-SQL)
    simple_database복구 모델 단순 데이터베이스가 있는지 확인한 후 전체로 변경ALTER DATABASE SET 옵션(Transact-SQL)
    filestream
  • 파일 스트림 파일 그룹이 있는 데이터베이스가 있는지 확인하고, 파일 스트림 파일 그룹 제거

  • 파일 스트림 파일 그룹이 MEMORY_OPTIMIZED_DATA 용도로 사용되면, 데이터 마이그레이션 후 콘솔에서 데이터베이스 삭제
  • ALTER DATABASE(Transact-SQL) 파일 및 파일 그룹 옵션

  • The Memory Optimized Filegroup
  • 참고

    이 가이드에서 필요한 정보를 찾지 못했거나 추가로 필요한 정보가 있으신 경우, 언제든지 아래의 피드백 아이콘을 클릭하여 의견을 보내 주십시오. 전달해 주신 의견을 참고하여 더 유용한 정보를 제공하겠습니다.


    이 문서가 도움이 되었습니까?

    Changing your password will log you out immediately. Use the new password to log back in.
    First name must have atleast 2 characters. Numbers and special characters are not allowed.
    Last name must have atleast 1 characters. Numbers and special characters are not allowed.
    Enter a valid email
    Enter a valid password
    Your profile has been successfully updated.