Mivel a globális címet egy másik ideiglenes tábla Az ülés verem túlcsordulás az orosz
Global ideiglenes táblák témához minden ülés. A globális ideiglenes táblákat automatikusan törlődnek az edzés véget ér. Hozzon létre egy táblázatot, és megszűnik hivatkozva azt összes többi feladatot. Hogyan kihasználni globális ideiglenes tábla másik ülésen? Például egy tárolt eljárást hoz létre egy ideiglenes táblát és a globális fit adatok ebben a táblázatban, és egyéb kezelési eljárások megy globális ideiglenes tábla
Mi fellebbezést a globális ideiglenes tábla másik eljárás:
Ez lehetséges? Ha nem, van más megoldás? Vagy talán, lehetséges, hogy azért, hogy a táblázat nem törlődik az edzés véget ér?
állítsa március 9 '16 at 14:37
A globális ideiglenes táblákat automatikusan törlődnek a végén az ülés, amely megteremtette az asztalra, és a kezelés befejezése számukra összes többi feladatot.
Ez így van. ## Ha egy táblázat jön létre egy session, és elérhető a többi ülés, ahol rendelkezésre áll, míg az első ülésen nem zárt, vagy az asztalon ## fellebbezés áll fenn a másik ülés. És ami még fontosabb, van egy kezelés különösen ebben az időpontban, hanem attól, hogy valaha is utána.
Hogyan működik látható a következő példa. Hozzunk létre két egyidejű ülés.
és hagyja a munkamenet-ig tart nyitva.
Megkapjuk az adatokat, hogy már betöltötte a táblázat 1. szekcióban, mint várták. Most a 2. munkamenetben kérdés:
ez okozza a zár ## t (a legtöbb „igénybevétele”).
1. szekció már közel van, és a 2. munkamenetben kérdés:
Míg 1. ülés, amely azért jött létre ## tábla már zárva van, az első minta sikeres lesz, mert ## t-ben készített érintkező munkamenetek 2. Miután a tranzakció befejezése (COMMIT) 2 munkamenetek fordulnak elő a felszabadulás ## t. valamint ülésén iniciátor már zárva van, a ## t azonnal el kell távolítani. Ennek megfelelően a második minta befejezte a hiba.
Hogyan kihasználni globális ideiglenes tábla másik ülésen?
Mivel Ön ezt, de mint látható a fenti példában bemutatott, vannak árnyalatok vonatkozó ## táblázatok az életciklus.
A helyzettől függően, a következő lehetőségek közül:
- Tartsa a munkamenet, amely megteremtette az asztal ##, nyitott idején hozzáféréshez más ülés. Ez talán a legegyszerűbb és legkevésbé problémás lehetőség, kivéve, persze, az építészet, az alkalmazás lehetővé teszi, hogy használja azt.
- ## Akkor táblát létrehozni egy ülésben, aztán egy másik ülésen, hogy a tapadást, amelyben elfogadható zár, ami után a munkamenet, amely megteremtette az asztal ## lehet zárni.
- Bizonyos esetekben az alkalmazás logikáját engedheti meg magának, hogy nem léteznek-e / létrehozása / töltő ## táblázatok minden alkalommal, ahol szükség van rá. Ebben az esetben az eljárás megindításáról kódot lehet venni egy külön eljárást, majd on-szükségessége egyes ülésszakok.
- Ha a fenti lehetőségek nem illik, akkor lehet a jele, hogy a ## táblákat próbálják megoldani a problémát, amely valóban meg kell oldani segítségével állandó táblákat.
- Van még néhány alternatíva között ## és állandó táblák -, hogy hozzon létre egy állandó táblázatot tempdb (fognak létezni, amíg a következő újraindítás sqlserver). Azonban én személy szerint úgy gondolja, ez a módja „piszkos”.
Válaszol március 10 '16 7:30