Aracılığıyla paylaş


Veritabanı ve izin oluşturma (SQL Server ve RevoScaleR öğreticisi)

Şunlar için geçerlidir: SQL Server 2016 (13.x) ve sonraki sürümleri

Bu, Sql Server ile RevoScaleR işlevlerinin nasıl kullanılacağına ilişkin RevoScaleR öğretici serisinin 1. öğreticisidir.

Bu öğreticide, BIR SQL Server veritabanı oluşturma ve bu serideki diğer öğreticileri tamamlamak için gerekli izinleri ayarlama işlemi açıklanmaktadır. Aşağıdaki görevleri tamamlamak için SQL Server Management Studio (SSMS) veya başka bir sorgu düzenleyicisi kullanın:

  • İki R modelini eğitmek ve puanlama amacıyla verileri depolamak için yeni bir veritabanı oluşturma
  • Veritabanı nesnelerini oluşturma ve kullanma izinleriyle veritabanı kullanıcısı oturum açma bilgileri oluşturma

Veritabanını oluşturma

Bu öğretici, veri ve kod depolamak için bir veritabanı gerektirir. Yönetici değilseniz DBA'nızdan veritabanını oluşturmasını ve sizin için oturum açmasını isteyin. Veri yazma ve okuma ve R betiklerini çalıştırma izinlerine sahip olmanız gerekir.

  1. SQL Server Management Studio'da R özellikli bir veritabanı örneğine bağlanın.

  2. Veritabanları'ya sağ tıklayın ve Yeni veritabanı'yı seçin.

  3. Yeni veritabanı için bir ad yazın: RevoDeepDive.

Giriş oluştur

  1. Yeni Sorgu'ya tıklayın ve veritabanı bağlamını ana veritabanı olarak değiştirin.

  2. Yeni Sorgu penceresinde aşağıdaki komutları çalıştırarak kullanıcı hesaplarını oluşturun ve bunları bu öğretici için kullanılan veritabanına atayın. Gerekirse veritabanı adını değiştirdiğinizden emin olun.

  3. Oturum açmayı doğrulamak için yeni veritabanını seçin, Güvenlik'i genişletin ve Kullanıcılar'ı genişletin.

Windows kullanıcısı

 -- 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 oturum açma

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

İzin atama

Bu öğreticide, tabloları ve saklı yordamları oluşturup silme ve SQL Server'daki bir dış işlemde R betiğini çalıştırma dahil olmak üzere R betiği ve DDL işlemleri gösterilmektedir. Bu adımda, bu görevlere izin vermek için izinler atayın.

Bu örnekte SQL oturum açma bilgisi (DDUser01) varsayılır, ancak bir Windows oturumu açma bilgisi oluşturduysanız onun yerine onu kullanın.

USE RevoDeepDive
GO

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

Bağlantı sorunlarını giderme

Bu bölümde, veritabanını ayarlama sırasında karşılaşabileceğiniz bazı yaygın sorunlar listelenir.

  • Veritabanı bağlantısını nasıl doğrulayabilir ve SQL sorgularını nasıl denetleyebilirim?

    Sunucuyu kullanarak R kodunu çalıştırmadan önce, veritabanına R geliştirme ortamınızdan ulaşıp ulaşılamdığını denetlemek isteyebilirsiniz. Hem Visual Studio'daki Sunucu Gezgini hem de SQL Server Management Studio (SSMS), güçlü veritabanı bağlantısı ve yönetim özelliklerine sahip ücretsiz araçlardır.

    Ek veritabanı yönetim araçları yüklemek istemiyorsanız, Denetim Masası'ndaki ODBC Veri Kaynağı Yöneticisi'ni kullanarak SQL Server örneğine yönelik bir test bağlantısı oluşturabilirsiniz. Veritabanı doğru yapılandırılırsa ve doğru kullanıcı adı ve parolayı girerseniz, yeni oluşturduğunuz veritabanını görebilmeli ve varsayılan veritabanınız olarak seçebilirsiniz.

    Bağlantı hatalarının yaygın nedenleri arasında sunucu için uzak bağlantıların etkinleştirilmemesi ve Adlandırılmış Kanallar protokollerinin etkinleştirilmemesi sayılabilir. Bu makalede daha fazla sorun giderme ipucu bulabilirsiniz: SQL Server Veritabanı Altyapısına Bağlanma Sorunlarını Giderme.

  • Tablomun adında neden "datareader" ön eki var?

    Bu kullanıcı için varsayılan şemayı db_datareader olarak belirttiğinizde, bu kullanıcı tarafından oluşturulan tüm tablolara ve diğer yeni nesnelere şema adı eklenir. Şema, nesneleri düzenlemek için veritabanına ekleyebileceğiniz bir klasör gibidir. Şema ayrıca kullanıcının veritabanındaki ayrıcalıklarını da tanımlar.

    Şema belirli bir kullanıcı adıyla ilişkilendirildiğinde, kullanıcı şemanın sahibi olur. Bir nesne oluşturduğunuzda, özellikle başka bir şemada oluşturulmasını istemediğiniz sürece nesneyi her zaman kendi şemanızda oluşturursunuz.

    Örneğin, TestData adlı bir tablo oluşturursanız ve varsayılan şemanız db_datareader ise, tablo adıyla <database_name>.db_datareader.TestDataoluşturulur.

    Bu nedenle, tablolar farklı şemalara ait olduğu sürece bir veritabanı aynı adlara sahip birden çok tablo içerebilir.

    Tablo arıyorsanız ve şema belirtmezseniz, veritabanı sunucusu sahip olduğunuz bir şemayı arar. Bu nedenle, oturum açma bilgilerinizle ilişkilendirilmiş bir şemadaki tablolara erişirken şema adını belirtmeniz gerekmez.

  • DDL ayrıcalıklarına sahip değilim. Eğitimi yine de çalıştırabilir miyim??

    Evet, ancak bir kullanıcıdan verileri SQL Server tablolarına önceden yüklemesini istemeli ve sonraki öğreticiye atlamalısınız. DDL ayrıcalıkları gerektiren işlevler, mümkün olan her yerde öğreticide öne çıkarılır.

    Ayrıca yöneticinizden size HERHANGİ BİR DIŞ BETİĞİ YÜRÜTME izni vermesini isteyin. R betiği yürütmek için, ister uzak bir sunucuda ister sp_execute_external_script kullanarak, gereklidir.

Sonraki Adımlar