データベース スキーマの作成
このトピックでは、SQL Server Management Studioまたは Transact-SQL を使用して、SQL Server 2014 でスキーマを作成する方法について説明します。
このトピックの内容
作業を開始する準備:
スキーマを作成する方法:
はじめに
制限事項と制約事項
新しいスキーマは、データベース ユーザー、データベース ロール、またはアプリケーション ロールのいずれかのデータベース レベルのプリンシパルが所有します。 スキーマ内に作成されるオブジェクトはスキーマの所有者が所有し、 sys.objects 内の principal_idは NULL になります。 スキーマが含まれるオブジェクトの所有権は、データベース レベルのプリンシパルに譲渡できますが、スキーマ内のオブジェクトに対する CONTROL 権限は常にスキーマ所有者が保持します。
データベース オブジェクトを作成する場合に、有効なドメイン プリンシパル (ユーザーまたはグループ) をオブジェクト所有者として指定すると、ドメイン プリンシパルがスキーマとしてデータベースに追加されます。 新しいスキーマは、そのドメイン プリンシパルが所有します。
セキュリティ
アクセス許可
データベースに対する CREATE SCHEMA 権限が必要です。
別のユーザーを、作成されるスキーマの所有者として指定する場合、呼び出し元は、そのユーザーに対する IMPERSONATE 権限を持っている必要があります。 データベース ロールを所有者として指定する場合、呼び出し元は、データベース ロールのメンバーシップまたはデータベース ロールに対する ALTER 権限のいずれかを持っている必要があります。
SQL Server Management Studio を使用する
スキーマを作成するには
オブジェクト エクスプローラーで、 [データベース] フォルダーを展開します。
新しいデータベース スキーマを作成するデータベースを展開します。
[セキュリティ] フォルダーを右クリックし、 [新規作成] をポイントして、 [スキーマ] をクリックします。
[スキーマ - 新規作成] ダイアログ ボックスの [全般] ページで、 [スキーマ名] ボックスに新しいスキーマの名前を入力します。
[スキーマの所有者] ボックスに、スキーマを所有するデータベース ユーザーまたはロールの名前を入力します。 または、 [検索] をクリックして [ロールとユーザーの検索] ダイアログ ボックスを開きます。
[OK] をクリックします。
追加オプション
[スキーマ - 新規作成] ダイアログ ボックスには次の 2 つのページもあり、それぞれにオプションが用意されています: [権限] 、 [拡張プロパティ] 。
[権限] ページには、すべてのセキュリティ保護可能なリソースと、ログインに付与できる、セキュリティ保護可能なリソースに対する権限が一覧表示されます。
[拡張プロパティ] ページでは、カスタム プロパティをデータベース ユーザーに追加できます。
Transact-SQL の使用
スキーマを作成するには
オブジェクト エクスプローラーで、 データベース エンジンのインスタンスに接続します。
[標準] ツール バーの [新しいクエリ] をクリックします。
次の例をコピーしてクエリ ウィンドウに貼り付け、 [実行] をクリックします。
USE AdventureWorks2012; GO -- Creates the schema Sprockets owned by Annik that contains table NineProngs. -- The statement grants SELECT to Mandar and denies SELECT to Prasanna. CREATE SCHEMA Sprockets AUTHORIZATION Annik CREATE TABLE NineProngs (source int, cost int, partnumber int) GRANT SELECT ON SCHEMA::Sprockets TO Mandar DENY SELECT ON SCHEMA::Sprockets TO Prasanna; GO
詳細については、「 CREATE SCHEMA (Transact-SQL)」を参照してください。