Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op: SQL Server 2016 (13.x)
SQL Server 2017 (14.x)
Belangrijk
De ondersteuning voor Machine Learning Server (voorheen bekend als R Server) is beëindigd op 1 juli 2022. Zie Wat gebeurt er met Machine Learning Server voor meer informatie?
In dit artikel wordt beschreven hoe u extern beheer van R-pakketten vanaf een clientwerkstation of een andere Machine Learning-server inschakelt. Nadat de pakketbeheerfunctie is ingeschakeld op SQL Server, kunt u RevoScaleR-opdrachten op een client gebruiken om pakketten op SQL Server te installeren.
Standaard is de functie voor extern pakketbeheer voor SQL Server uitgeschakeld. U moet een afzonderlijk script uitvoeren om de functie in te schakelen, zoals beschreven in de volgende sectie.
Overzicht van proces en hulpprogramma's
Als u pakketbeheer in SQL Server wilt in- of uitschakelen, gebruikt u het opdrachtregelprogramma RegisterRExt.exe, dat is opgenomen in het pakket RevoScaleR.
het inschakelen van deze functie bestaat uit twee stappen. Hiervoor is een databasebeheerder vereist: u schakelt pakketbeheer in op het SQL Server-exemplaar (eenmaal per SQL Server-exemplaar) en schakelt vervolgens pakketbeheer in op de SQL-database (eenmaal per SQL Server-database).
Het uitschakelen van de pakketbeheerfunctie vereist ook meerdere stappen: u verwijdert pakketten en machtigingen op databaseniveau (eenmaal per database) en verwijdert vervolgens de functies van de server (eenmaal per exemplaar).
Pakketbeheer inschakelen
Open op SQL Server een opdrachtprompt met verhoogde bevoegdheid en navigeer naar de map met het hulpprogramma, RegisterRExt.exe. De standaardlocatie is
<SQLInstancePath>\R_SERVICES\library\RevoScaleR\rxLibs\x64\RegisterRExe.exe
.Voer de volgende opdracht uit en geef de juiste argumenten op voor uw omgeving:
RegisterRExt.exe /install pkgmgmt [/instance:name] [/user:username] [/password:*|password]
Met deze opdracht maakt u objecten op exemplaarniveau op de SQL Server-computer die vereist zijn voor pakketbeheer. Het herstart ook het Launchpad voor de instantie.
Als u geen instantie opgeeft, wordt de standaardinstantie gebruikt. Als u geen gebruiker opgeeft, wordt de huidige beveiligingscontext gebruikt. Bijvoorbeeld, met de volgende opdracht kunt u pakketbeheer inschakelen op de standaardinstantie, met behulp van de referenties van de gebruiker die de opdrachtprompt heeft geopend.
REgisterRExt.exe /install pkgmgmt
Als u pakketbeheer wilt toevoegen aan een specifieke database, voert u de volgende opdracht uit vanaf een opdrachtprompt met verhoogde bevoegdheid:
RegisterRExt.exe /install pkgmgmt /database:databasename [/instance:name] [/user:username] [/password:*|password]
Met deze opdracht worden enkele databaseartefacten gemaakt, waaronder de volgende databaserollen die worden gebruikt voor het beheren van gebruikersmachtigingen:
rpkgs-users
,rpkgs-private
enrpkgs-shared
.Met de volgende opdracht kan bijvoorbeeld pakketbeheer op de database worden ingeschakeld, op het standaardexemplaar. Als u geen gebruiker opgeeft, wordt de huidige beveiligingscontext gebruikt.
RegisterRExt.exe /install pkgmgmt /database:TestDB
Herhaal de opdracht voor elke database waarin pakketten moeten worden geïnstalleerd.
Als u wilt controleren of de nieuwe rollen zijn gemaakt, klikt u in SQL Server Management Studio op de database, vouwt u Securityuit en vouwt u Databaserollenuit.
U kunt ook een query uitvoeren op sys.database_principals, zoals het volgende:
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;
Nadat u deze functie hebt ingeschakeld, kunt u de functie RevoScaleR gebruiken om pakketten van een externe R-client te installeren of te verwijderen.
Pakketbeheer uitschakelen
Voer vanaf een opdrachtprompt met verhoogde bevoegdheid het hulpprogramma RegisterRExt opnieuw uit en schakel pakketbeheer uit op databaseniveau:
RegisterRExt.exe /uninstall pkgmgmt /database:databasename [/instance:name] [/user:username] [/password:*|password]
Met deze opdracht verwijdert u databaseobjecten met betrekking tot pakketbeheer uit de opgegeven database. Ook worden alle pakketten verwijderd die zijn geïnstalleerd vanaf de beveiligde bestandssysteemlocatie op de SQL Server-computer.
Herhaal deze opdracht voor elke database waarin pakketbeheer is gebruikt.
(Optioneel) Nadat alle databases zijn gewist van pakketten met behulp van de vorige stap, voert u de volgende opdracht uit vanaf een opdrachtprompt met verhoogde bevoegdheid:
RegisterRExt.exe /uninstall pkgmgmt [/instance:name] [/user:username] [/password:*|password]
Met deze opdracht wordt de pakketbeheerfunctie uit het exemplaar verwijderd. Mogelijk moet u de Launchpad-service opnieuw handmatig opnieuw starten om wijzigingen te kunnen zien.