다음을 통해 공유


SQL Server용 원격 패키지 관리 사용 또는 사용 안 함

적용 대상: SQL Server 2016(13.x) SQL Server 2017(14.x)

중요

Machine Learning Server(이전의 R Server) 지원은 2022년 7월 1일에 종료되었습니다. 자세한 내용은 Machine Learning Server는 어떻게 되나요?를 참조하세요.

이 문서에서는 클라이언트 워크스테이션 또는 다른 Machine Learning Server에서 R 패키지의 원격 관리를 사용하도록 설정하는 방법을 설명합니다. SQL Server에서 패키지 관리 기능을 사용하도록 설정한 후에는 클라이언트에서 RevoScaleR 명령을 사용하여 SQL Server에 패키지를 설치할 수 있습니다.

기본적으로 SQL Server용 외부 패키지 관리 기능은 사용하지 않도록 설정되어 있습니다. 다음 섹션에 설명된 대로 별도의 스크립트를 실행하여 이 기능을 사용하도록 설정해야 합니다.

프로세스 및 도구 개요

SQL Server에서 패키지 관리를 사용하거나 사용하지 않도록 설정하려면 RevoScaleR 패키지에 포함되어 있는 명령줄 유틸리티 RegisterRExt.exe를 사용합니다.

이 기능을 사용하도록 설정하는 프로세스는 두 단계이며 데이터베이스 관리자가 필요합니다. 즉, SQL Server 인스턴스에서 패키지 관리를 사용하도록 설정하고(SQL Server 인스턴스당 한 번) SQL 데이터베이스에서 패키지 관리를 사용하도록 설정합니다(SQL Server 데이터베이스당 한 번).

패키지 관리 기능을 사용하지 않도록 설정하는 프로세스도 여러 단계가 필요합니다. 데이터베이스 수준 패키지 및 권한을 제거하고(데이터베이스당 한 번) 서버에서 역할을 제거합니다(인스턴스당 한 번).

패키지 관리를 사용하도록 설정

  1. SQL Server에서 관리자 권한 명령 프롬프트를 열고 RegisterRExt.exe 유틸리티가 포함된 폴더로 이동합니다. 기본 위치는 <SQLInstancePath>\R_SERVICES\library\RevoScaleR\rxLibs\x64\RegisterRExe.exe입니다.

  2. 사용자 환경에 적절한 인수를 제공하여 다음 명령을 실행합니다.

    RegisterRExt.exe /install pkgmgmt [/instance:name] [/user:username] [/password:*|password]

    이 명령은 SQL Server 컴퓨터에서 패키지 관리에 필요한 인스턴스 수준 아티팩트를 만듭니다. 또한 인스턴스에 대한 실행 패드를 다시 시작합니다.

    인스턴스를 지정하지 않으면 기본 인스턴스가 사용됩니다. 사용자를 지정하지 않으면 현재 보안 컨텍스트가 사용됩니다. 예를 들어 다음 명령은 명령 프롬프트를 연 사용자의 자격 증명을 사용하여 기본 인스턴스에서 패키지 관리를 사용하도록 설정합니다.

    REgisterRExt.exe /install pkgmgmt

  3. 특정 데이터베이스에 패키지 관리를 추가하려면 관리자 권한 명령 프롬프트에서 다음 명령을 실행합니다.

    RegisterRExt.exe /install pkgmgmt /database:databasename [/instance:name] [/user:username] [/password:*|password]

    이 명령은 사용자 권한을 제어하는 데 사용되는 다음과 같은 데이터베이스 역할을 비롯하여 몇 가지 데이터베이스 아티팩트를 만듭니다. rpkgs-users, rpkgs-privaterpkgs-shared.

    예를 들어 다음 명령은 기본 인스턴스에서 데이터베이스에 대한 패키지 관리를 사용하도록 설정합니다. 사용자를 지정하지 않으면 현재 보안 컨텍스트가 사용됩니다.

    RegisterRExt.exe /install pkgmgmt /database:TestDB

  4. 패키지를 설치해야 하는 각 데이터베이스에 대해이 명령을 반복합니다.

  5. 새 역할이 성공적으로 만들어졌는지 확인하려면 SQL Server Management Studio에서 데이터베이스를 클릭하고 보안을 확장한 다음 데이터베이스 역할을 확장합니다.

    다음과 같이 sys.database_principals에 대한 쿼리를 실행할 수도 있습니다.

    SELECT pr.principal_id, pr.name, pr.type_desc,   
        pr.authentication_type_desc, pe.state_desc,   
        pe.permission_name, s.name + '.' + o.name AS ObjectName  
    FROM sys.database_principals AS pr  
    JOIN sys.database_permissions AS pe  
        ON pe.grantee_principal_id = pr.principal_id  
    JOIN sys.objects AS o  
        ON pe.major_id = o.object_id  
    JOIN sys.schemas AS s  
        ON o.schema_id = s.schema_id;
    

이 기능을 사용하도록 설정한 후에는 RevoScaleR 함수를 사용하여 원격 R 클라이언트에서 패키지를 설치하거나 제거할 수 있습니다.

패키지 관리를 사용하지 않도록 설정

  1. 관리자 권한 명령 프롬프트에서 RegisterRExt 유틸리티를 다시 실행하고 데이터베이스 수준에서 패키지 관리를 사용하지 않도록 설정합니다.

    RegisterRExt.exe /uninstall pkgmgmt /database:databasename [/instance:name] [/user:username] [/password:*|password]

    이 명령은 지정된 데이터베이스에서 패키지 관리와 관련된 데이터베이스 개체를 제거합니다. 또한 SQL Server 컴퓨터의 보안된 파일 시스템 위치에서 설치된 모든 패키지를 제거합니다.

  2. 패키지 관리가 사용된 각 데이터베이스에서 이 명령을 반복합니다.

  3. (선택 사항) 이전 단계를 사용하여 모든 데이터베이스에서 패키지를 제거한 후 관리자 권한 명령 프롬프트에서 다음 명령을 실행합니다.

    RegisterRExt.exe /uninstall pkgmgmt [/instance:name] [/user:username] [/password:*|password]

    이 명령은 인스턴스에서 패키지 관리 기능을 제거합니다. 변경 내용을 확인하려면 실행 패드 서비스를 수동으로 한 번 더 다시 시작해야 할 수 있습니다.

다음 단계