Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Özellikler, nesne hakkında açıklayıcı bilgileri depolayan değerlerdir. Örneğin, Microsoft SQL Server yapılandırma seçenekleri nesnenin Configuration özellikleriyle temsil edilir. Özelliklere doğrudan veya dolaylı olarak özellik koleksiyonu kullanılarak erişilebilir. Özelliklere doğrudan erişim aşağıdaki söz dizimini kullanır:
objInstance.PropertyName
Özellik değeri, özelliğin okuma/yazma erişimine veya salt okunur erişime sahip olmasına bağlı olarak değiştirilebilir veya alınabilir. Bir nesnenin oluşturulabilmesi için belirli özelliklerin ayarlanması da gerekir. Daha fazla bilgi için, belirli bir nesne için SMO başvurusuna bakın.
Note
Alt nesne koleksiyonları bir nesnenin özelliği olarak görünür. Örneğin , Tablolar koleksiyonu bir Server nesnesinin özelliğidir. Daha fazla bilgi için bkz. Koleksiyonları Kullanma.
Bir nesnenin özellikleri Özellikler koleksiyonunun üyeleridir. Özellikler koleksiyonu, bir nesnenin her özelliğinde yinelemek için kullanılabilir.
Bazen bir özellik aşağıdaki nedenlerle kullanılamaz:
Sunucu sürümü özelliği desteklemez; örneğin, SQL Server'ın eski bir sürümünde yeni bir SQL Server özelliğini temsil eden bir özelliğe erişmeye çalışırsanız.
Sunucu, yüklenmemiş bir SQL Server bileşenini temsil eden bir özelliğe erişmeye çalışmanız gibi özellik için veri sağlamaz.
ve UnknownPropertyException SMO özel durumlarını yakalayarak PropertyCannotBeRetrievedException bu koşulları işleyebilirsiniz.
Varsayılan Başlatma Alanlarını Ayarlama
SMO, nesneleri alırken bir iyileştirme gerçekleştirir. İyileştirme, aşağıdaki durumlar arasında otomatik olarak ölçeklendirilerek yüklenen özellik sayısını en aza indirir:
Kısmen yüklü. Bir nesneye ilk başvurulduğunda, en az kullanılabilir özellik (Ad ve Şema gibi) vardır.
Tam donanımlı. Herhangi bir özelliğe başvurulduğunda, yüklenmesi hızlı olan diğer özellikler başlatılır ve kullanılabilir duruma getirilir.
Çok fazla bellek kullanan özellikler. Kalan kullanılamayan özellikler çok fazla bellek kullanır ve true (gibiExpensive) özellik değerine sahiptirDataSpaceUsage. Bu özellikler yalnızca özel olarak başvurulduğunda yüklenir.
Uygulamanız, kısmen yüklenmiş durumda sağlananların yanı sıra ek özellikler getirirse, bu ek özellikleri almak için bir sorgu gönderir ve ölçeği tamamen yüklü duruma getirir. Bu, istemci ile sunucu arasında gereksiz trafiğe neden olabilir. yöntemi çağrılarak SetDefaultInitFields daha fazla iyileştirme gerçekleştirilebilir. yöntemi, SetDefaultInitFields nesne başlatıldığında yüklenen özelliklerin belirtimine izin verir.
yöntemi, SetDefaultInitFields uygulamanın geri kalanı için veya sıfırlanıncaya kadar özellik yükleme davranışını ayarlar. yöntemini kullanarak GetDefaultInitFields özgün davranışı kaydedebilir ve gerektiği gibi geri yükleyebilirsiniz.
Examples
Sağlanan herhangi bir kod örneğini kullanmak için programlama ortamını, programlama şablonunu ve uygulamanızın oluşturulacağı programlama dilini seçmeniz gerekir. Daha fazla bilgi için bkz. Visual Studio .NET'te Visual C# SMO Projesi Oluşturma.
Visual Basic'te Özellik Alma ve Ayarlama
Bu kod örneği, nesnesinin EditionInformation özelliğinin nasıl alınıp özelliğinin numaralandırılmış türün SqlExecutionModesConnectionContext üyesine nasıl ayarlandığını SqlExecutionModes gösterir.
'Connect to the local, default instance of SQL Server.
Dim srv As Server
srv = New Server
'Get a property.
Console.WriteLine(srv.Information.Version)
'Set a property.
srv.ConnectionContext.SqlExecutionModes = SqlExecutionModes.ExecuteSql
Visual C'de Özellik Alma ve Ayarlama#
Bu kod örneği, nesnesinin EditionInformation özelliğinin nasıl alınıp özelliğinin numaralandırılmış türün SqlExecutionModesConnectionContext üyesine nasıl ayarlandığını SqlExecutionModes gösterir.
{
//Connect to the local, default instance of SQL Server.
Server srv;
srv = new Server();
//Get a property.
Console.WriteLine(srv.Information.Version);
//Set a property.
srv.ConnectionContext.SqlExecutionModes = SqlExecutionModes.ExecuteSql;
}
Visual Basic'te Nesne Oluşturulmadan Önce Çeşitli Özellikleri Ayarlama
Bu kod örneği, nesnenin özelliğini doğrudan ayarlamayı AnsiNullsStatusTable ve nesneyi oluşturmadan Table önce sütunların nasıl oluşturulup ekleneceğini gösterir.
'Connect to the local, default instance of SQL Server.
Dim srv As Server
srv = New Server
'Create a new table in the AdventureWorks2022 database.
Dim db As Database
db = srv.Databases("AdventureWorks2022")
Dim tb As Table
'Specify the parent database, table schema and the table name in the constructor.
tb = New Table(db, "Test_Table", "HumanResources")
'Add columns because the table requires columns before it can be created.
Dim c1 As Column
'Specify the parent table, the column name and data type in the constructor.
c1 = New Column(tb, "ID", DataType.Int)
tb.Columns.Add(c1)
c1.Nullable = False
c1.Identity = True
c1.IdentityIncrement = 1
c1.IdentitySeed = 0
Dim c2 As Column
c2 = New Column(tb, "Name", DataType.NVarChar(100))
c2.Nullable = False
tb.Columns.Add(c2)
tb.AnsiNullsStatus = True
'Create the table on the instance of SQL Server.
tb.Create()
Visual C'de Nesne Oluşturulmadan Önce Çeşitli Özellikleri Ayarlama#
Bu kod örneği, nesnenin özelliğini doğrudan ayarlamayı AnsiNullsStatusTable ve nesneyi oluşturmadan Table önce sütunların nasıl oluşturulup ekleneceğini gösterir.
{
//Connect to the local, default instance of SQL Server.
Server srv;
srv = new Server();
//Create a new table in the AdventureWorks2022 database.
Database db;
db = srv.Databases["AdventureWorks2022"];
Table tb;
//Specify the parent database, table schema, and the table name in the constructor.
tb = new Table(db, "Test_Table", "HumanResources");
//Add columns because the table requires columns before it can be created.
Column c1;
//Specify the parent table, the column name, and data type in the constructor.
c1 = new Column(tb, "ID", DataType.Int);
tb.Columns.Add(c1);
c1.Nullable = false;
c1.Identity = true;
c1.IdentityIncrement = 1;
c1.IdentitySeed = 0;
Column c2;
c2 = new Column(tb, "Name", DataType.NVarChar(100));
c2.Nullable = false;
tb.Columns.Add(c2);
tb.AnsiNullsStatus = true;
//Create the table on the instance of SQL Server.
tb.Create();
}
Visual Basic'te Bir Nesnenin Tüm Özelliklerinde Yineleme
Bu kod örneği, nesnenin Özellikler koleksiyonunda StoredProcedure yinelenir ve bunları Visual Studio Çıktı ekranında görüntüler.
Örnekte, Property nesne aynı zamanda bir Visual Basic anahtar sözcüğü olduğundan kare parantez içine konuldu.
'Connect to the local, default instance of SQL Server.
Dim srv As Server
srv = New Server
'Set properties on the uspGetEmployeeManagers stored procedure on the AdventureWorks2022 database.
Dim db As Database
db = srv.Databases("AdventureWorks2022")
Dim sp As StoredProcedure
sp = db.StoredProcedures("uspGetEmployeeManagers")
sp.AnsiNullsStatus = False
sp.QuotedIdentifierStatus = False
'Iterate through the properties of the stored procedure and display.
'Note the Property object requires [] parentheses to distinguish it from the Visual Basic key word.
Dim p As [Property]
For Each p In sp.Properties
Console.WriteLine(p.Name & p.Value)
Next
Visual C'de Bir Nesnenin Tüm Özelliklerinde Yineleme#
Bu kod örneği, nesnenin Özellikler koleksiyonunda StoredProcedure yinelenir ve bunları Visual Studio Çıktı ekranında görüntüler.
{
//Connect to the local, default instance of SQL Server.
Server srv;
srv = new Server();
//Set properties on the uspGetEmployeeManagers stored procedure on the AdventureWorks2022 database.
Database db;
db = srv.Databases["AdventureWorks2022"];
StoredProcedure sp;
sp = db.StoredProcedures("uspGetEmployeeManagers");
sp.AnsiNullsStatus = false;
sp.QuotedIdentifierStatus = false;
//Iterate through the properties of the stored procedure and display.
Property p;
foreach ( p in sp.Properties) {
Console.WriteLine(p.Name + p.Value);
}
}
Visual Basic'te Varsayılan Başlatma Alanlarını Ayarlama
Bu kod örneğinde, bir SMO programında başlatılan nesne özellikleri sayısının nasıl en aza indirilmesi gösterilmektedir. nesnesini kullanmak için ; deyimini using System.Collections.Specialized eklemeniz StringCollectiongerekir.
SQL Server Profiler, SQL Server örneğine gönderilen sayı deyimlerini bu iyileştirmeyle karşılaştırmak için kullanılabilir.
'Connect to the local, default instance of SQL Server.
Dim srv As Server
srv = New Server
'Reference the AdventureWorks2022 database.
Dim db As Database
db = srv.Databases("AdventureWorks2022")
'Assign the Table object type to a System.Type object variable.
Dim tb As Table
Dim typ As Type
tb = New Table
typ = tb.GetType
'Assign the current default initialization fields for the Table object type to a
'StringCollection object variable.
Dim sc As StringCollection
sc = srv.GetDefaultInitFields(typ)
'Set the default initialization fields for the Table object type to the CreateDate property.
srv.SetDefaultInitFields(typ, "CreateDate")
'Retrieve the Schema, Name, and CreateDate properties for every table in AdventureWorks2022.
'Note that the improvement in performance can be viewed in SQL Profiler.
For Each tb In db.Tables
Console.WriteLine(tb.Schema + "." + tb.Name + " " + tb.CreateDate)
Next
'Set the default initialization fields for the Table object type back to the original settings.
srv.SetDefaultInitFields(typ, sc)
Visual C'de Varsayılan Başlatma Alanlarını Ayarlama#
Bu kod örneğinde, bir SMO programında başlatılan nesne özellikleri sayısının nasıl en aza indirilmesi gösterilmektedir. nesnesini kullanmak için ; deyimini using System.Collections.Specialized eklemeniz StringCollectiongerekir.
SQL Server Profiler, SQL Server örneğine gönderilen sayı deyimlerini bu iyileştirmeyle karşılaştırmak için kullanılabilir.
{
//Connect to the local, default instance of SQL Server.
Server srv;
srv = new Server();
//Reference the AdventureWorks2022 database.
Database db;
db = srv.Databases["AdventureWorks2022"];
//Assign the Table object type to a System.Type object variable.
Table tb;
Type typ;
tb = new Table();
typ = tb.GetType;
//Assign the current default initialization fields for the Table object type to a
//StringCollection object variable.
StringCollection sc;
sc = srv.GetDefaultInitFields(typ);
//Set the default initialization fields for the Table object type to the CreateDate property.
srv.SetDefaultInitFields(typ, "CreateDate");
//Retrieve the Schema, Name, and CreateDate properties for every table in AdventureWorks2022.
//Note that the improvement in performance can be viewed in SQL Server Profiler.
foreach ( tb in db.Tables) {
Console.WriteLine(tb.Schema + "." + tb.Name + " " + tb.CreateDate);
}
//Set the default initialization fields for the Table object type back to the original settings.
srv.SetDefaultInitFields(typ, sc);
}