Özellikleri ayarlama
Özellikleri nesneyle ilgili açıklayıcı bilgi depolayan değerlerdir.For example, Microsoft SQL Server configuration options are represented by the Configuration() object's properties.Özellikleri doğrudan veya dolaylı olarak özellik kullanılarak erişilebilir koleksiyon.Özelliklerine doğrudan erişim için aşağıdaki sözdizimini kullanır:
objInstance.PropertyName
Bir özellik değeri değiştirilmiş veya özellik okuma/yazma erişimi veya salt okunur erişime sahip bağlı alınan.Önce bir nesnenin belirli özelliklerini ayarlamak gereklidir.Daha fazla bilgi için belirli bir nesnenin SMO başvuru konusuna bakın.
Not
Topluluklar alt nesnelerin, nesnenin özellik olarak görüntülenir.Örneğin, Tables koleksiyon özellik bir Server nesne. Daha fazla bilgi için bkz:Koleksiyonlar kullanma.
Bir nesnenin özelliklerini özelliklerini üye koleksiyon.Properties derlemesi, her bir nesnenin özellik ile yinelemek için kullanılabilir.
Bazen bir özellik aşağıdaki nedenlerle kullanılamaz:
Sunucu sürüm bu özelliği desteklemez if gibi yeni bir temsil eden bir özellik erişmeye SQL Server eski bir sürüm özelliği SQL Server.
Sunucu veri sağlamak için özelliği, if gibi temsil eden bir özellik erişmeye çalıştığınızda bir SQL Server bileşeni yüklü değil.
Bu koşullara göre yakalama tanıtıcı UnknownPropertyException ve PropertyCannotBeRetrievedException SMO özel durum.
Varsayılan başlatma alanları ayarlama
Bir en iyi duruma getirme, SMO nesneleri alınırken gerçekleştirir.En iyi duruma getirme işlemini otomatik olarak aşağıdaki durumlar arasında ölçekleme yüklenen özellikler sayısını en aza indirir:
Kısmen yüklendi.Nesneyi ilk başvuruda bulunulursa, en az (ad ve Schema gibi) kullanılabilen özellikleri yoktur.
Tam olarak yüklenmiş.Herhangi bir özellik başvuruda bulunulursa, yüklemek, , hızlı olan diğer özellikler başlatılır ve kullanılabilir.
Büyük miktarda bellek kullanan özellikler.Çok fazla bellek ve diğer kullanılamayan özellikler kullanan bir Expensive() özellik değeri TRUE ( DataSpaceUsage()). Bu özellikler yalnızca özel olarak başvurulan yüklenir.
Uygulamanız ek özellikler, yanı sıra, Kısmen yüklenmiş durumda sağlanan olanları alıp yoksa bu ek özelliklerini almak için bir sorgu gönderir ve tam olarak yüklenmiş durumuna ölçekler.Bu, istemci ile sunucu arasındaki gereksiz trafiğe neden olabilir.Daha fazla en iyi duruma getirme çaðýrarak elde edilebilir SetDefaultInitFields(Boolean) yöntem. The SetDefaultInitFields(Boolean) yöntem allows specification of the properties that are loaded when the object is initialized.
The SetDefaultInitFields(Boolean) yöntem sets the özellik loading behavior for the rest of application or until it is reset. Özgün çalışma biçimine kullanarak kaydedebilirsiniz GetDefaultInitFields(Type) yöntem ve gerektiği gibi geri yükleme yükleyin.
Örnekler
To use any code example that is provided, you will have to choose the programming environment, the programming template, and the programming language in which to create your application. For more information, see "How to: Create a Visual Basic SMO Project in Visual Studio .NET" or "How to: Create a Visual C# SMO Project in Visual Studio .NET" in SQL Server Books Online.
Alma ve bir özellik Visual Basic'te ayarlama
Bu kod örneği, nasıl alabileceğinizi gösterir Edition() özelliği Information Nesne ve nasıl küme SqlExecutionModes() özelliği ConnectionContext() özellik için ExecuteSql üye SqlExecutionModes Enum türü.
Alma ve Visual C# [NULL]'bir özellik ayarlama
Bu kod örneği, nasıl alabileceğinizi gösterir Edition() özelliği Information Nesne ve nasıl küme SqlExecutionModes() özelliği ConnectionContext() özellik için ExecuteSql üye SqlExecutionModes Enum 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 çeşitli özellikler önce bir nesne ayarlama oluşturuldu
Bu kod örneği gösterir nasıl doğrudan küme AnsiNullsStatus() özellik Table Nesne ve nasıl oluşturulacağı ve oluşturduğunuz önce sütunları ekleme Table nesne.
Çeşitli özellikler önce bir nesne ayarlama Visual C# [NULL]'oluşturuldu
Bu kod örneği gösterir nasıl doğrudan küme AnsiNullsStatus() özellik Table Nesne ve nasıl oluşturulacağı ve oluşturduğunuz önce sütunları ekleme Table nesne.
{
//Connect to the local, default instance of SQL Server.
Server srv;
srv = new Server();
//Create a new table in the AdventureWorks database.
Database db;
db = srv.Databases("AdventureWorks");
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 nesne, tüm özellikleri üzerinden yineleme
Bu kod örneği, arasında dolaşır Properties topluluğu StoredProcedure Nesne ve bunları görüntüler Visual Studio Çıktı ekranı.
Örnekte, Property aynı zamanda olduğundan nesne köşeli ayraç içine put bir Visual Basic anahtar sözcük.
Visual C# Nesnesi'nde tüm özelliklerini kullanarak yineleme
Bu kod örneği, arasında dolaşır Properties topluluğu StoredProcedure Nesne ve bunları görüntüler Visual Studio Çıktı ekranı.
{
//Connect to the local, default instance of SQL Server.
Server srv;
srv = new Server();
//Set properties on the uspGetEmployeedManagers stored procedure on the AdventureWorks database.
Database db;
db = srv.Databases("AdventureWorks");
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ı ayarlama
Bu kod örneği, nesne özelliklerini bir SMO programında başlatıldı sayısını en aza gösterilmiştir.Eklemek istediğiniz using System.Collections.Specialized; deyim kullanmak için StringCollection nesne.
SQL Server Profiler Numara ifadeleri örneğine gönderilen karşılaştırmak için kullanılabilir SQL Server Bu iyileştirme.
Varsayılan başlatma alan Visual C# ile ayarlama
Bu kod örneği, nesne özelliklerini bir SMO programında başlatıldı sayısını en aza gösterilmiştir.Eklemek istediğiniz using System.Collections.Specialized; deyim kullanmak için StringCollection nesne.
SQL Server Profiler Numara ifadeleri örneğine gönderilen karşılaştırmak için kullanılabilir SQL Server Bu iyileştirme.
{
//Connect to the local, default instance of SQL Server.
Server srv;
srv = new Server();
//Reference the AdventureWorks database.
Database db;
db = srv.Databases("AdventureWorks");
//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 AdventureWorks.
//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);
}