Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Maximala antalet tabeller i en SELECT-sats

Postades av 2007-11-26 16:23:07 - Daniel Gerhardson, i forum sql-server/msde, Tråden har 2 Kommentarer och lästs av 1105 personer

Hej

Jag använder SQL Server SP4

Nu har jag ärvt en databas med en stored procedure som returnerar felet
"Could not allocate ancillary tabel for view or function resolution. The maximum number of tables in a query (260) was exceeded."

Proceduren är rätt komplex, den läser mellan två databaser och ställer frågor mot en rad vyer och en funktion men knappast mot totalt 260 stycken tabeller. Problemet är att jag inte är säker och vill verkligen veta att det är detta som är problemet. Jag har uppgraderat från SP3 till SP4 efter inrådan härifrån http://support.microsoft.com/kb/828269/ . Tyvärr hjälpte inte det.


Den funktion (User Defined Function) består av sex stycken SELECT-satser sammanbundna med UNION.
Funktionen frågor mot en och samma vy (bara en tabell) men är av typen
...
SELECT IN(SELECT IN(SELECT IN...)
UNION
SELECT IN(SELECT IN)
UNION
SELECT IN (värde)
..
Tar jag bort en av dessa SELECT-satser kan jag köra proceduren.

Mina frågor är alltså -->
1) Finns det något enkelt sätt att se hur många tabeller en SELECT-sats nyttjar?
2) Om jag nu har slagit i taket (260 tabeller) måste jag antagligen skriva om frågan. Problemet är bara att jag inte kan nyttja temporära tabeller i det här fallet. Finns det något genväg? Indexering? "Fakeade" temporära tabeller...?

Tacksam för svar
// Daniel


Svara

Sv: Maximala antalet tabeller i en SELECT-sats

Postades av 2007-11-26 17:02:19 - Håkan Borneland

<b>På fråga 1 (som även svarar lite på fråga 2).</b>
Här är det en som varit med om samma sak som dig.
Han bifogar matematiken bakom:
<b>
Could not allocate ancillary table for view or function resolution
I received the error message "Could not allocate ancillary table for view or function resolution.
The maximum number of tables in a query (256) was exceeded."

This was because I had created a chain of views, many of which used the "union" SQL statement.

e.g. view 1, 3 queries joined with the union statement
view 2, 2 queries
view 3, 5 queries
view 4, 4 queries
view 5, 3 queries

3 * 2 * 5 * 4 * 3 is greater than 256, and caused this error.
Rewriting some of the views to use CASE statements in the select statement, rather than the union statement rectified the problem.</b>

/Håkan


Svara

Sv:Maximala antalet tabeller i en SELECT-sats

Postades av 2007-11-26 17:25:40 - Daniel Gerhardson

Tack för tipset!

Jag hittade en lite skum UNION i vyn som funktionen efterfrågar och hade inte tänkt på att denna UNION gör att antalet tabeller dubbleras vid varje fråga.

Med vänliga hälsningar
// Daniel


Svara

Nyligen

  • 14:24 CBD regelbundet?
  • 14:23 CBD regelbundet?
  • 14:22 Har du märkt några verkliga fördel
  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 617
27 953
271 709
5 724
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies