데이터베이스 및 사용 권한 만들기 (SQL Server 및 RevoScaleR 자습서)Create a database and permissions (SQL Server and RevoScaleR tutorial)

적용 대상: 예SQL Server 아니요Azure SQL Database 아니요Azure SQL Data Warehouse 아니요병렬 데이터 웨어하우스 APPLIES TO: yesSQL Server noAzure SQL Database noAzure SQL Data Warehouse noParallel Data Warehouse

이 단원에서는 SQL Server RevoScaleR 함수 를 사용 하는 방법에 대 한 RevoScaleR 자습서 의 일부입니다.This lesson is part of the RevoScaleR tutorial on how to use RevoScaleR functions with SQL Server.

1 단원에서는이 자습서를 완료 하는 데 필요한 SQL Server 데이터베이스 및 사용 권한을 설정 하는 방법에 대해 알아봅니다.Lesson one is about setting up a SQL Server database and permissions necessary for completing this tutorial. SQL Server Management Studio 또는 다른 쿼리 편집기를 사용 하 여 다음 작업을 완료 합니다.Use SQL Server Management Studio or another query editor to complete the following tasks:

  • 두 R 모델의 학습 및 점수 매기기를 위한 데이터를 저장할 새 데이터베이스를 만듭니다.Create a new database to store the data for training and scoring two R models
  • 데이터베이스 개체 만들기 및 사용 권한이 있는 데이터베이스 사용자 로그인 만들기Create a database user login with permissions for creating and using database objects

데이터베이스 만들기Create the database

이 자습서에는 데이터 및 코드를 저장 하는 데이터베이스가 필요 합니다.This tutorial requires a database for storing data and code. 관리자가 아닌 경우 DBA에 게 데이터베이스 및 로그인을 만들도록 요청 합니다.If you are not an administrator, ask your DBA to create the database and login for you. 데이터를 쓰고 읽고 R 스크립트를 실행 하는 데 필요한 권한이 있어야 합니다.You will need permissions to write and read data, and to run R scripts.

  1. SQL Server Management Studio에서 R 사용 데이터베이스 인스턴스에 연결 합니다.In SQL Server Management Studio, connect to an R-enabled database instance.

  2. 데이터베이스를 마우스 오른쪽 단추로 클릭 하 고 새 데이터베이스를 선택 합니다.Right-click Databases, and select New database.

  3. 새 데이터베이스의 이름을 입력 합니다. RevoDeepDive.Type a name for the new database: RevoDeepDive.

로그인을 만듭니다.Create a login

  1. 새 쿼리를 클릭하고 데이터베이스 컨텍스트를 master 데이터베이스로 변경합니다.Click New Query, and change the database context to the master database.

  2. 쿼리 창에서 다음 명령을 실행하여 사용자 계정을 만들고 이 자습서에 사용되는 데이터베이스에 할당합니다.In the new Query window, run the following commands to create the user accounts and assign them to the database used for this tutorial. 필요한 경우 데이터베이스 이름을 변경해야 합니다.Be sure to change the database name if needed.

  3. 로그인을 확인 하려면 새 데이터베이스를 선택 하 고 보안을 확장 한 다음 사용자를 확장 합니다.To verify the login, select the new database, expand Security, and expand Users.

Windows 사용자Windows user

 -- 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 로그인SQL login

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

권한 할당Assign permissions

이 자습서에서는 테이블 및 저장 프로시저를 만들고 삭제 하 고 SQL Server의 외부 프로세스에서 R 스크립트를 실행 하는 것을 포함 하 여 R 스크립트 및 DDL 작업을 보여 줍니다.This tutorial demonstrates R script and DDL operations, including creating and deleting tables and stored procedures, and running R script in an external process on SQL Server. 이 단계에서는 이러한 작업을 허용 하도록 권한이을 할당 합니다.In this step, assign permssions to allow these tasks.

이 예에서는 SQL 로그인 (DDUser01)을 가정 하지만 Windows 로그인을 만든 경우 대신 사용 합니다.This example assumes a SQL login (DDUser01), but if you created a Windows login, use that instead.

USE RevoDeepDive
GO

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

연결 문제 해결Troubleshoot connections

