Komut dosyası
SMO içinde komut dosyası kullanan kullanan dosyası kullanan tarafından denetlenen Scripter Nesne ve alt nesnelerine veya Script tek tek nesneler üzerinde yöntem. The Scripter object controls the mapping out of dependency relationships for objects on an instance of Microsoft SQL Server.
Kullanarak komut dosyası kullanan kullanan dosyası kullanan Gelişmiş Scripter üç aşamalı bir işlem nesnesi ve alt nesnelerine şöyledir:
Bulma
Liste oluşturma
Komut dosyası oluşturma
Bulma aşama kullanan DependencyWalker nesne. Nesneleri bir URN listesi verilen DiscoverDependencies(array<SqlSmoObject[], DependencyType) yöntem DependencyWalker verir nesne bir DependencyTree nesneleri URN listesinde nesnesi. Boole değeri fParents parametre üst veya alt nesnenin belirtilen bulunmuş olup seçmek için kullanılır. Bağımlılık ağacı, bu aşamada değiştirilebilir.
Liste oluşturma aşaması, konsol ağacında, içinde geçirilir ve listesinde döndürülür.Bu nesne listesi, sipariş komut dosyası kullanan kullanan dosyası kullanan içinde olur ve el ile hareket ettirilebilen.
Liste oluşturma, kullanma phases WalkDependencies(DependencyTree) verilecek yöntem bir DependencyTree. The DependencyTree can be modified at this stage.
Üçüncü ve son aşamasında, belirtilen liste ve komut dosyası kullanan kullanan dosyası kullanan seçeneklerini komut dosyası kullanan kullanan kullanan dosyası kullanan oluşturulur.Sonuç olarak döndürülen bir StringCollection Sistem nesnesi. Bu aşamada, bağımlı nesne adlarını sonra öğeleri koleksiyonundan ayıklanır DependencyTree Nesne ve gibi özellikleri NumberOfSiblings() ve FirstChild().
Örnek
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 bkz: Nasıl Yapılır: Visual Studio. NET'te bir Visual Basic SMO projesi oluşturma veya Nasıl Yapılır: Visual Studio. NET'te bir Visual C# SMO Proje oluşturma.
Bu kod örneği gerektiren bir Imports System.Collections.Specialized ad alanı bildirimi. Bu diğer ımports ifadeleri, uygulamadaki tüm bildirimlerden önce yerleştirin.
Imports Microsoft.SqlServer.Management.Smo
Imports Microsoft.SqlServer.Management.Common
Imports System.Collections.Specialized
Visual Basic'te bir veritabanı için komut dosyası kullanan kullanan dosyası kullanan bağımlılıklar
Bu kod örneği, bağımlılıklar bulmak ve sonuçlar görüntülemek için listede yinelemek gösterilmiştir.
Bir veritabanında Visual C# için komut dosyası kullanan kullanan dosyası kullanan bağımlılıklar
Bu kod örneği, bağımlılıklar bulmak ve sonuçlar görüntülemek için listede yinelemek gösterilmiştir.
//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 Scripter object and set the required scripting options.
Scripter scrp = default(Scripter);
scrp = new Scripter(srv);
scrp.Options.ScriptDrops = false;
scrp.Options.WithDependencies = true;
//Iterate through the tables in database and script each one. Display the script.
//Note that the StringCollection type needs the System.Collections.Specialized namespace to be included.
Table tb = default(Table);
Urn[] smoObjects = new Urn[2];
foreach ( tb in db.Tables) {
smoObjects = new Urn[1];
smoObjects(0) = tb.Urn;
if (tb.IsSystemObject == false) {
StringCollection sc = default(StringCollection);
sc = scrp.Script(smoObjects);
string st = null;
foreach ( st in sc) {
Console.WriteLine(st);
}
}
}
}