Aracılığıyla paylaş


Özelliklerini ayarlama

Özellikler nesneyle ilgili açıklayıcı bilgileri depolayan değerlerdir.For example, Microsoft SQL Server configuration options are represented by the Configuration object's properties.Özellikler erişilebilir doğrudan veya dolaylı olarak kullanarak özellik koleksiyonu.Özelliklerine doğrudan erişim, aşağıdaki sözdizimini kullanır:

objInstance.PropertyName

Özellik değeri değiştirilemez veya özellik okuma/yazma erişimi veya salt okunur erişime sahip bağlı olarak alınır.Ayrıca için gerekli olan küme bir nesne oluşturulmadan önce belirli özellikleri.Daha fazla bilgi için bkz: smo başvuru için belirli nesne.

Not

Alt nesneler koleksiyonları bir nesne özellik olarak görünür.Örneğin, Tables koleksiyon özellik olan bir Server nesne.Daha fazla bilgi için bkz: Koleksiyonlar kullanma.

Bir nesnenin özelliklerini özelliklerini üye koleksiyon.Özelliklerini koleksiyon her bir nesnenin özellik ile yinelemek yapmak için kullanılabilir.

Bazen bir özellik aşağıdaki nedenlerle kullanılamaz:

  • Sunucu sürüm desteklemediği özellik, bu tür erişmeye çalıştığınızda gibi bir özellik yeni bir temsil eden SQL Server eski bir sürüm özelliğini SQL Server.

  • Sunucu veri sağlayan özellik gibi gösteren bir özelliğine erişmek denerseniz bir SQL Server bileşeni yüklü değil.

Bu koşullar yakalama tarafından ele UnknownPropertyException ve PropertyCannotBeRetrievedException smo özel durumlar.

Varsayılan başlatma alanlar ayarlama

smo nesneleri alırken bir iyileştirme gerçekleştirir.En iyi duruma getirme özelliklerini aşağıdaki durumlar arasında otomatik ölçeklendirme tarafından yüklenen sayısını en aza indirir:

  1. Kısmen yüklendi.Bir nesneyi ilk kez başvuruda bulunduğunda özellikleri (ad ve şeması gibi) en az vardır.

  2. Tam donanımlı.Herhangi bir özellik başvurulduğunda, kalan özelliklerini yüklemek hızlı başlatılır ve kullanılabilir yapılır.

  3. Büyük miktarda bellek kullanan özellikler.Çok fazla bellek ve diğer kullanılamayan özellikler kullanmak bir Expensive özellik değeri true (gibi DataSpaceUsage).Bu özellikler yalnızca özellikle başvurulan yüklenir.

Uygulamanız kısmen yüklenmiş durumda verilenlerden yanı sıra ekstra özellikler getirecekseniz, bu ek özellikleri almak için bir sorgu gönderir ve tam yüklü durumuna geri ölçeklendirme yaparken.Bu, istemci ve sunucu arasında gereksiz trafiğine neden olabilir.Daha fazla en iyileştirme çaðýrarak elde edilebilir SetDefaultInitFields yöntem.The SetDefaultInitFields method allows specification of the properties that are loaded when the object is initialized.

The SetDefaultInitFields method sets the property loading behavior for the rest of application or until it is reset.Özgün davranış kullanarak kaydedebilirsiniz GetDefaultInitFields yöntem ve gerektiğinde geri yükleme.

Örnekler

Sunulan kod örneklerinden herhangi birini kullanmak için, programlama ortamını, programlama şablonunu ve uygulamanızı oluşturacağınız programlama dilini seçmeniz gerekecektir. Daha fazla bilgi için SQL Server Boks Online'da "How to: Create a Visual Basic SMO Project in Visual Studio .NET" (Nasıl Yapılır: Visual Studio .NET içinde Visual Basic SMO Projesi Oluşturma) veya "How to: Create a Visual C# SMO Project in Visual Studio .NET" (Nasıl Yapılır: Visual Studio .NET içinde Visual C# SMO Projesi Oluşturma) konularına bakın.

Bir özelliği Visual Basic'te ayarlama ve alma