이 섹션에서는 데이터베이스를 설정하는 과정에서 발생할 수 있는 몇 가지 일반적인 문제를 보여 줍니다.This section lists some common issues that you might run across in the course of setting up the database.

  • 데이터베이스 연결을 확인하고 SQL 쿼리를 검사하려면 어떻게 하나요?How can I verify database connectivity and check SQL queries?

    서버를 사용하여 R 코드를 실행하기 전에 R 개발 환경에서 데이터베이스에 연결할 수 있는지 확인하는 것이 좋습니다.Before you run R code using the server, you might want to check that the database can be reached from your R development environment. Visual Studio의 서버 탐색기SQL Server Management Studio 는 둘 다 강력한 데이터베이스 연결 및 관리 기능을 갖춘 무료 도구입니다.Both Server Explorer in Visual Studio and SQL Server Management Studio are free tools with powerful database connectivity and management features.

    추가 데이터베이스 관리 도구를 설치하지 않으려는 경우 제어판의 ODBC 데이터 원본 관리자 를 사용하여 SQL Server 인스턴스에 대한 테스트 연결을 만들 수 있습니다.If you don't want to install additional database management tools, you can create a test connection to the SQL Server instance by using the ODBC Data Source Administrator in Control Panel. 데이터베이스가 올바르게 구성되고 올바른 사용자 이름 및 암호를 입력한 경우 방금 만든 데이터베이스가 표시되며 기본 데이터베이스로 선택할 수 있습니다.If the database is configured correctly and you enter the correct user name and password, you should be able to see the database you just created and select it as your default database.

    연결 실패의 일반적인 원인에는 서버에 대 한 원격 연결이 설정 되어 있지 않으며 명명 된 파이프 프로토콜이 사용 하도록 설정 되어 있지 않습니다.Common reasons for connection failures include remote connections are not enabled for the server, and Named Pipes protocol is not enabled. 이 문서에서 더 많은 문제 해결 팁을 찾을 수 있습니다. SQL Server 데이터베이스 엔진에 연결 하는 문제를 해결합니다.You can find more troubleshooting tips in this article: Troubleshoot Connecting to the SQL Server Database Engine.

  • 내 테이블 이름 앞에 datareader가 붙는 것은 무엇 때문인가요?My table name has datareader prefixed to it - why?

    이 사용자에 대한 기본 스키마를 db_datareader로 지정하는 경우, 모든 테이블과 이 사용자가 만든 새 개체의 이름은 스키마를 접두사로 갖습니다.When you specify the default schema for this user as db_datareader, all tables and other new objects created by this user are prefixed with the schema name. 스키마는 개체를 구성하기 위해 데이터베이스에 추가할 수 있는 폴더와 비슷합니다.A schema is like a folder that you can add to a database to organize objects. 또한 스키마는 데이터베이스 내에서 사용자 권한을 정의합니다.The schema also defines a user's privileges within the database.

    스키마가 특정 유저 이름과 연관되어 있다면, 그 유저는 스키마 소유자 입니다.When the schema is associated with one particular user name, the user is the schema owner. 개체를 만들 때 다른 스키마에서 만들도록 요청하지 않으면 항상 그 유저의 고유한 스키마에서 만들어집니다.When you create an object, you always create it in your own schema, unless you specifically ask it to be created in another schema.

    예를 들어 TestData라는 이름으로 테이블을 생성하고 기본 스키마가 db_datareader라면, 테이블의 이름은<database_name>.db_datareader.TestData가 됩니다.For example, if you create a table with the name TestData, and your default schema is db_datareader, the table is created with the name <database_name>.db_datareader.TestData.

    이러한 이유로 테이블이 서로 다른 스키마에 속하기만 하면 한 데이터베이스에 같은 이름의 테이블이 여러 개 포함될 수 있습니다.For this reason, a database can contain multiple tables with the same names, as long as the tables belong to different schemas.

    스키마를 지정하지 않고 테이블을 찾고 있는 경우 데이터베이스 서버는 사용자가 소유한 스키마를 찾습니다.If you are looking for a table and do not specify a schema, the database server looks for a schema that you own. 따라서 로그인과 연결된 스키마의 테이블에 액세스할 때는 스키마 이름을 지정하지 않아도 됩니다.Therefore, there is no need to specify the schema name when accessing tables in a schema associated with your login.

  • DDL 권한이 없습니다. 그래도 자습서를 실행할 수 있나요?I don't have DDL privileges. Can I still run the tutorial??

    예. 그러나 다른 사용자에 게 데이터를 SQL ServerSQL Server 테이블에 미리 로드 하도록 요청 하 고 다음 단원으로 건너 뛰 세요.Yes, but you should ask someone to pre-load the data into the SQL ServerSQL Server tables, and skip ahead to the next lesson. DDL 권한이 필요한 함수는 가능한 경우 항상 자습서에서 언급될 것입니다.The functions that require DDL privileges are called out in the tutorial wherever possible.

    또한 EXECUTE ANY EXTERNAL SCRIPT 사용 권한을 부여받으려면 관리자에게 문의하십시오.Also, ask your administrator to grant you the permission, EXECUTE ANY EXTERNAL SCRIPT. 원격이나 sp_execute_external_script를 통해 R 스크립트를 실행할 때 필요합니다.It is needed for R script execution, whether remote or by using sp_execute_external_script.

다음 단계Next steps