13. januar 2005 - 10:19Der er
10 kommentarer og 1 løsning
Connect til anden MSSQL fra T-SQL/Stored Proc.
Jeg ønsker at oprette en forbindelse i en lokal stored procedure til en anden MSSQL server på en anden computer. Dette er let nok via sp_addlinkedserver, men problemet kommer når jeg ønsker at starte en transaktion på den anden MSSQL samt bruge locking hints (nolock, rowlock etc).
"Cannot specify an index or locking hint for a remote data source."
Syntax for BEGIN TRAN dur slet ikke med remote servers.
Så jeg er ude efter en anden mulighed end sp_addlinkedserver og jeg kan ikke rigtig finde een. Sidste udvej er at kopiere database over lokalt på min MSSQL server, men det er tungt hvis jeg kan slippe.
Med kunstig intelligens skaber HP’s nye OmniBook X 14 en unik og skræddersyet brugeroplevelse målrettet dem, der ønsker høj ydeevne og intelligente funktioner
Jeg måtte starte Distributed Transaction Coordinator servicen. Den har vi ikke før haft brug for.
Men når jeg kører mit T-SQL får jeg denne fejl:
Server: Msg 7391, Level 16, State 1, Line 8 The operation could not be performed because the OLE DB provider 'SQLOLEDB' was unable to begin a distributed transaction. [OLE/DB provider returned message: New transaction cannot enlist in the specified transaction coordinator. ] OLE DB error trace [OLE/DB Provider 'SQLOLEDB' ITransactionJoin::JoinTransaction returned 0x8004d00a].
Den ene server kører Windows 2000 og den anden 2003. Iflg. MS skal begge køre 2003. Jeg har dog prøvet at gøre som de siger på begge men det hjalp ikke. Så jeg er bange for at jeg er nødt til at kræve at database bliver kopieret til samme server. Ærgeligt
Ohh, ja bagudkompatabilitet er ikke Microsofts stærkeste side, så det lyder meget rigtigt at 2003 ikke umiddelbart kan arbejde sammen med 2000 når det kommer til noget så avanceret som distribuerede transaktioner.
trer, hjælper mig ikke. rowset skal kodes med sql som strings - dur ikke. datasource kan ikke have locking hints. begge kræver distributed transaction som ikke virker
jeg har behov for at bruge NOLOCK i transaktionen, samt ROWLOCK...
grundet 2003/2000 problemet har jeg besluttet at det er et krav at begge databaser findes på samme server. så er jeg ude over disse problemer.
Synes godt om
Ny brugerNybegynder
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.