次の方法で共有


Parallel Data Warehouse の T-SQL アクセス許可を付与する

Parallel Data Warehouse のデータベース 操作に T-SQL アクセス許可を付与する

データベース クエリを送信するアクセス許可を付与する

このセクションでは、SQL Server PDW アプライアンス上のデータに対してクエリを実行する権限をデータベース ロールとユーザーに付与する方法について説明します。

データのクエリにアクセス許可の付与に使用するステートメントは、必要なアクセスの範囲によって異なります。 次の SQL ステートメントでは、アプライアンスにアクセスできる KimAbercrombie という名前のログインを作成し、AdventureWorksPDW2012 データベースに KimAbercrombie という名前のデータベース ユーザーを作成し、PDWQueryData という名前のデータベース ロールを作成し、PDWQueryData ロールに KimAbercrombie を使用して追加した後、オブジェクト レベルまたはデータベース レベルのいずれで許可するかに基づいてクエリ アクセスを許可するオプションを表示します。

USE master;  
GO  
  
CREATE LOGIN KimAbercrombie WITH PASSWORD = 'A2c3456$#' MUST_CHANGE,  
CHECK_EXPIRATION = ON,  
CHECK_POLICY = ON;  
GO  
  
USE AdventureWorksPDW2012;  
GO  
  
CREATE USER KimAbercrombie;  
GO  
  
CREATE ROLE PDWQueryData;  
GO  
  
EXEC sp_addrolemember 'PDWQueryData', 'KimAbercrombie'  
GO  
  
-- If the permission is granted against a table or view only, use this syntax:  
GRANT SELECT ON OBJECT::AdventureWorksPDW2012..DimEmployee TO PDWQueryData;  
GO  
  
-- If the permission is granted for the database, use this syntax:  
GRANT SELECT ON DATABASE::AdventureWorksPDW2012 TO PDWQueryData;  
GO  
  
-- If KimAbercrombie is the only user that needs to access a table, use this syntax:  
GRANT SELECT ON OBJECT::AdventureWorksPDW2012..DimEmployee TO KimAbercrombie;  
GO  

管理コンソールを使用するアクセス許可を付与する

このセクションでは、管理コンソールを使用するログインにアクセス許可を付与する方法について説明します。

管理コンソールの使用

管理コンソールの使用には、サーバー レベル のVIEW SERVER STATE アクセス許可がログインに必要です。 次の SQL ステートメントは、Kim が管理コンソールを使用して SQL Server PDW アプライアンスを監視できるように、KimAbercrombie ログインに VIEW SERVER STATE 権限を 付与します。

USE master;  
GO  
GRANT VIEW SERVER STATE TO KimAbercrombie;  
GO  

セッションの強制終了

セッションを強制終了する権限をログインに付与するには、次のようにALTER ANY CONNECTION 権限を付与します。

GRANT ALTER ANY CONNECTION TO KimAbercrombie;  

データ読み込みのアクセス許可を付与する

このセクションでは、SQL Server PDWappliance にデータを読み込む権限をデータベース ロールとデータベース ユーザーに付与する方法について説明します。

次のスクリプトでは、読み込みオプションごとに必要なアクセス許可が示されています。 これは、特定のニーズに合わせて変更できます。

-- Create server login for the examples that follow.  
USE master;  
CREATE LOGIN BI_ETLUser WITH PASSWORD = '<password>';  
  
--Grant BULK Load permissions   
GRANT ADMINISTER BULK OPERATIONS TO BI_ETLUser;  
  
--Grant Staging database permissions  
USE stagedb;  
CREATE USER BI_ETLUser for login BI_ETLUser;  
EXEC sp_addrolemember 'db_datareader','BI_ETLUser';  
EXEC sp_addrolemember 'db_datawriter','BI_ETLUser';  
EXEC sp_addrolemember 'db_ddladmin','BI_ETLUser';  
  
-- The CREATE TABLE permission is required for the database hosting the temporary table.  
-- This may be the staging database (if specified) or destination database.   
-- The CREATE permission is not required if loading in fastappend mode.  
GRANT CREATE TABLE ON database::stagedb TO BI_ETLUser;  
  
-- If loading in append or fastappend mode, the INSERT permission is required on the destination table.  
GRANT INSERT ON database::stagedb TO BI_ETLUser;  
  
-- If loading in reload mode, the INSERT and DELETE permissions are required on the destination table.  
GRANT INSERT ON database::stagedb TO BI_ETLUser;  
GRANT DELETE ON database::stagedb TO BI_ETLUser;  
  
-- If loading in upsert mode, the INSERT and UPDATE permissions are required on the destination table.  
GRANT INSERT ON database::stagedb TO BI_ETLUser;  
GRANT UPDATE ON database::stagedb TO BI_ETLUser;  
  
-- Destination DB  
USE tpch_1gb;  
CREATE USER BI_ETLUser FOR LOGIN BI_ETLUser;  
EXEC sp_addrolemember 'db_datareader','BI_ETLUser';  
EXEC sp_addrolemember 'db_datawriter','BI_ETLUser';  

アプライアンスからデータをコピーするアクセス許可を付与する

このセクションでは、SQL Server PDW アプライアンスからデータをコピーする権限をユーザーまたはデータベース ロールに付与する方法について説明します。

データを別の場所に移動するには、移動するデータを含むテーブルに対するSELECT 権限が必要です。

データの変換先が別の SQL Server PDW の場合、ユーザーは、テーブルを含むスキーマに対する CREATE TABLE 権限と ALTER SCHEMA 権限を持っている必要があります。

データベースを管理するアクセス許可を付与する

このセクションでは、SQL Server PDW アプライアンスでデータベースを管理するためのアクセス許可をデータベース ユーザーに付与する方法について説明します。

状況によっては、会社がデータベースのマネージャーを割り当てます。 マネージャーは、他のログインがデータベースに対して持つアクセスと、データベース内のデータとオブジェクトを制御します。 データベース内のすべてのオブジェクト、ロール、およびユーザーを管理するには、データベースに対するCONTROL 権限をユーザーに付与します。 次のステートメントは、AdventureWorksPDW2012 データベースに対する CONTROL アクセス許可をユーザー KimAbercrombieに付与します。

USE AdventureWorksPDW2012;  
GO  
GRANT CONTROL ON DATABASE:: AdventureWorksPDW2012 TO KimAbercrombie;  

アプライアンス上のすべてのデータベースを制御する権限を他のユーザーに付与するには、マスター データベースの ALTER ANY DATABASE 権限を付与します。

ログイン、ユーザー、およびデータベース ロールを管理するアクセス許可を付与する

このセクションでは、ログイン、データベース ユーザー、およびデータベース ロールを管理するためのアクセス許可を付与する方法について説明します。

ログインを管理するアクセス許可を付与する

ログインの追加または管理

次の SQL ステートメントは、CREATE LOGIN ステートメントを使用して新しいログインを作成し、ALTER LOGIN ステートメントを使用して既存のログインを変更できる KimAbercrombie という名前のログインを作成します。

ALTER ANY LOGIN アクセス許可は、新しいログインを作成したり、既存のログインを削除したりする機能を付与します。 ログインが存在すると、そのログインに対するALTER ANY LOGIN 権限またはALTER 権限を持つログインによってログインを管理できます。 ログインでは、その独自のログインのパスワード、と既定のデータベースを変更できます。

CREATE LOGIN KimAbercrombie   
WITH PASSWORD = '<password>' MUST_CHANGE,  
CHECK_EXPIRATION = ON,  
CHECK_POLICY = ON;  
GO  
  
GRANT ALTER ANY LOGIN TO KimAbercrombie;  

ログイン セッションを管理するアクセス許可を付与する

