Sdílet prostřednictvím


Povolení nebo zakázání vzdálené správy balíčků pro SQL Server

platí pro: SQL Server 2016 (13.x) SQL Server 2017 (14.x)

Důležitý

Podpora pro Machine Learning Server (dříve označovaný jako R Server) skončila 1. července 2022. Další informace najdete v tématu Co se děje se službou Machine Learning Server?

Tento článek popisuje, jak povolit vzdálenou správu balíčků R z klientské pracovní stanice nebo jiného serveru Machine Learning. Po povolení funkce správy balíčků na SQL Serveru můžete pomocí příkazů RevoScaleR na klientovi nainstalovat balíčky na SQL Server.

Ve výchozím nastavení je funkce správy externích balíčků pro SQL Server zakázaná. Pokud chcete funkci povolit, musíte spustit samostatný skript, jak je popsáno v další části.

Přehled procesů a nástrojů

Pokud chcete povolit nebo zakázat správu balíčků na SQL Serveru, použijte nástroj příkazového řádku RegisterRExt.exe, který je součástí balíčku RevoScaleR.

Povolení této funkce je dvoustupňový proces, který vyžaduje správce databáze: povolíte správu balíčků v instanci SQL Serveru (jednou na instanci SQL Serveru) a potom povolíte správu balíčků v databázi SQL (jednou pro databázi SQL Serveru).

Zakázání funkce správy balíčků vyžaduje také několik kroků: odeberete balíčky a oprávnění na úrovni databáze (jednou pro databázi) a potom odeberete role ze serveru (jednou na instanci).

Povolení správy balíčků

  1. Na SQL Serveru otevřete příkazový řádek se zvýšenými oprávněními a přejděte do složky obsahující nástroj RegisterRExt.exe. Výchozí umístění je <SQLInstancePath>\R_SERVICES\library\RevoScaleR\rxLibs\x64\RegisterRExe.exe.

  2. Spusťte následující příkaz a zadejte odpovídající argumenty pro vaše prostředí:

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

    Tento příkaz vytvoří objekty na úrovni instance na počítači s SQL Serverem, které jsou vyžadovány pro správu balíčků. Restartuje také Launchpad pro danou instanci.

    Pokud nezadáte instanci, použije se výchozí instance. Pokud nezadáte uživatele, použije se aktuální kontext zabezpečení. Následující příkaz například umožňuje správu balíčků ve výchozí instanci pomocí přihlašovacích údajů uživatele, který otevřel příkazový řádek:

    REgisterRExt.exe /install pkgmgmt

  3. Pokud chcete přidat správu balíčků do konkrétní databáze, spusťte z příkazového řádku se zvýšenými oprávněními následující příkaz:

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

    Tento příkaz vytvoří některé artefakty databáze, včetně následujících databázových rolí, které se používají k řízení uživatelských oprávnění: rpkgs-users, rpkgs-privatea rpkgs-shared.

    Například následující příkaz povolí správu balíčků v databázi ve výchozí instanci. Pokud nezadáte uživatele, použije se aktuální kontext zabezpečení.

    RegisterRExt.exe /install pkgmgmt /database:TestDB

  4. Opakujte příkaz pro každou databázi, ve které musí být nainstalovány balíčky.

  5. Chcete-li ověřit, zda byly nové role úspěšně vytvořeny, klikněte v aplikaci SQL Server Management Studio na databázi, rozbalte Zabezpečenía rozbalte databázové role.

    Můžete také spustit dotaz na sys.database_principals například následující:

    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;
    

Po povolení této funkce můžete pomocí funkce RevoScaleR nainstalovat nebo odinstalovat balíčky ze vzdáleného klienta R.

Zakázání správy balíčků

  1. Z příkazového řádku se zvýšenými oprávněními spusťte znovu nástroj RegisterRExt a zakažte správu balíčků na úrovni databáze:

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

    Tento příkaz odebere databázové objekty související se správou balíčků ze zadané databáze. Odebere také všechny balíčky nainstalované ze zabezpečeného umístění systému souborů na počítači s SQL Serverem.

  2. Tento příkaz opakujte u každé databáze, ve které byla použita správa balíčků.

  3. (Volitelné) Po vymazání všech databází pomocí předchozího kroku spusťte z příkazového řádku se zvýšenými oprávněními následující příkaz:

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

    Tento příkaz odebere funkci správy balíčků z instance. Možná budete muset ručně restartovat službu Launchpad, aby se zobrazily změny.

Další kroky