Makale numarası: 242391 - Bu makalenin geçerli olduğu ürünleri görün.
Bu makalenin amacı, geliştirme ve SQL Server 7.0 Data Transformation Services (DTS) paketlerinin dağıtımını yardımcı olacak bazı ayrıntılı bilgiler sağlamaktır. Paket performansını artırma için ipuçları da sağlanmıştır.
SQL Server 2000'de bu konu hakkında daha fazla bilgi için SQL Server Books Online'da bakın.
Veri bağlantıları esnek bir hale getirmeBir DTS paketini bir tamamen bulunan kendi kendini birimidir. Tasarım zamanında UDLs ve ODBC DSN bile bağlantı bilgilerini bağlantı özelliklerini koleksiyon, tüm bağlantı bilgilerini okuyun. Paket oluşturduktan sonra ODBC DSN veya OLEDB UDL değiştirirseniz, bu paket üzerinde etkisizdir. Bu paketler geliştirme ortamından üretim için geçirilecek çalışırken hatırlamanız önemlidir.
SQL Server veri bağlantıları'nı kullandığınızda, (yerel) sunucu adı için sunucu adını paketi yürütme zaman çözümlenen başlatıldığından bu yana, sunucular için paket taşımak kolaylaştırmak için kullanın. Bu yaklaşımın bir tek uyarı bu paketi çalıştırmak ve SQL göre düzenlenmiş gerektirmesidir Server bilgisayarın kendisi.
Çalışma zamanında paketi özelliklerini değiştirmek için ActiveX komut dosyası herhangi bir görev veya sarmalayıcı programı kullanabilirsiniz. Paketten kendi içinde değiştirmek için <a0></a0>, veri pump görevleri önündeki bir ActiveX komut dosyası görev oluşturabilir ve sonra da çalışırken, paketin değiştirin. Paket DTSGlobalVariables.Parent başvuru için bir tanıtıcı elde etmek için <a0></a0>. Buradan, biraz programlama yetenek gerektirse de, paket özellikleri değiştirebilirsiniz.
SQL Books Online'da konu seçin (bir ActiveX komut dosyası DataSource bağlantısı özelliğiyle konusunda, "ActiveX komut dosyası görevler" den verilmiştir:
daha fazla denetim istiyorsanız ve sizin için daha fazla kodlama sorun değil, yeniden çalıştırmadan önce bir dış program paketiyle değiştirmek veya sıfırdan paket oluşturma göz önünde bulundurun.
Bir programı yüklemek ve bir paket oluşturmak için <a0></a0>, DTS sihirbaz veya DTS Tasarımcısı'nı kullanarak şablon paketi oluşturun ve kaydedin. Bir Visual Basic programı paketi yükler ve istediğiniz özellikleri değiştirir, sonra paketi nesnesinde paketi çalıştırmak için Execute yöntemini çağırın yazın.
Sıfırdan bir paket oluşturmak için bir program oluşturmak için <a0></a0>, DTS sihirbaz veya DTS Tasarımcısı'nı kullanarak bir prototip paketi oluşturmak ve sonra da yerel SQL sunucusuna kaydedin. ScriptPkg yardımcı programı, paketi kodu için bir şablon oluşturmak için aşağıdaki Microsoft Knowledge Base makalesinde kullanın:
239454Bu şablon, başvuru olarak kullanarak, kullanıcı girişini temel alan bir paket oluşturmak için kendi kodunuzu yazın.
(http://support.microsoft.com/kb/239454/EN-US/ ): INF DTS nesne modeli Yardım kullanma DTS kodu alanı'ndaki ScriptPkg aracı programsal olarak oluşturur
Her ikisi de önceki durumlar için Visual Basic projesinin Microsoft DTSPackage Nesne Kitaplığı'na bir başvuru olması gerektiğini unutmayın.
ÖNEMLI: ana iş parçacığı üzerinde yürütülecek bir paket, Visual Basic ve izleme paketi veya görev olayları yazılan bir programdan çalıştırmak, paketindeki tüm adımları yapılandırılmalıdır. Bu Visual Basic'te, aynı anda birden çok çağrı olaylarını düzgün işleme engelleyen bir sınırlama kaynaklanmaktadır.
Global değişkenler paketleriyle denetlemeGenel değişkenler, ActiveX komut dosyası görevleri, iş akışı komut dosyaları ve ActiveX dönüştürmeleri erişilebilir. Bunlar, doğrudan SQL deyimlerini veya bağlantı özellikleri kullanılamaz. Ancak, bir <a0>ActiveX</a0> komut görevi, bir SQL deyimini veya bir genel değişkeni dayalı olan bağlantı özelliklerini değiştirmek için kullanılabilir. 'Booktype' adlı genel değişkeni üzerinde temel veri pump görev için SQL deyimini değiştirmek için kullanılan ActiveX komut dosyası görevinin bir örnek:
Not: bir görevin açıklamasını DTS Tasarımcısı ' görüntülenir, ancak göreve ActiveX komut dosyasındaki'doğrudan başvuracak biçimde kullanılamaz. Görevin adını, bir ActiveX komut dosyasından görev başvurmak için kullanılmalıdır. Iş akışı özellikleri görev bakma adını adım adını almak için <a0></a0>. Görev adı adım 'Task'ile ' yerine 'Adım' sözcüğü dışında aynıdır. Örneğin, DTSStep_DTSDataPumpTask_1 DTSTask_DTSDataPumpTask_1 olur.
Bir DTS paketi için geçirme parametreleriDTSRun program paketin yürütülmesi sırasında geçirilen komut satırı parametreleri kabul etmez. Çalışma zamanında bir paket için bilgi aktarmak için <a0></a0>, Parametreler olmalı bir dosyadan okuma veya bir veritabanı tablosunun programsal olarak sorgulanan.
Not: SQL Server 2000 araçları veya SQL Server 2000 adlandırılmış bir örneği SQL Server 7.0'ın varsayılan örneği olarak yüklü olduğu bir sunucuda yüklüyse DTSRun programı komut satırı parametresini kabul edebilir /A içine bir SQL Server 7.0 DTS paketi tanımlanan genel değişkenler, komut satırından değerleri geçirmek için.
Bir satır için bir genel değişkeni bir metin dosyasından okur bir ActiveX komut dosyası görev örneği şöyledir. Bu genel değişkeni, daha sonra bu makalenin "Paketleri genel değişkenleri ile denetlemek" bölümünde gösterilen paketi davranışını değiştirmek için kullanılabilir.
Aşağıdaki örnek, bir ActiveX komut dosyası görev parametreleri, bir SQL Server tablosundan okumak için nasıl kullanılacağını gösterir. Kod, my_param_table paramvalue sütununun değerini okur ve genel değişken olarak belirlemek için kullanır. Bu örnek, SQL Server ile etkileşim kurmak için SQL Distributed Management Objects (DMO) kullanır, ancak aynı şey, ActiveX Data Objects (ADO) veya başka bir veri erişim yöntemini kullanarak yapabilirsiniz.
Visual Basic'te DTS görevler özel yazılıyorVisual Basic'te özel DTS görevleri yazılamıyor olabilir. Visual Basic'te, bir kullanıcı ARABIRIMI olmadan bir özel görev örneği, SQL Server CD'sini \Devtools\Samples\DTS dizinindeki kullanılabilir. Karşılaşılan DTS içinde özel Visual Basic görevlerle ilgili bazı sık karşılaşılan sorunlar şunlardır:
Kod DTS Packages nasıl hakkında bilgi edinmeSQL 7. 0'da, vardır birkaç örnek \Devtools\Damples\DTS klasörü altında CD-ROM'undaki. Bunlar, örnek bir özel görev (Visual Basic) ve bir özel dönüştürme (C++) içerir. Bazı örnek paketleri de yürütülebilir DTSDemo.exe ayıklama kendi kendini durumdadır.
Dtsdemo.exe bir parçası olan ScriptPkg çok yönlü örnektir. ScriptPkg Visual Basic koduna yerel sunucuya kaydedilen bir paket dönüştüren Visual Basic kaynak kodunu içerir. Bu örnek için en iyi şekilde kullanılır:
DTS paketi performans geliştirme
Parallel yükü kullanmaDTS paralel olarak birden çok görevi çalıştırabilen ' dir. Ancak, her bağlantı, bir DTS paketini bir kerede yalnızca bir iş parçacığının işleyebilir. Bu durum, aşağıdaki veri pumps'paketteki tüm sıralanmış, anlamına gelir:
A, B ve B-> A->Bağlantı için aynı veya farklı simgeleri kullanın olup olmadığını fark yapar.
A, B ve C-> A->
A, B ve C, B->->
Görevleri paralel olarak yürütülmesini almanın tek yolu, farklı adlarla aynı veritabanını birden çok bağlantı oluşturmaktır. Örneğin A-> B ve C, D-> yürütülen paralel bile, B ve b olan sunucuyu ve veritabanını farklı bağlantılar.
Öncelik kısıtlamaları, görev yürütme sırasında zorlamak ve gerektiği gibi seçili görevler için parallelism engellemek için kullanılabilir.
Kayıt boyutu EkleEn önemli parametre ve veri pump görevdeki Commit boyutu Ekle ' dir. Bu özellik, yalnızca hedef SQL Server olduğunda geçerlidir. Bu toplu işlem edinmiştir eklenmesini kaç satır olduğunu denetler. Varsayılan olarak bu 0; tüm satırları tek bir işlem parçasıdır. Herhangi bir hata SQL Server tüm değişiklikleri geri alır, çünkü en güvenli ayar budur. Ancak, çok büyük bir işlem günlüğü gerektirir, yol çok uzun yanıt süresini Paketi iptal edildi ve sayaç gibi üretken, tek bir satırda büyük bir yük sonunda tüm yükü başarısız olmasına neden olduğunda. Fark duraklama satırları kabul edilendir, ancak her <a0>commit</a0> aralığının sonunda görünür. Bir kayıt boyutu 0 en hızlı, ancak 10.000 iyi diğer değerler, azalan 1000 ve 1 içinde sırasıyla hızlandırın. 1, yalnızca 1 satır herhangi bir hata döndürülüyor için yararlıdır.
Ekleme tamamlama boyutu 0 ise hata sayısı her numara > 1 olarak ayarlamanın hiçbir etkisi olduğunu unutmayın. Hata sayısı hatasız satırların sayısını değil hareketleri sayar.
SQL Server 7. 0'dönüşümü veri görev özellikleri <a1>Gelişmiş</a1> sekmesinde Veri taşıma bölümünde Ekle Commit boyut değeri ayarlayabilirsiniz.
DTS ve dağıtılmış hareketleriDTS paketlerini, DTC destekleyen sağlayıcılar için dağıtılmış işlemler için destek sağlar. DTC hizmetinin çalışması paket ve adım hareketlerinde çalıştırıyor olmalısınız. Buna ek olarak, hareketin her sağlayıcıda DTC desteklemelidir.
Paket hareket özellikleri, paket özellikleri'nin Gelişmiş sekmesinde denetlenir.
Varsayılan olarak, her bir paket adımda bu kendi hareketleri işleme ve kendi üzerinden DTC hareketleri düzenlemez. Göreve bir DTC hareketinde listeleme "varsa, hareket alanına" onay kutusunu görevinin iş akışı özellikleri ayarlamanız gerekir. Görev için diğer bir DTC işlem seçeneklerini olan "Tamamlama işlem başarıyla tamamlandığında, bu adımı" ve "Başarısızlık hareketi geri alma".
Not Microsoft Transaction Server (MTS) paketleri desteklemez.
Hata iletisiYerel veritabanı sunucusu arasında paket bağlantı için kullandığınız paketi, daha sonra başka bir sunucudan düzenleniyor ve o kişinin sırasında dönüşümler aramak ister, aşağıdaki hata iletisini oluşur:
Hata kaynağı: Microsoft OLE DB Provider for SQL Server hata açıklaması: oturum açma 'xxxxxxx' istenen veritabanı açılamıyor. Oturum açma başarısız:."
Makale numarası: 242391 - Last Review: 25 Kasım 2002 Pazartesi - Gözden geçirme: 1.2
Machine-translated Article
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir:242391
(http://support.microsoft.com/kb/242391/en-us/ )