초기 SQL 실행

일부 데이터베이스에 연결할 때 통합 문서를 열거나, 추출을 새로 고치거나, Tableau Server에 로그인하거나, Tableau Server에 게시하는 등 데이터베이스에 연결할 경우 실행되는 초기 SQL 명령을 지정할 수 있습니다. 뷰를 새로 고칠 때 초기 SQL은 실행되지 않습니다. 이 초기 SQL은 사용자 지정 SQL 연결과 다르다는 것에 주의하십시오. 사용자 지정 SQL 연결은 쿼리를 실행할 관계(또는 테이블)를 정의합니다. 자세한 내용은 사용자 지정 SQL 쿼리에 연결을 참조하십시오.

이 명령을 사용하여 다음을 수행할 수 있습니다.

  • 세션 중 사용할 임시 테이블 설정

  • 사용자 지정 데이터 환경 설정

서버 연결 대화 상자나 데이터 원본 페이지에 초기 SQL 명령을 추가하는 옵션이 있습니다.

참고: 데이터 원본에서 초기 SQL 문 실행을 지원할 경우 서버 연결 대화 상자 왼쪽 맨 아래에 초기 SQL 링크가 나타납니다. 데이터 원본에 대한 자세한 내용은 지원되는 커넥터를 참조하십시오.

초기 SQL을 사용하려면

  1. 서버 연결 대화 상자에서 초기 SQL을 클릭합니다. 또는 연결하려는 데이터베이스에 따라 데이터 원본 페이지에서 데이터 > 초기 SQL 또는 데이터 > 쿼리 구간 및 초기 SQL을 선택합니다.

  2. 초기 SQL 대화 상자에 SQL 명령을 입력합니다. 삽입 드롭다운 메뉴를 사용하여 데이터 원본으로 매개 변수를 전달할 수 있습니다.

참고: 입력 시 명령문의 오류가 검사되지 않습니다. 이 SQL 문은 연결 시 데이터베이스로 전송되기만 합니다.

소프트웨어 라이선스에 의해 연결에서 초기 SQL 사용이 제한될 수도 있습니다. Tableau Server에 게시하는 경우 초기 SQL 문을 허용하도록 서버를 구성해야 합니다. 기본적으로 서버 소프트웨어는 웹 브라우저에서 통합 문서를 로드할 때 이러한 명령문을 실행할 수 있도록 구성되어 있습니다.

관리자는 tsm configuration set 명령을 사용하여 초기 SQL 문을 무시하도록 서버를 구성할 수 있습니다.

tsm configuration set -k vizqlserver.initialsql.disabled -v true

서버에서 초기 SQL 문을 허용하지 않는 경우 통합 문서는 열리지만 초기 SQL 명령이 전송되지 않습니다.

tsm configuration set 명령에 대한 자세한 내용은 Tableau Server 도움말을 참조하십시오.

초기 SQL 문의 매개 변수

초기 SQL 문에서 데이터 원본으로 매개 변수를 전달할 수 있습니다. 다음과 같은 점에서 이 기능이 유용합니다.

  • TableauServerUser 또는 TableauServerUserFull 매개 변수를 사용하여 가장을 구성할 수 있습니다.

  • 데이터 원본이 매개 변수를 지원하는 경우 행 수준 보안(예: Oracle VPD 또는 SAP Sybase ASE용 보안)을 설정하여 사용자가 볼 권한이 있는 데이터만 보게 만들 수 있습니다.

  • 로그에 Tableau 버전이나 통합 문서 이름 같은 보다 자세한 정보를 제공할 수 있습니다.

초기 SQL 문에서 다음과 같은 매개 변수가 지원됩니다.

매개 변수 설명 반환되는 값의 예
TableauServerUser 현재 서버 사용자의 사용자 이름. 서버에서 가장을 설정할 때 사용합니다. 사용자가 Tableau Server에 로그인하지 않은 경우 빈 문자열을 반환합니다. asmith
TableauServerUserFull 현재 서버 사용자의 사용자 이름 및 도메인. 서버에서 가장을 설정할 때 사용합니다. 사용자가 Tableau Server에 로그인하지 않은 경우 빈 문자열을 반환합니다. domain.lan\asmith
TableauApp Tableau 응용 프로그램의 이름입니다.

Tableau Desktop Professional

Tableau Server

TableauVersion Tableau 응용 프로그램의 버전입니다. 9.3
WorkbookName Tableau 통합 문서의 이름입니다. 내장된 데이터 원본이 있는 통합 문서에만 사용합니다. Financial-Analysis

다음 예제에서는 초기 SQL 문에서 매개 변수를 사용할 수 있는 다양한 방법을 보여 줍니다.

  • 이 예에서는 Microsoft SQL Server에 대한 보안 컨텍스트를 설정합니다.

    EXECUTE AS USER = [TableauServerUser] WITH NO REVERT;

  • 이 예제에서는 DataStax 데이터 원본에서 매개 변수를 사용하여 로그에 세부 정보를 추가하거나 데이터를 추적할 수 있는 세션 변수를 설정하는 방법을 보여 줍니다.

    SET TABLEAUVERSION [TableauVersion];

  • 이 예에서는 Oracle VPD에 대한 행 수준 보안을 설정하는 방법을 보여 줍니다.

    begin

     DBMS_SESSION.SET_IDENTIFIER([TableauServerUser]);

    end;

    참고: Oracle PL/SQL 블록을 종료하려면 후행 세미콜론이 필요합니다. 적절한 구문은 Oracle 설명서를 참조하십시오.

서버로 실행 지연

초기 SQL 문이 서버에서만 실행되도록 실행을 지연시킬 수 있습니다. 서버로 실행을 지연하는 한 가지 이유는 가장을 설정하는 명령을 실행할 수 있는 사용 권한이 없는 경우입니다. 서버에서만 실행되는 명령을 <ServerOnly></ServerOnly> 태그를 사용하여 묶습니다.

예:

CREATE TEMP TABLE TempTable(x varchar(25));
INSERT INTO TempTable VALUES (1);
<ServerOnly>INSERT INTO TempTable Values(2);</ServerOnly>

보안 및 가장

초기 SQL 문에서 TableauServerUser 또는 TableauServerUserFull 매개 변수를 사용할 경우 다른 사용자와 공유할 수 없는 전용 연결을 만듭니다. 또한 캐시 공유도 제한하기 때문에 보안이 향상되지만 성능이 저하될 수 있습니다.

의견을 주셔서 감사합니다! 피드백을 제출하는 동안 오류가 발생했습니다.