サーバー上のすべてのセッションの表示には、VIEW SERVER STATE 権限が必要です。 他のログインのセッションを終了するには、ALTER ANY CONNECTION 権限が必要です。 次の例では、以前作成の KimAbercrombie ログイン を使用します。

-- Grant permissions to view sessions and queries  
GRANT VIEW SERVER STATE TO KimAbercrombie;  
  
-- Grant permission to end sessions  
GRANT ALTER ANY CONNECTION TO KimAbercrombie;  

データベース ユーザーを管理するためのアクセス許可を付与する

データベース ユーザーを作成と削除をするには、ALTER ANY USER 権限が必要です。 既存のユーザーの管理には、そのユーザーに対する ALTER ANY USER 権限または ALTER 権限が必要です。 次の例では、以前作成の KimAbercrombie ログイン を使用します。

-- Create a user  
USE AdventureWorksPDW2012;  
GO  
CREATE USER KimAbercrombie;  
  
-- Grant permissions to create and drop users   
GRANT ALTER ANY USER TO KimAbercrombie;  

Permisson にデータベース ロールの管理を許可する

ユーザー定義データベース ロールを作成と削除をするには、ALTER ANY ROLE 権限が必要です。 次の例では、以前作成の KimAbercrombie ログイン を使用します。

USE AdventureWorksPDW2012;  
GO  
-- Grant permissions to create and drop roles  
GRANT ALTER ANY ROLE TO KimAbercrombie;  

ログイン、ユーザー、ロールのアクセス許可のグラフ

次のグラフは混乱を招く可能性がありますが、(CONTROL など)より高いレバーのアクセス許可に、(ALTER など)個別に付与できるより細かいアクセス許可 がどのように含まれているかを示しています。 誰かが必要なタスクを完了するための最小限のアクセス許可を常に付与することがベスト プラクティスです。 そのためには、最上位レベルのアクセス許可ではなく、より具体的なアクセス許可を付与します。

ログイン許可

APS セキュリティ ログインのアクセス許可

ユーザーのアクセス許可:

APS セキュリティ ユーザー アクセス許可

ロールのアクセス許可

APS セキュリティロールのアクセス許可

アプライアンスを監視する権限の付与

SQL Server PDW アプライアンスは、管理コンソールまたは SQL Server PDW システム ビューを使用して監視できます。 ログインでは、アプライアンスを監視するためにサーバー レベルのVIEW SERVER STATE 権限が必要です。 ログインには、管理コンソールまたは KILL コマンドを使用して接続を終了するための ALTER ANY CONNECTION アクセス許可が必要です。 管理コンソールを使用するために必要なアクセス許可の詳細については、管理コンソールを使用するためのアクセス許可の付与 (SQL Server PDW)を参照してください。

システム ビューを使用してアプライアンスを監視するアクセス許可を付与する

次の SQL ステートメントは、monitor_login という名前付きのログインを作成し、monitor_login ログインにVIEW SERVER STATE 権限を付与します。

USE master;  
GO  
CREATE LOGIN monitor_login WITH PASSWORD='<password>';  
GRANT VIEW SERVER STATE TO monitor_login;  
GO  

システム ビューを使用してアプライアンスを監視し、接続を終了するアクセス許可を付与する

次の SQL ステートメントは、名前付きのログインを作成しmonitor_and_terminate_loginVIEW SERVER STATEALTER ANY CONNECTION のアクセス許可をmonitor_and_terminate_loginログインに付与します。

USE master;  
GO  
CREATE LOGIN monitor_and_terminate_login WITH PASSWORD='<password>';   
GRANT VIEW SERVER STATE TO monitor_and_terminate_login;   
GRANT ALTER ANY CONNECTION TO monitor_and_terminate_login;  
GO  

管理者ログインを作成するには、固定サーバー ロールを参照してください。

関連項目

CREATE LOGIN
CREATE USER
CREATE ROLE
Load