|
|
Up |
|
|
  |
Author: Michael ReukauffMichael Reukauff
Date: Jul 4, 2008 07:13
Hallo liebe Newsgroup
Ich habe hier ein sehr merkwürdiges Verhalten unseres SQL-Servers (2005
SP2). Ich habe eine Stored Procedure, die einen Select auf 3 Tabellen
absetzt. Als SP dauert die Abfrage ca. 45 Sekunden. Wenn ich dieselbe
Abfrage als normales Select laufen lassen, also ohne SP, dauert die Abfrage
< 1 Sekunde. Beide wurden vom SSMS aus gestartet. Ursache ist eine Tabelle,
die ich über einen Inner Join anspreche. Wenn ich den Join und die
entsprechenden Columns rausnehme, ist die Ausführungszeit der SP auch < 1
Sekunde. Diese Tabelle beinhaltet gerade mal 172 Sätze.
Das Ergebnis der Abfrage liefert 2 Datensätze, was auch stimmt.
Entsprechende Indizes sind vorhanden.
Ich habe die SP auch schon mal mit "with recompile" gespeichert, was aber
nichts brachte.
Ich bin, was die Analyse solchen Verhaltens angeht, ein Laie und weiss
nicht, wo ich da suchen soll.
Wer kann mir mal ein paar Tips geben?
Danke schon mal
Michael
|
| |
|
| |
10 Comments |
|
  |
Author: Stefan HoffmannStefan Hoffmann
Date: Jul 4, 2008 07:00
> erzeugt die Fehlermeldung: "Falsche Syntax in der Nähe von inserted".
> Was kann der SQL-Server hier nicht, was eine OpenSource-DB locker bringt?
> Oder was mache ich mangels Erfahrung mit dem SQL-Server falsch?
Ja. inserted ist eine Pseudotabelle. Im gegensatz zu Firebird werden
Trigger im SQL Server immer per Statement aufgerufen, und nicht wie
Firebird auch per Row.
Also brauchst du ein
UPDATE deineTabelle
SET ProduktionPID = PID
FROM deineTabelle
INNER JOIN inserted ON inserted. = deineTabelle.
siehe zur UPDATE FROM Syntax in der OH nach.
mfG
--> stefan <--
|
| |
|
| |
no comments
|
|
  |
Author: AndreT78AndreT78
Date: Jul 4, 2008 06:40
Hallo,
nach meinem Problem, für das ich die Lösung hier vorhin schon erhalten
haben, herzlichen Dank noch mal, stehe ich vor dem nächsten.
Durch das alte Problem, muss ich jetzt alle Replikationen neu aufsetzten.
dies klappt auch bei allen DB´s problemlos. Nur eine will ich so wie ich.
Dort kommt die Fehlermeldung:
Der gleichzeitige Snapshot für die 'xxxxx-Publikation ist nicht verfügbar,
weil er nicht vollständig generiert wurde oder weil der Protokolllese-Agent
nicht ausgeführt wird, um ihn zu aktivieren. Falls die Generierung des
gleichzeitigen Snaps
Die Meldung wird leider abgeschnitten.
Eine andere Replikation auf der selbem Maschine funktioniert.
Was ist hier falsch?
Danke
Gruß Andre
|
| |
|
1 Comment |
|
  |
|
|
  |
Author: akaaka
Date: Jul 4, 2008 06:35
Hallo zusammen,
ich muß eine Datenbank von Firebird auf den SQL-Server 2005 umstemmen. Dabei
habe ich ein Problem mit einem Trigger, den ich einfach nicht hinbekomme.
Ich versuche, vor dem Insert von Daten in einer Tabelle mit folgendem
Trigger einen Wert aus einer anderen Tabelle zu ermitteln und diesen in
einem Feld der Tabelle zu setzen, in die ich Daten einfügen möchte. DB ist
Firebird2.1. Den Trigger kann ich nicht anlegen, FB sagt mir, daß ein
Subselect in diesem Kontext nicht möglich ist. Geht das generell nicht oder
mache ich etwas falsch?
Der Trigger sieht in Firebird folgendermaßen aus:
|
| Show full article (1.85Kb) |
|
no comments
|
|
  |
Author: StephanieStephanie
Date: Jul 4, 2008 05:01
Hallo, ich kann das Microsoft update: Microsoft SQL Server 2005 Express
Edition Service Pack 2 (KB 921896) nicht herunterladen. Es erscheint immer
der Fehlercode: 0x2B22. Im habe unter diesem Fehlercode zwar paar
Diskussionen im Netz gefunden, aber erstens verstehe ich nur die Hälfte von
dem was da gemacht wurde und weiterhin scheinen die verschiedenen Strategien
auch nicht geholfen zu haben. Deshalb meine Frage: Brauche ich dieses Update?
Wenn ja: Wie bekomme ich es auf meinen Rechner?
Wenn nein: Wie kann ich das update "überspringen", so das mein Update-Schild
nicht immer gelb ist? Ich arbeite mit Windows XP professional (version5.1
Service Pack 3)
Ich bin neu hier und auch ziemlicher Laie. Für Ideen und Anregungen wäre ich
sehr dankbar.
|
| |
|
2 Comments |
|
  |
Author: Eberhard SchefoldEberhard Schefold
Date: Jul 4, 2008 03:13
Eine Newbie-Frage zum Transact-SQL-Befehl CONTAINS: Wie kann ich
ausdrücken, beliebige Einträge (ungleich leer) zu finden, also alle
Zeilen, die in einem bestimmten Feld (bei dem offensichtlich nur
CONTAINS als Operator zur Verfügung steht) mit einem Wert gefüllt sind?
Ich hab zwar die Doku studiert und mit Variationen von "*" rumgepfuscht,
kam aber nicht zum Ergebnis.
|
| |
|
3 Comments |
|
  |
Author: Stefan HoffmannStefan Hoffmann
Date: Jul 4, 2008 02:41
hallo @all,
folgendes Problem:
Nach der Umstellung des Gateways (eine andere Box) kann von den Clients
in den meisten Fällen keine Verbindung mehr zum SQL Server mittels SSPI
aufgenommen werden. ODBC und OLE DB quittieren es mit "SSPI Kontext kann
nicht erstellt werden.".
Als Symptomlösung fünkioniert ein Neustart des SQL Server Dienstes mit
einer anschließenden Neuanmeldung der Clients.
Sobald allerdings eine Session neuaufgebaut werden muß, kommt wieder die
Fehlermeldung.
Das System lief vorher problemlos. Laut Netzwerker hat er lediglich die
Box getautscht. Er meinte es könnte ein Problem mit dem Zeitnormal sein.
Umgebung:
Windows Server 2000
SQL Server 2005
Windows XP Sp2
Bin für jeden Hinweis dankbar.
mfG
--> stefan <--
|
| |
|
3 Comments |
|
  |
|
|
  |
Author: AndreT78AndreT78
Date: Jul 4, 2008 02:25
Hallo,
irgendwas ist heute nacht passiert.
Einer unsere SQL Server kennt sich selber nicht mehr. Er läuft zum Glück,
und die Datenbanken auf Ihm auch noch, aber an manchen stellen kommt es nun
zu fehlermeldungen, weil sein Name nicht bekannt ist.
ich bekomme bei Select @@Servername ein NULL zurück,
wenn ich in der Master ein 'select * from Sysservers' absetzte ist er selber
auch nicht aufgeführt.
Wie bringe ich ihm wieder bei, wer er ist?
Danke Gruß Andre
|
| |
|
2 Comments |
|
|
|
|