Chyba #: 50001012 (SQL Hotfix)
Příznaky
V systému Microsoft SQL Server 2005 Service Pack 2 (SP2) můžou následující úlohy v plánu údržby za určitých okolností ztratit kontext databáze:
- Kontrola integrity databáze
- Provedení příkazu T-SQL
Pokud je například úloha Zkontrolovat integritu databáze nakonfigurována tak, aby kontrolovala integritu ve více databázích, bude opakovaně kontrolovat výchozí databázi.
V případě úlohy Execute T-SQL Statement (Provedení příkazu T-SQL) k tomuto problému dochází, pokud jsou splněny následující podmínky:
Úloha Execute T-SQL Statement obsahuje několik dávek.
Dávky jsou oddělené příkazem GO.
Žádné dávky nepoužívají k určení databáze příkaz USE.
Příkazy v jednotlivých dávkách neobsahují název databáze.
V tomto scénáři budou příkazy ve druhé dávce a v následujících dávkách prováděny ve výchozí databázi.
Poznámka: To, že k tomuto problému došlo, můžete potvrdit pomocí nástroje SQL Server Profiler. Při trasování provádění plánu údržby se podívejte do sloupce Databáze v nástroji SQL Server Profiler.
Řešení
K tomuto problému dochází v buildech 3042 až 3053 systému SQL Server 2005 a v buildech 3150 až 3158 systému SQL Server 2005. Pokud používáte build SQL Server 2005 SP2 v rozmezí 3042 až 3053, stáhněte a nainstalujte si následující důležitou aktualizaci z webu Microsoft Download Center.
Pokud chcete získat samostatný balíček s touto aktualizací, přejděte na web Katalog služby Microsoft Update.
Po instalaci této důležité aktualizace bude mít build SQL Serveru 2005 číslo 3054.
Další informace o stahování souborů podpory společnosti Microsoft naleznete v následujícím článku znalostní báze znalostní báze Microsoft Knowledge Base:
119591 Jak získat soubory podpory společnosti Microsoft od společnosti online služby Společnost Microsoft zkontrolovala tento soubor na výskyt virů. Společnost Microsoft použila ke kontrole antivirového softwaru nejnovější dostupný v době publikování souboru. Soubor je uložen na zabezpečených serverech, které pomáhají zabraňovat v neoprávněných změnách souboru.
Informace o souborech
Anglická verze této důležité aktualizace má následující (nebo pozdější) atributy souborů. Data a časy pro tyto soubory jsou uvedeny v čase UTC (Coordinated Universal Time). Při zobrazení informací o souboru jsou převedeny na místní čas. Rozdíl mezi místním časem a časem UTC naleznete na kartě Časové pásmo na panelu Datum a čas v okně Ovládací panely.
SQL Server 2005, 32bitová verze
| Název souboru | Verze souboru | Velikost souboru | Datum | Čas | Platforma |
|---|---|---|---|---|---|
| Microsoft.sqlserver.maintenanceplantasks.dll | 9.0.3054.0 | 296,304 | 23. března 2007 | 21:13 | x86 |
| Sqlaccess.dll | 2005.90.3054.0 | 350,576 | 23. března 2007 | 21:13 | x86 |
| Sqlservr.exe | 2005.90.3054.0 | 29,181,808 | 23. března 2007 | 21:13 | x86 |
SQL Server 2005, verze pro platformu x64
| Název souboru | Verze souboru | Velikost souboru | Datum | Čas | Platforma |
|---|---|---|---|---|---|
| Microsoft.sqlserver.maintenanceplantasks.dll | 9.0.3054.0 | 296,304 | 23. března 2007 | 21:13 | x86 |
| Sqlaccess.dll | 2005.90.3054.0 | 357,744 | 24. března 2007 | 02:40 | x86 |
| Sqlservr.exe | 2005.90.3054.0 | 38,516,080 | 24. března 2007 | 02:40 | x64 |
SQL Server 2005, verze pro počítače s procesorem Itanium
| Název souboru | Verze souboru | Velikost souboru | Datum | Čas | Platforma |
|---|---|---|---|---|---|
| Microsoft.sqlserver.maintenanceplantasks.dll | 9.0.3054.0 | 296,304 | 23. března 2007 | 21:13 | x86 |
| Sqlaccess.dll | 2005.90.3054.0 | 352,112 | 24. března 2007 | 03:59 | x86 |
| Sqlservr.exe | 2005.90.3054.0 | 72,583,024 | 24. března 2007 | 03:59 | ia64 |
Pokud používáte libovolný build systému SQL Server 2005 SP2 v rozsahu 3150 až 3158, naleznete další informace v následujícím článku znalostní báze znalostní báze Microsoft Knowledge Base:
934459 OPRAVA: Úlohy Zkontrolovat integritu databáze a Provedení příkazu T-SQL v plánu údržby můžou za určitých okolností v buildech 3150 až 3158 SQL Server 2005 ztratit kontext databáze
Chcete-li tuto důležitou aktualizaci získat automatizovaným způsobem, navštivte následující web služby Microsoft Update:
https://update.microsoft.comPo instalaci této důležité aktualizace bude mít build SQL Serveru 2005 číslo 3161.
Další informace o tom, jak zjistit verzi a edici systému SQL Server, naleznete v následujícím článku znalostní báze znalostní báze Microsoft Knowledge Base:
321185 Jak poznat verzi a edici SQL Server
Stav
Společnost Microsoft potvrdila, že se jedná o problém produktů Microsoft, které jsou uvedeny v sekci Platí pro.
Další informace
V původní vydané verzi systému SQL Server 2005 SP2 a starších verzích se příkazy související s úkoly plánu údržby shromažďují a poté spouštějí současně. Dojde-li k chybě, úlohy již nejsou prováděny a zbývající úlohy údržby nejsou prováděny. V systému SQL Server 2005 SP2 se jednotlivé dávky odesílají jednu po druhé. V původní vydané verzi produktu SQL Server 2005 SP2 bylo připojení k databázi mezi dávkami resetováno. Pozdější dávky byly ponechány v kontextu výchozí databáze místo v kontextu, který byl přítomen před spuštěním příkazu GO. Ovlivněné úlohy závisely na kontextu, který byl přítomen před spuštěním příkazu GO, konkrétně na úloze Zkontrolovat integritu databáze a úloze Provést příkaz T-SQL.