Sdílet prostřednictvím


Vytvoření databáze a oprávnění (kurz k SQL Serveru a RevoScaleR)

platí pro: SQL Server 2016 (13.x) a novější verze

Toto je kurz 1 série kurzů RevoScaleR o používání funkcí RevoScaleR s SQL Serverem.

Tento kurz popisuje, jak vytvořit databázi SQL Serveru a nastavit oprávnění potřebná k dokončení dalších kurzů v této sérii. K provedení následujících úloh použijte SQL Server Management Studio (SSMS) nebo jiný editor dotazů:

  • Vytvoření nové databáze pro uložení dat pro trénování a bodování dvou modelů R
  • Vytvoření přihlášení uživatele databáze s oprávněními k vytváření a používání databázových objektů

Vytvoření databáze

Tento kurz vyžaduje databázi pro ukládání dat a kódu. Pokud nejste správce, požádejte svého správce, aby vytvořil databázi a přihlásil se za vás. Budete potřebovat oprávnění k zápisu a čtení dat a ke spouštění skriptů jazyka R.

  1. V aplikaci SQL Server Management Studio se připojte k instanci databáze s podporou jazyka R.

  2. Klikněte pravým tlačítkem myši na Databáze a vyberte Nová databáze.

  3. Zadejte název nové databáze: RevoDeepDive.

Vytvoření přihlášení

  1. Klikněte na Nový dotaz a změňte kontext databáze na hlavní databázi.

  2. V novém okně dotazu spusťte následující příkazy, které vytvoří uživatelské účty a přiřadí je k databázi použité pro tento kurz. V případě potřeby nezapomeňte změnit název databáze.

  3. Chcete-li ověřit přihlášení, vyberte novou databázi, rozbalte položku Zabezpečení a rozbalte položku Uživatelé.

Uživatel s Windows

 -- Create server user based on Windows account
USE master
GO
CREATE LOGIN [<DOMAIN>\<user_name>] FROM WINDOWS WITH DEFAULT_DATABASE=[RevoDeepDive]

 --Add the new user to tutorial database
USE [RevoDeepDive]
GO
CREATE USER [<user_name>] FOR LOGIN [<DOMAIN>\<user_name>] WITH DEFAULT_SCHEMA=[db_datareader]

Přihlášení SQL

-- Create new SQL login
USE master
GO
CREATE LOGIN [DDUser01] WITH PASSWORD='<type password here>', CHECK_EXPIRATION=OFF, CHECK_POLICY=OFF;

-- Add the new SQL login to tutorial database
USE RevoDeepDive
GO
CREATE USER [DDUser01] FOR LOGIN [DDUser01] WITH DEFAULT_SCHEMA=[db_datareader]

Přiřadit oprávnění

Tento kurz ukazuje operace skriptu R a DDL, včetně vytváření a odstraňování tabulek a uložených procedur a spouštění skriptu R v externím procesu na SQL Serveru. V tomto kroku přiřaďte oprávnění k povolení těchto úloh.

Tento příklad předpokládá přihlašovací údaje SQL (DDUser01), ale pokud jste vytvořili přihlašovací údaje Windows, použijte je namísto.

USE RevoDeepDive
GO

EXEC sp_addrolemember 'db_owner', 'DDUser01'
GRANT EXECUTE ANY EXTERNAL SCRIPT TO DDUser01
GO

Řešení problémů s připojením

Tato část uvádí některé běžné problémy, se kterými se můžete setkat v průběhu nastavování databáze.

  • Jak můžu ověřit připojení k databázi a zkontrolovat dotazy SQL?

    Před spuštěním kódu jazyka R pomocí serveru můžete zkontrolovat, jestli je databáze přístupná z vývojového prostředí R. Průzkumník serveru v sadě Visual Studio i SQL Server Management Studio (SSMS) jsou bezplatné nástroje s výkonnými funkcemi připojení a správy databází.

    Pokud nechcete instalovat další nástroje pro správu databáze, můžete vytvořit testovací připojení k instanci SQL Serveru pomocí správce zdroje dat ODBC v Ovládacích panelech. Pokud je databáze správně nakonfigurovaná a zadáte správné uživatelské jméno a heslo, měli byste vidět právě vytvořenou databázi a vybrat ji jako výchozí databázi.

    Mezi běžné důvody selhání připojení patří, že pro server nejsou povolená vzdálená připojení a protokol Pojmenované kanály není povolený. Další tipy pro řešení potíží najdete v tomto článku: Řešení potíží s připojením k databázovému stroji SQL Serveru.

  • Můj název tabulky má předponu datareader - proč?

    Když jako db_datareader zadáte výchozí schéma tohoto uživatele, budou všechny tabulky a další nové objekty vytvořené tímto uživatelem předponou názvu schématu . Schéma je jako složka, kterou můžete přidat do databáze za účelem uspořádání objektů. Schéma také definuje oprávnění uživatele v databázi.

    Pokud je schéma přidružené k jednomu konkrétnímu uživatelskému jménu, je uživatel vlastníkem schématu. Když vytvoříte objekt, vždy ho vytvoříte ve vlastním schématu, pokud ho výslovně nepožádáte, aby byl vytvořen v jiném schématu.

    Pokud například vytvoříte tabulku s názvem TestData a vaše výchozí schéma je db_datareader, vytvoří se tabulka s názvem <database_name>.db_datareader.TestData.

    Z tohoto důvodu může databáze obsahovat více tabulek se stejnými názvy, pokud tabulky patří do různých schémat.

    Pokud hledáte tabulku a nezadáte schéma, databázový server hledá schéma, které vlastníte. Proto při přístupu k tabulkám ve schématu přidruženém k vašemu přihlášení není nutné zadávat název schématu.

  • Nemám oprávnění DDL. Mohu stále spustit tutoriál??

    Ano, ale měli byste někoho požádat, aby data předem načetl do tabulek SQL Serveru a přeskočíte k dalšímu kurzu. Funkce, které vyžadují oprávnění DDL, se v kurzu vyvolají, kdykoli je to možné.

    Požádejte také správce o udělení oprávnění SPUŠTĚNÍ JAKÉHOKOLI EXTERNÍHO SKRIPTU. Je potřeba ke spuštění skriptu jazyka R, ať už vzdáleně, nebo pomocí .sp_execute_external_script

Další kroky