このトピックでは、SQL Server Management Studio または Transact-SQL を使用して SQL Server 2014 でスキーマを作成する方法について説明します。
このトピックについて
作業を開始する準備:
スキーマを作成するには、次を使用します。
開始する前に
制限事項と制約条件
新しいスキーマは、データベース ユーザー、データベース ロール、またはアプリケーション ロールのいずれかのデータベース レベルのプリンシパルが所有します。 スキーマ内で作成されたオブジェクトは、スキーマの所有者によって所有され、sys.objectsに NULL principal_idがあります。 スキーマに含まれるオブジェクトの所有権は、任意のデータベース レベル プリンシパルに転送できますが、スキーマ所有者は常に、スキーマ内のオブジェクトに対する 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)」を参照してください。