Har ett problem, och jag är ingen expert på att varken administrera eller sätta upp sqlservers så håll i er.
Sitter hos en kund och försöker få en "stored procedure from hell" att fungera enligt några väldigt små ändringar jag har gjort; så små att de inte på något sätt bör ha påverkat sp'n att bli väldigt "skakig"...
Nu är det så att tex @@rowcount har slutat att fungera(!) (den ger 0 i svar oavsett vad tex selecten ovanför ger i svar), vad kan det bero på? Finns det någon inställning för detta på en db, eller i sp'n? Observera att jag är inte ensam om att hacka på den här servern så jag har ingen koll på om någon annan har gjort någon ändring, därav frågan.
Dessutom så verkar det spöka lite allmänt i sp'n (började för några dagar sedan). Jag har tex en debugg som skriver ut en variabel (ett datum) som plockas från en tabell med en simpel select. Varje gång jag kör hela sp'n i Query Analyzern så plussas datumet på 1 dag i result-fönstret (dvs min variabel), men hur i helskotta kan sp'n komma ihåg föregående datum? Observera att datumet i tabellen är oförändrat. Datumet som skrivs ut i debuggfönstret ligger nu 1 månad efter det datum som står i tabellen...gissa om detta har jävlats med min debugging av sp'n... =(
Skulle kunna svära på att den kör emot någon temptabell pga någon commit som inte görs, men så verkar inte vara fallet.
Så här börjar och slutar koden (om det skulle ha något med commiten att göra):
Kod:
CREATE PROCEDURE dbo.blablabla
...deklarationer av variabler...
set nocount on
begin transaction
...här kommer all sql i sp'n...
...sist kommer en liten errorhandler...
errh:
if @ok=0
rollback transaction
else
commit transaction
set nocount off
GO
Inga konstigheter där va?
Jag börjar bli gråhårig...