INF: DTS balíček vývoj, nasazení a výkonu

Důležité: Tento článek byl přeložen pomocí software společnosti Microsoft na strojový překlad, ne profesionálním překladatelem. Společnost Microsoft nabízí jak články přeložené překladatelem, tak články přeložené pomocí software na strojový překlad, takže všechny články ve Znalostní databázi (Knowledge Base) jsou dostupné v češtině. Překlad pomocí software na strojový překlad ale není bohužel vždy dokonalý. Obsahuje chyby ve skloňování slov, skladbě vět, nebo gramatice, podobně jako když cizinci dělají chyby při mluvení v češtině. Společnost Microsoft není právně zodpovědná za nepřesnosti, chyby nebo škody vzniklé chybami v překladu, nebo při použití nepřesně přeložených instrukcí v článku zákazníkem. Společnost Microsoft aktualizuje software na strojový překlad, aby byl počet chyb omezen na minimum.

Projděte si také anglickou verzi článku:242391
Tento článek byl archivován. Je nabízen v takovém stavu, v jakém je, a nebude již nadále aktualizován.
Souhrn
Účelem tohoto článku je poskytnout některé podrobné informace pomoci v vývoj a nasazení balíčků SQL Server 7.0 Data Transformation Services (DTS). Tipy pro zvýšení výkonu balíčku jsou také k dispozici.

Informace o této problematice SQL Server 2000 v tématu SQL Server Books Online.
Další informace

Provádění přizpůsobitelné datová připojení

Balíček DTS je zcela vlastní obsažené jednotka. Všechny informace o připojení číst do kolekce vlastností připojení v době návrhu dokonce připojení informace v UDLs a ODBC DSN. Pokud změníte ODBC DSN nebo OLEDB UDL po vytvoření balíčku, tato změna nemá vliv na balíček. To je důležité pamatovat při pokusu přenést balíčky z vývojového prostředí výroby.

Při použití připojení dat SQL Server použít pro název serveru provést přesunout balíček server server, protože název serveru je vyřešen v době spuštění balíčku (místní). Jeden caveat na tento přístup je, že vyžaduje být balíček spouštět a upravovat SQL počítači server samotného.

Také můžete úkol skript ActiveX nebo program obálky upravit vlastnosti balíčku při spuštění. Upravit balíček z v rámci samotné vytvořit skript ActiveX úkol, který předchází úkoly čerpadlo dat a upravit balíček při jeho spuštění. Získat popisovač odkaz balíček DTSGlobalVariables.Parent. Odtud můžete změnit libovolné vlastnosti balíčku, ačkoliv vyžaduje trochu programování dovednosti.

Následuje příklad z SQL Books Online tématu, "ActiveX Script úkoly" Postup při změně vlastnosti DataSource připojení s skript ActiveX:
   Function main()   dim oPackage   dim oConn     'Get package object     set oPackage = DTSGlobalVariables.parent     'Get a handle to the desired connection.     set oConn = oPackage.connections(1)     'Modify the datasource.     oConn.datasource = "newServerName"     'Release object handles.     set oPackage = nothing     set oConn = nothing    Main = DTSTaskExecResult_SuccessEnd function				
chcete další ovládací prvek a není mozek i více kódování, zvažte před je spustit úpravou balíček s externí program nebo vytvoření balíčku od začátku.

Vytvořit program načíst a upravit balíčku vytvořte balíček šablony pomocí Průvodce DTS nebo Návrhář DTS a uložte jej. Zapisovat program jazyka, který načte balíček a upravuje požadované vlastnosti a potom na objekt balíček spuštěním balíčku volání metody Execute.

Vytvořit program generovat balíčku od začátku, vytvořit prototyp balíčku pomocí Průvodce DTS nebo Návrhář DTS a uložit na místní server SQL. Vytvořit šablonu pro kód balíček pomocí nástroje ScriptPkg v následujícím článku znalostní báze Microsoft Knowledge Base:
239454INF: ScriptPkg Tool generuje kód modelu objektu DTS nápovědy používat DTS programová
Pomocí této šablony jako odkaz, psát vlastní kód generovat balíček na základě vstupu uživatele.

Všimněte si, že pro obě předchozí situacích projektu jazyka potřebuje mít odkaz Microsoft Object Library DTSPackage.

Důležité: Při provádění balíčku od program napsaný v jazyka a sledování balíček nebo úkol události všechny kroky v balíčku musí být nakonfigurován na spouštění hlavní podproces. To je omezení v jazyka, který brání správně zpracování více souběžných volání jeho události.

Řízení balíčků s globální proměnné

Globální proměnné jsou přístupné z ActiveX skriptu úkoly, Workflow skripty a transformací ActiveX pouze. Nemůže být použit v příkazech SQL nebo vlastnosti připojení. Však úkolu skript ActiveX lze upravit příkaz SQL nebo vlastnosti připojení na základě globální proměnné. Zde je příklad skriptu úkolu ActiveX, které lze změnit příkaz SQL pro úkol čerpadlo dat na základě globální proměnnou s názvem 'booktype:
Function Main()   dim oPackage   dim oPump        'Get a handle to the Package object.	set oPackage = DTSGlobalVariables.Parent	'Get a handle to the desired Datapump Task.	set oPump = oPackage.Tasks("DTSTask_DTSDataPumpTask_1").CustomTask   	'Alter the datapump SQL statement.	oPump.SourceSQLStatement = "select * from pubs..titles WHERE type _  = ''" + DTSGlobalVariables("booktype") + "''"	Main = DTSTaskExecResult_SuccessEnd Function				
Poznámka: Popis úkolu je zobrazena v Návrháři DTS, ale používá přímého odkazu úkolu v skript ActiveX. Chcete-li odkazovat na úkol ze skriptu ActiveX by měly sloužit název úkolu. Získat název úkolu prohlédnout vlastnosti pracovního postupu pro název kroku. Název úkolu je stejné jako krok kromě slovo 'krok nahrazen 'úloh. Například DTSStep_DTSDataPumpTask_1 stane DTSTask_DTSDataPumpTask_1.

Předávání parametrů k balíčku DTS

DTSRun program nepřijímá žádné parametry příkazového řádku mohou být předány do balíčku v době provádění. K předání informací o balíčku při spuštění, musí být parametry čtení ze souboru nebo programově dotazovaný z tabulky databáze.

Poznámka: Pokud nástroje SQL Server 2000 nebo pojmenovaná instance SQL Server 2000 je nainstalována na serveru byla nainstalována jako výchozí instance serveru SQL Server 7.0, může program DTSRun přijmout parametr příkazového řádku /A hodnoty předat do globální proměnné definované v balíčku DTS SQL Server 7.0 z příkazového řádku.

Zde je příklad úloh skript ActiveX, který čte řádku z textového souboru nastavit globální proměnné. Tuto globální proměnnou by pak použita ke změně chování balíček znázorněno v tomto článku v části "Řízení balíčků s globální proměnné".
Function main()  Dim fso	'This will serve as a handle to a file system object.  Dim ofile	'Handle for accessing a file.    'Get a file system object for manipulation files.    Set fso = CreateObject("Scripting.FileSystemObject")    'Open the text file.    Set ofile = fso.OpenTextFile("c:\test.txt")    'Read line from the file into the global variable.    DTSGlobalVariables("myGlobalVar").Value = ofile.ReadLine    'Close the "parameter" file.    ofile.Close    Main = DTSTaskExecResult_SuccessEnd function				
Následující příklad ukazuje, jak číst parametry z tabulky serveru SQL pomocí úkolu skript ActiveX. Kód přečte hodnotu sloupce paramvalue v my_param_table a používá k nastavení globální proměnné. Tento příklad používá SQL Distributed Management Objects (DMO) k interakci s SQL Server, ale totéž můžete provádět pomocí ActiveX Data Objects (ADO) nebo jinou metodu dat přístup.
Function main()Dim oServer 		'DMO Server object.Dim oResult		'Result set.Dim sParamValue	'Create a SQLDMO server object.	Set oServer =  CreateObject("SQLDMO.SQLServer")	' Make a connection to the local server.	oServer.Connect ".", "sa"	'Select the desired row from the table.	set oResult = oServer.Databases("pubs").ExecuteWithResults_("select  paramvalue from  my_param_table")	'Retrieve the first row, first column from the results.	sParamValue = oResult.GetColumnString (1,1)	'Set the global variable.	DTSGlobalVariables("MyGlobalVar").Value = sParamValue	Main = DTSTaskExecResult_SuccessEnd function				

Psaní vlastní úkoly DTS jazyka

Je možné zapsat vlastní úkoly DTS jazyka. Příklad vlastní úkol v jazyka bez uživatelské ROZHRANÍ je k dispozici v adresáři \Devtools\Samples\DTS na disku CD-ROM SQL Server. Několik běžných problémů zjistil při obchodování s vlastní úkoly jazyka v DTS jsou následující:
  1. Vlastní úkoly zapsány jazyka, které implementují rozhraní jako DTS.CustomTaskUI musí implementovat každých událost v rozhraní nebo jejich způsobí narušení přístupu.
  2. Pokud vyvíjíte jazyka vlastní úkol s uživatelské ROZHRANÍ, je vhodné použít SQL Server Service Pack 1 (SP1). SP1 zahrnuje několik vylepšení usnadnění UI vývoje.
  3. Úkoly jazyka jsou podprocesy, zatímco DTS volné podprocesy typu apartment. K provedení úkolu zapsány jazyka ji musí být provedeny na hlavní podproces nebo způsobí narušení přístupu. DTS nastaví odpovídající příznak ve výchozím nastavení. Uživatel by měl změnit není tento příznak.

Získání informací o jak kód DTS balíčků

V SQL 7.0 existuje několik ukázek na disku CD-ROM ve složce \Devtools\Damples\DTS. Patří ukázkové vlastní úkol (Visual Basic) a vlastní transformace (C++). Některé balíčky ukázkové jsou také vlastní extrahování spustitelný DTSDemo.exe.

