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) en latere versies
Dit is zelfstudie 1 van de reeks RevoScaleR-zelfstudies over het gebruik van RevoScaleR-functies met SQL Server.
In deze zelfstudie wordt beschreven hoe u een SQL Server-database maakt en de machtigingen instelt die nodig zijn voor het voltooien van de andere zelfstudies in deze reeks. Gebruik SQL Server Management Studio (SSMS) of een andere query-editor om de volgende taken uit te voeren:
- Een nieuwe database maken voor het opslaan van de gegevens voor het trainen en scoren van twee R-modellen
- Een databasegebruiker login maken met machtigingen voor het maken en gebruiken van databaseobjecten
De database maken
Voor deze zelfstudie is een database vereist voor het opslaan van gegevens en code. Als u geen beheerder bent, vraagt u uw DBA om de database te maken en u aan te melden. U hebt machtigingen nodig om gegevens te schrijven en te lezen en R-scripts uit te voeren.
Maak in SQL Server Management Studio verbinding met een R-database-exemplaar.
Klik met de rechtermuisknop op Databases en selecteer Nieuwe database.
Typ een naam voor de nieuwe database: RevoDeepDive.
Een aanmelding maken
Klik op Nieuwe query en wijzig de databasecontext in de hoofddatabase.
Voer in het nieuwe queryvenster de volgende opdrachten uit om de gebruikersaccounts te maken en toe te wijzen aan de database die voor deze zelfstudie wordt gebruikt. Zorg ervoor dat u indien nodig de databasenaam wijzigt.
Als u de aanmelding wilt controleren, selecteert u de nieuwe database, vouwt u Beveiliging uit en vouwt u Gebruikers uit.
Windows-gebruiker
-- 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-aanmelding
-- 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]
Machtigingen toewijzen
In deze zelfstudie worden R-script- en DDL-bewerkingen gedemonstreerd, waaronder het maken en verwijderen van tabellen en opgeslagen procedures en het uitvoeren van R-scripts in een extern proces op SQL Server. In deze stap wijst u machtigingen toe om deze taken toe te staan.
In dit voorbeeld wordt uitgegaan van een SQL-aanmelding (DDUser01), maar als u een Windows-aanmelding hebt gemaakt, gebruikt u dat in plaats daarvan.
USE RevoDeepDive
GO
EXEC sp_addrolemember 'db_owner', 'DDUser01'
GRANT EXECUTE ANY EXTERNAL SCRIPT TO DDUser01
GO
Problemen met verbindingen oplossen
In deze sectie vindt u enkele veelvoorkomende problemen die u kunt tegenkomen tijdens het instellen van de database.
Hoe kan ik de connectiviteit van de database controleren en SQL-query's controleren?
Voordat u R-code uitvoert met behulp van de server, wilt u mogelijk controleren of de database kan worden bereikt vanuit uw R-ontwikkelomgeving. Server Explorer in Visual Studio en SQL Server Management Studio (SSMS) zijn gratis hulpprogramma's met krachtige databaseconnectiviteits- en beheerfuncties.
Als u geen extra hulpprogramma's voor databasebeheer wilt installeren, kunt u een testverbinding met het SQL Server-exemplaar maken met behulp van de ODBC-gegevensbronbeheerder in het Configuratiescherm. Als de database correct is geconfigureerd en u de juiste gebruikersnaam en het juiste wachtwoord invoert, moet u de database kunnen zien die u zojuist hebt gemaakt en deze selecteren als uw standaarddatabase.
Veelvoorkomende redenen voor verbindingsfouten zijn externe verbindingen niet ingeschakeld voor de server en het Named Pipes-protocol is niet ingeschakeld. Meer tips voor probleemoplossing vindt u in dit artikel: Problemen met het maken van verbinding met de SQL Server Database Engine oplossen.
De naam van mijn tabel bevat het voorvoegsel datareader. Waarom?
Wanneer u het standaardschema voor deze gebruiker opgeeft als db_datareader, worden alle tabellen en andere nieuwe objecten die door deze gebruiker zijn gemaakt, voorafgegaan door de schemanaam . Een schema is vergelijkbaar met een map die u aan een database kunt toevoegen om objecten te ordenen. Het schema definieert ook de bevoegdheden van een gebruiker in de database.
Wanneer het schema is gekoppeld aan een bepaalde gebruikersnaam, is de gebruiker de schema-eigenaar. Wanneer u een object maakt, maakt u het altijd in uw eigen schema, tenzij u het specifiek vraagt om in een ander schema te worden gemaakt.
Als u bijvoorbeeld een tabel met de naam TestData maakt en uw standaardschema db_datareader, wordt de tabel gemaakt met de naam
<database_name>.db_datareader.TestData.Daarom kan een database meerdere tabellen met dezelfde namen bevatten, zolang de tabellen tot verschillende schema's behoren.
Als u een tabel zoekt en geen schema opgeeft, zoekt de databaseserver naar een schema dat u bezit. Daarom hoeft u de schemanaam niet op te geven bij het openen van tabellen in een schema dat is gekoppeld aan uw aanmelding.
Ik heb geen DDL-bevoegdheden. Kan ik de zelfstudie nog steeds uitvoeren??
Ja, maar u moet iemand vragen om de gegevens vooraf in de SQL Server-tabellen te laden en verder te gaan met de volgende zelfstudie. De functies waarvoor DDL-bevoegdheden zijn vereist, worden waar mogelijk aangeroepen in de zelfstudie.
Vraag uw beheerder ook om u de machtiging te verlenen voor het uitvoeren van een extern script. Het is nodig voor het uitvoeren van R-scripts, hetzij extern of met behulp van
sp_execute_external_script.