Dela via


Aktivera eller inaktivera fjärrpakethantering för SQL Server

gäller för: SQL Server 2016 (13.x) SQL Server 2017 (14.x)

Viktig

Stödet för Machine Learning Server (tidigare kallat R Server) upphörde den 1 juli 2022. Mer information finns i Vad händer med Machine Learning Server?

Den här artikeln beskriver hur du aktiverar fjärrhantering av R-paket från en klientarbetsstation eller en annan Machine Learning Server. När pakethanteringsfunktionen har aktiverats på SQL Server kan du använda RevoScaleR-kommandon på en klient för att installera paket på SQL Server.

Som standard är den externa pakethanteringsfunktionen för SQL Server inaktiverad. Du måste köra ett separat skript för att aktivera funktionen enligt beskrivningen i nästa avsnitt.

Översikt över processer och verktyg

Om du vill aktivera eller inaktivera pakethantering på SQL Server använder du kommandoradsverktyget RegisterRExt.exe, som ingår i paketet RevoScaleR.

Att aktivera den här funktionen är en tvåstegsprocess som kräver en databasadministratör: du aktiverar pakethantering på SQL Server-instansen (en gång per SQL Server-instans) och aktiverar sedan pakethantering på SQL-databasen (en gång per SQL Server-databas).

Att inaktivera pakethanteringsfunktionen kräver också flera steg: du tar bort paket och behörigheter på databasnivå (en gång per databas) och tar sedan bort rollerna från servern (en gång per instans).

Aktivera pakethantering

  1. Öppna en upphöjd kommandotolk på SQL Server och gå till mappen som innehåller verktyget RegisterRExt.exe. Standardplatsen är <SQLInstancePath>\R_SERVICES\library\RevoScaleR\rxLibs\x64\RegisterRExe.exe.

  2. Kör följande kommando och ange lämpliga argument för din miljö:

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

    Det här kommandot skapar objekt på instansnivå på DEN SQL Server-dator som krävs för pakethantering. Den startar också Launchpad för instansen på nytt.

    Om du inte anger någon instans används standardinstansen. Om du inte anger någon användare används den aktuella säkerhetskontexten. Följande kommando aktiverar till exempel pakethantering på standardinstansen med autentiseringsuppgifterna för den användare som öppnade kommandotolken:

    REgisterRExt.exe /install pkgmgmt

  3. Om du vill lägga till pakethantering i en specifik databas kör du följande kommando från en upphöjd kommandotolk:

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

    Det här kommandot skapar vissa databasartefakter, inklusive följande databasroller som används för att kontrollera användarbehörigheter: rpkgs-users, rpkgs-privateoch rpkgs-shared.

    Följande kommando aktiverar till exempel pakethantering i databasen på standardinstansen. Om du inte anger någon användare används den aktuella säkerhetskontexten.

    RegisterRExt.exe /install pkgmgmt /database:TestDB

  4. Upprepa kommandot för varje databas där paket måste installeras.

  5. Kontrollera att de nya rollerna har skapats genom att klicka på databasen i SQL Server Management Studio, expandera Securityoch expandera Databasroller.

    Du kan också köra en fråga på sys.database_principals till exempel följande:

    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;
    

När du har aktiverat den här funktionen kan du använda funktionen RevoScaleR för att installera eller avinstallera paket från en fjärr-R-klient.

Inaktivera pakethantering

  1. Kör verktyget RegisterRExt igen från en upphöjd kommandotolk och inaktivera pakethantering på databasnivå:

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

    Det här kommandot tar bort databasobjekt som är relaterade till pakethantering från den angivna databasen. Den tar också bort alla paket som installerades från den skyddade filsystemplatsen på SQL Server-datorn.

  2. Upprepa det här kommandot på varje databas där pakethantering användes.

  3. (Valfritt) När alla databaser har rensats från paket med hjälp av föregående steg kör du följande kommando från en upphöjd kommandotolk:

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

    Det här kommandot tar bort pakethanteringsfunktionen från instansen. Du kan behöva starta om Launchpad-tjänsten manuellt igen för att se ändringar.

Nästa steg