スキーマの作成、変更、および削除
Schema オブジェクトは、データベース オブジェクトの所有権コンテキストを表現します。Database オブジェクトの Schemas プロパティは、Schema オブジェクトのコレクションを表現します。
例
提供されているコード例を使用するには、アプリケーションを作成するプログラミング環境、プログラミング テンプレート、およびプログラミング言語を選択する必要があります。詳細については、「Visual Studio .NET で Visual Basic SMO プロジェクトを作成する方法」または「Visual Studio .NET で Visual C# SMO プロジェクトを作成する方法」を参照してください。
Visual Basic でのスキーマの作成、変更、および削除
このコード例では、スキーマを作成してデータベース オブジェクトに割り当てる方法を示します。その後、ユーザーに権限を許可し、スキーマに新しいテーブルを作成します。
'Connect to the local, default instance of SQL Server.
Dim srv As Server
srv = New Server
'Reference the AdventureWorks database.
Dim db As Database
db = srv.Databases("AdventureWorks")
'Define a Schema object variable by supplying the parent database and name arguments in the constructor.
Dim sch As Schema
sch = New Schema(db, "MySchema1")
sch.Owner = "dbo"
'Create the schema on the instance of SQL Server.
sch.Create()
'Define an ObjectPermissionSet that contains the Update and Select object permissions.
Dim obperset As ObjectPermissionSet
obperset = New ObjectPermissionSet()
obperset.Add(ObjectPermission.Select)
obperset.Add(ObjectPermission.Update)
'Grant the set of permissions on the schema to the guest account.
sch.Grant(obperset, "guest")
'Define a Table object variable by supplying the parent database, name and schema arguments in the constructor.
Dim tb As Table
tb = New Table(db, "MyTable", "MySchema1")
Dim mycol As Column
mycol = New Column(tb, "Date", DataType.DateTime)
tb.Columns.Add(mycol)
tb.Create()
'Modify the owner of the schema and run the Alter method to make the change on the instance of SQL Server.
sch.Owner = "guest"
sch.Alter()
'Run the Drop method for the table and the schema to remove them.
tb.Drop()
sch.Drop()
Visual C# でのスキーマの作成、変更、および削除
このコード例では、スキーマを作成してデータベース オブジェクトに割り当てる方法を示します。その後、ユーザーに権限を許可し、スキーマに新しいテーブルを作成します。
//Connect to the local, default instance of SQL Server.
{
Server srv = default(Server);
srv = new Server();
//Reference the AdventureWorks database.
Database db = default(Database);
db = srv.Databases("AdventureWorks");
//Define a Schema object variable by supplying the parent database and name arguments in the constructor.
Schema sch = default(Schema);
sch = new Schema(db, "MySchema1");
sch.Owner = "dbo";
//Create the schema on the instance of SQL Server.
sch.Create();
//Define an ObjectPermissionSet that contains the Update and Select object permissions.
ObjectPermissionSet obperset = default(ObjectPermissionSet);
obperset = new ObjectPermissionSet();
obperset.Add(ObjectPermission.Select);
obperset.Add(ObjectPermission.Update);
//Grant the set of permissions on the schema to the guest account.
sch.Grant(obperset, "guest");
//Define a Table object variable by supplying the parent database, name and schema arguments in the constructor.
Table tb = default(Table);
tb = new Table(db, "MyTable", "MySchema1");
Column mycol = default(Column);
mycol = new Column(tb, "Date", DataType.DateTime);
tb.Columns.Add(mycol);
tb.Create();
//Modify the owner of the schema and run the Alter method to make the change on the instance of SQL Server.
sch.Owner = "guest";
sch.Alter();
//Run the Drop method for the table and the schema to remove them.
tb.Drop();
sch.Drop();
}