Bu kod örneği nasıl alabileceğinizi gösterir Edition özellik Information nesne ve nasıl küme SqlExecutionModes özellik ConnectionContext özellikne ExecuteSql üye SqlExecutionModes numaralandırılan türü.

'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

Bir özelliği Visual C# içinde ayarlama ve alma

Bu kod örneği nasıl alabileceğinizi gösterir Edition özellik Information nesne ve nasıl küme SqlExecutionModes özellik ConnectionContext özellikne ExecuteSql üye SqlExecutionModes numaralandırılan türü.

{ 
//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 ayarlama çeşitli özellikler önce bir nesne oluşturulur

Gösterir bu kod örneği nasıl doğrudan küme AnsiNullsStatus özellik Table nesnesi ve nasıl oluşturulup, oluşturmadan önce sütunları ekleyin Table nesne.

'Connect to the local, default instance of SQL Server.
Dim srv As Server
srv = New Server
'Create a new table in the AdventureWorks2008R2 database. 
Dim db As Database
db = srv.Databases("AdventureWorks2008R2")
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()

Ayarlama çeşitli özellikler önce bir nesne Visual C# içinde oluşturulur

Gösterir bu kod örneği nasıl doğrudan küme AnsiNullsStatus özellik Table nesnesi ve nasıl oluşturulup, oluşturmadan önce sütunları ekleyin Table nesne.

{ 
//Connect to the local, default instance of SQL Server. 
Server srv; 
srv = new Server(); 
//Create a new table in the AdventureWorks2008R2 database. 
Database db; 
db = srv.Databases("AdventureWorks2008R2"); 
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(); 
}

Tüm özelliklerini Visual Basic nesne yineleme

Bu kod örneği arasında dolaşır Properties koleksiyon , StoredProcedure nesne ve bunları görüntüler Visual Studio ekrana çıktı.

Örnekte, Property nesne koymak köşeli parantez içinde de olduğu için bir Visual Basic anahtar sözcüğü.

'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 AdventureWorks2008R2 database.
Dim db As Database
db = srv.Databases("AdventureWorks2008R2")
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

Tüm özelliklerini Visual C# içinde bir nesne yineleme

Bu kod örneği arasında dolaşır Properties koleksiyon , StoredProcedure nesne ve bunları görüntüler Visual Studio ekrana çıktı.

{ 
//Connect to the local, default instance of SQL Server. 
Server srv; 
srv = new Server(); 
//Set properties on the uspGetEmployeedManagers stored procedure on the AdventureWorks2008R2 database. 
Database db; 
db = srv.Databases("AdventureWorks2008R2"); 
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); 
  } 
}

Varsayılan başlatma alanlar Visual Basic'te ayarlama

Bu kod örneği, nesne özelliklerini bir smo programda başlatıldı sayısını en aza indirmek gösterilmiştir.Dahil etmek zorunda using System.Collections.Specialized; deyim kullanmak için StringCollection nesne.

SQL Server Profilerörnek olarak gönderilen numara deyimleri karşılaştırmak için kullanılan SQL Server Bu en iyi duruma getirme.

'Connect to the local, default instance of SQL Server.
Dim srv As Server
srv = New Server
'Reference the AdventureWorks2008R2 database.
Dim db As Database
db = srv.Databases("AdventureWorks2008R2")
'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 AdventureWorks2008R2.
'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)

Varsayılan başlatma alanlar Visual C# içinde ayarlama

Bu kod örneği, nesne özelliklerini bir smo programda başlatıldı sayısını en aza indirmek gösterilmiştir.Dahil etmek zorunda using System.Collections.Specialized; deyim kullanmak için StringCollection nesne.

SQL Server Profilerörnek olarak gönderilen numara deyimleri karşılaştırmak için kullanılan SQL Server Bu en iyi duruma getirme.

{ 
//Connect to the local, default instance of SQL Server. 
Server srv; 
srv = new Server(); 
//Reference the AdventureWorks2008R2 database. 
Database db; 
db = srv.Databases("AdventureWorks2008R2"); 
//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 AdventureWorks2008R2. 
   //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); 
}