스키마 생성, 변경 및 제거

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(); 
}