Je nejuniverzálnějším například ScriptPkg, který je součástí Dtsdemo.exe. ScriptPkg obsahuje zdrojový kód jazyka, který převádí balíček uložen do místního serveru do kódu jazyka. Tento příklad je nejvhodnější pro:
  1. Pomocí skriptů stávající balíček DTS výrobu příklady jazyka.
  2. Ukazující postup kód ovladač flatfile DTS, která není popsána v SQL Books Online.
  3. Balíček převod na text, takže mohou být sledovány SourceSafe a přidán.
Následuje několik známých problémů s příkladem ScriptPkg:
  1. Vyhledávání pro čerpadlo data, která není správně scripted.
  2. Pokud balíček je příliš velký pak nemůže být text, generován považovány jednu funkci v jazyka kvůli omezení na počet řádků v jednu funkci. Budete mít soubor skriptu rozdělit více funkcí na vlastní získat kompilovat kód jazyka.

Zvýšení výkonu DTS balíčku

Pomocí paralelního načítá

DTS je schopen paralelně spuštěných více úloh. Každé připojení v balíčku DTS však pouze může zpracovávat jeden podproces současně. To znamená, že následující čerpadla dat v balíčku jsou všechny serializovat:

A-> B a A B->
A-> B a A-> C
A-> B a C-> B

Zda použít stejné nebo odlišné ikony pro připojení díky žádný rozdíl.

Pouze způsob, jak získat paralelní provádění úkolů je více připojení ke stejné databázi vytvořit s různými názvy. Například A-> B a C-> D jsou spouštěny paralelně i v případě, že B a D jsou různá připojení na serveru a databáze.

Omezení přednost lze vynutit pořadí provádění úloh a zabránit parallelism pro vybrané úkoly podle potřeby.

Vložit svěření velikost

Nejdůležitější parametr na úkolu čerpadlo dat je Vložit potvrdit velikost. Tato vlastnost je relevantní pouze při cíl je SQL Server. Určuje, kolik řádků jsou hromadně vložili před transakce je potvrzena. Ve výchozím nastavení je to 0; všechny řádky jsou součástí jediné transakce. Toto je nejbezpečnější nastavení, protože na jakékoli chyby SQL Server vrátí všechny změny. Však může vyžadují velmi velké transakce protokolu, vést k velmi dlouhá doba odezvy při zrušena balíčku a čítač být produktivnější při způsobuje jeden řádek na konci velké zatížení celé zatížení selhat. Znatelné pozastavení je vidět na konci každého intervalu potvrzení, zatímco jsou potvrzené řádky. Potvrzení velikost 0 je nejrychlejší, ale jiné dobrý hodnoty jsou 10 000, 1 a 1000 v pořadí snížení rychlosti. 1 je užitečná, protože pouze 1 řádek, je vrácena zpět na libovolné selhání.

Všimněte si, že nastavení počtu chyba libovolné číslo 1 > Pokud nemá žádný vliv velikost vložit potvrzení je 0. Počet chyb spočítá počet transakcí s chybami, není počet řádků.

V SQL Server 7.0 můžete nastavit hodnota Vložit potvrdit velikost v části Přesun dat na kartě Upřesnit vlastnosti transformace dat úkolu.

DTS a distribuovaných transakcí

Balíčky DTS poskytují podporu pro distribuované transakce zprostředkovatelé, kteří podporují DTC. Balíček a krok transakce pracovat, musí být spuštěna služba DTC. Každý zprostředkovatel transakce navíc musí podporovat DTC.

Vlastnosti balíčku transakce jsou řízena na kartě Upřesnit vlastnosti balíčku.

Ve výchozím nastavení zpracovává jeho vlastní transakce každý krok v balíčku a není koordinovat transakce jeho prostřednictvím DTC. Zařazení úloh v transakci DTC musíte nastavit políčko "spojení transakce, pokud existuje" ve vlastnosti úlohy pracovního postupu. Jsou jiné možnosti transakci DTC pro úkol "Svěření transakce na úspěšné dokončení tohoto kroku" a "Odvolací transakce při selhání"

Poznámka: balíčky nepodporují Microsoft Transaction Server (MTS).

Chybová zpráva

Při použití místní databáze serveru pro připojení z balíčku a balíčku je pak upravovat z jiného serveru a osoba chce podívejte transformace, dojde k následující chybová zpráva:
Chyba Zdroj: Zprostředkovatele Microsoft OLE DB pro SQL Server popis chyby: Nelze otevřít databázi požadované přihlášení 'xxxxxxx. Přihlášení se nezdaří."
DTS, ActiveX, Data Transformation Services

Upozornění: Tento článek je přeložený automaticky

Vlastnosti

ID článku: 242391 - Poslední kontrola: 12/05/2015 16:02:53 - Revize: 1.2

Microsoft SQL Server 7.0 Standard Edition

  • kbnosurvey kbarchive kbmt kbinfo KB242391 KbMtcs
Váš názor