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
Ö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
.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
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-private
ochrpkgs-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
Upprepa kommandot för varje databas där paket måste installeras.
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
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.
Upprepa det här kommandot på varje databas där pakethantering användes.
(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.