Avatar billede skwat Praktikant
03. juni 2004 - 22:38 Der er 14 kommentarer og
1 løsning

trigger kalde sp på anden SQL server

Hejsa,

Jeg har to SQL server(SQL1 og SQL2)
På SQL1 har en en tabel hvor jeg har en trigger, ideen er nu at denne triger skal kalde en Stored procedure på SQL2.

Hints howtos osv. er velkommen.

Jeg har ikke umiddelbart administatrations ret på sql2, men bare en bruger.
Avatar billede arne_v Ekspert
03. juni 2004 - 22:42 #1
Den kan vel bare kaldes med fuld navn:

servernavn.databasenavn.brugernavn.storedprocedurenavn
Avatar billede stigc Nybegynder
03. juni 2004 - 22:50 #2
Jeg mener at man under Linked Server kan sætte en mapper-user.
Avatar billede skwat Praktikant
03. juni 2004 - 23:11 #3
Først siger den at jeg skal bruge sp_addlinkedserver.

Efter det er gjort skriver den
Could not find stored procedure '<database>.<user>.<storedprocedure>
Avatar billede stigc Nybegynder
04. juni 2004 - 23:06 #4
Du skal oprette en linked server, som jeg mener ligger under security i manageren.
Avatar billede skwat Praktikant
05. juni 2004 - 00:16 #5
Er lavet, og jeg har mappet min bruger til den anden, jeg kan se tablerne, men ikke stored procedures.

Og forsøger jeg at bruge nogen af de ting, går det galt.
Avatar billede trer Nybegynder
07. juni 2004 - 10:41 #6
du skal have ret til at afvikle en stored procedure

grant execute on spsomething to somebody
Avatar billede skwat Praktikant
07. juni 2004 - 14:09 #7
det tror jeg sa har
Avatar billede trer Nybegynder
07. juni 2004 - 17:03 #8
Hvis du er SA på SQL2 så ja - men hvis du kun er det på SQL1 har du ikke rettigheder på SQL2 udover hvad den bruger du anvender har. Og du skriver du ikke har admin ret på SQL2...

Men muligvis kan en trigger ikke kalde en sp på via en linked server - giver egentlig mening da triggeren er indenfor transaktionen og du dermed vil komme ud i noget 2-fase commit.

Prøv om du kan kalde den via en OPENDATASOURCE() eller OPENROWSET() i stedet for en linked server - eller via en XP-procedure (xp_executesql eller sådan noget). Extended Stored procedures omgår transaction scope.
Avatar billede skwat Praktikant
11. juni 2004 - 12:48 #9
Trer, SQL2 er et system jeg ikke har administrations ret over(garanti osv) jeg har dog sa koden.

Og lige nu prøver jeg ikke at gøre det fra en trigger, men bare fra en quary analyser med SQL1.

Det er dog i mellemtiden lykkedes mig at komme igennem, user skal være dbo af en og eller anden grund. Og det virker også fra en trigger.
Avatar billede skwat Praktikant
11. juni 2004 - 12:50 #10
dem der syntes de har hjulpet til min løsning kan lige ligge et svar.
Avatar billede trer Nybegynder
11. juni 2004 - 16:06 #11
hvis brugeren skal være DBO lugter det meget af et spørgsmål om rettigheder.

Synes i øvrigt at det er pudsigt at du har SA password til et system du ikke må administere - lidt selvmodsigende, men skidt, ikke mit problem :-)
Avatar billede skwat Praktikant
11. juni 2004 - 16:43 #12
trer, måske fordi du aldrig har haft et system hvor en ekstern leverandør giver garanti for at systemet virker, hvis (og kun hvis) at man ikke modificere på funktionalitet på det.
Avatar billede skwat Praktikant
15. juni 2004 - 15:52 #13
arnmo_v med flere, så er det final count down for point
Avatar billede arne_v Ekspert
15. juni 2004 - 16:09 #14
ok - men jeg syntes at mit bidrag var ret beskedent
Avatar billede skwat Praktikant
17. juni 2004 - 20:23 #15
arno_v, måske men det var nu engang det der fik mig til de rigtige dokumentations sider
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester