Skapa en databas och behörigheter (SQL Server och RevoScaleR-handledning)

gäller för: SQL Server 2016 (13.x) och senare versioner

Detta är handledning 1 i RevoScaleR-handledningsserien om hur man använder RevoScaleR-funktioner med SQL Server.

Denna handledning beskriver hur man skapar en SQL Server-databas och ställer in de behörigheter som krävs för att slutföra de andra handledningarna i serien. Använd SQL Server Management Studio (SSMS) eller en annan frågeredigerare för att slutföra följande uppgifter:

  • Skapa en ny databas för att lagra data för träning och poängsättning av två R-modeller
  • Skapa en databasanvändarinloggning med behörigheter för att skapa och använda databasobjekt

Skapa databasen

Denna handledning kräver en databas för att lagra data och kod. Om du inte är administratör, be din DBA att skapa databasen och logga in åt dig. Du behöver behörigheter för att skriva och läsa data samt för att köra R-skript.

  1. I SQL Server Management Studio, koppla upp dig mot en R-aktiverad databasinstans.

  2. Högerklicka på Databaser och välj Ny databas.

  3. Skriv in ett namn för den nya databasen: RevoDeepDive.

Skapa en inloggning

  1. Klicka på Ny fråga och ändra databasens kontext till huvuddatabasen.

  2. I det nya Frågefönstret, kör följande kommandon för att skapa användarkonton och tilldela dem till databasen som används för denna handledning. Se till att ändra databasens namn om det behövs.

  3. För att verifiera inloggningen, välj den nya databasen, välj Säkerhet och välj Användare.

Windows-användare

 -- 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]

SQL-inloggning

-- 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]

Tilldela behörigheter

Denna handledning demonstrerar R-skript- och DDL-operationer, inklusive att skapa och ta bort tabeller och lagrade procedurer, samt köra R-skript i en extern process på SQL Server. I detta steg, tilldela behörigheter för att tillåta dessa uppgifter.

Detta exempel förutsätter en SQL-inloggning (DDUser01), men om du har skapat en Windows-inloggning, använd den istället.

USE RevoDeepDive
GO

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

Felsöka anslutningar

Detta avsnitt listar några vanliga problem som du kan stöta på när du sätter upp databasen.

  • Hur kan jag verifiera databasanslutning och kontrollera SQL-frågor?

    Innan du kör R-kod med servern kan du vilja kontrollera att databasen kan nås från din R-utvecklingsmiljö. Både Server Explorer i Visual Studio och SQL Server Management Studio (SSMS) är gratisverktyg med kraftfulla funktioner för databasanslutning och hantering.

    Om du inte vill installera ytterligare databashanteringsverktyg kan du skapa en testanslutning till SQL Server-instansen genom att använda ODBC Data Source Administrator i ovládací panel. Om databasen är korrekt konfigurerad och du anger rätt användarnamn och lösenord, bör du kunna se databasen du just skapade och välja den som din standarddatabas.

    Vanliga orsaker till anslutningsfel inkluderar att fjärranslutningar inte är aktiverade för servern och att protokollet Named Pipes inte är aktiverat. Du kan hitta fler felsökningstips i denna artikel: Felsök anslutning till Databasmotor för SQL Server.

  • Mitt tabellnamn har datareader som prefix – varför?

    När du anger standardschemat för denna användare som db_datareader, prefixas alla tabeller och andra nya objekt som skapats av denna användare schemanamnet . Ett schema är som en mapp som du kan lägga till i en databas för att organisera objekt. Schemat definierar också användarens rättigheter inom databasen.

    När schemat är kopplat till ett visst användarnamn är användaren schemaägaren. När du skapar ett objekt skapar du det alltid i ditt eget schema, om du inte specifikt ber om att det ska skapas i ett annat schema.

    Till exempel, om du skapar en tabell med namnet TestData, och ditt standardschema är db_datareader, skapas tabellen med namnet <database_name>.db_datareader.TestData.

    Av denna anledning kan en databas innehålla flera tabeller med samma namn, så länge tabellerna tillhör olika scheman.

    Om du letar efter en tabell och inte specificerar ett schema, letar databasservern efter ett schema som du äger. Därför finns det inget behov av att ange schemanamnet när du får tillgång till tabeller i ett schema kopplat till din inloggning.

  • Jag har inga DDL-privilegier. Kan jag fortfarande köra tutorialen??

    Ja, men du bör be någon förladda datan i SQL Server-tabellerna och hoppa vidare till nästa handledning. Funktionerna som kräver DDL-privilegier nämns i handledningen där det är möjligt.

    Be också din administratör om tillstånd, KÖR ETT EXTERNT SKRIPT. Den behövs för R-skriptexekvering, oavsett om det är fjärrstyrt eller genom att använda sp_execute_external_script.

Nästa steg