Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
SQL Server 2000/2005/2008, Express, Access, MySQL, Oracle
Eliminazione record su un server collegato.
lunedì 20 luglio 2015 - 13.28
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Elenco Tags
.NET 4.0
|
Windows Server 2008 R2
|
SQL Server 2008 R2
iif
Profilo
| Expert
713
messaggi | Data Invio:
lun 20 lug 2015 - 13:28
Ciao a tutti,
dovrei eliminare dei record presenti su una tabella su un server collegato.
L'errore che ritorna è:
OLE DB provider "SQLNCLI10" for linked server "xxxxxxxxxx" returned message "Multiple-step OLE DB operation generated errors. Check each OLE DB status value, if available. No work was done.".
Msg 7202, Level 11, State 2, Line 1
Impossibile trovare il server 'xxxxxxxxxxx' in sys.servers. Verificare che sia stato specificato il nome corretto del server. Se necessario, eseguire la stored procedure sp_addlinkedserver per aggiungere il server a sys.servers.
Ho provato anche ad usare sp_addlinkedserver, ritorna il medesimo errore.
Devo settare qualcosa?
Grazie.
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
mar 28 lug 2015 - 11:55
>Ciao a tutti,
ciao
>Devo settare qualcosa?
se fai una select sulla sys.servers, c'è il server che ti aspetti?
Hai impostato correttamente l'autenticazione? Potresti anche non avere accesso o diritti anche solo per vederlo.
Alessandro Alpi | SQL Server MVP | Engage IT Services s.r.l.
MCP|MCITP|MCTS|MCT
http://blogs.dotnethell.it/suxstellino
http://suxstellino.wordpress.com
iif
Profilo
| Expert
713
messaggi | Data Invio:
mar 28 lug 2015 - 14:29
Ciao, riesco a vedere i record e dentro sys.server esiste il collegamento
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
mar 28 lug 2015 - 16:02
>Ciao, riesco a vedere i record e dentro sys.server esiste il
>collegamento
e se provi a leggere un dato direttamente sul SQL Server management studio, riesci ad accedere? Intendo con una select con il fully qualified name.
Alessandro Alpi | SQL Server MVP | Engage IT Services s.r.l.
MCP|MCITP|MCTS|MCT
http://blogs.dotnethell.it/suxstellino
http://suxstellino.wordpress.com
iif
Profilo
| Expert
713
messaggi | Data Invio:
mar 28 lug 2015 - 16:04
Le select le eseguo senza problemi e l'account ha anche i privilegi di scrittura, boh...
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
mar 28 lug 2015 - 16:32
>Le select le eseguo senza problemi e l'account ha anche i privilegi
>di scrittura, boh...
se l'account che usi per le chiamate da SSMS è lo stesso dell'applicazione ed in un caso va mentre nell'altro no, potrebbe essere qualcosa di legato al nome.
Hai già indicato le parentesi quadre nel nome completo? Magari il server ha caratteri noiosi da gestire..
Ma da dove lanci il comando di delete?
Alessandro Alpi | SQL Server MVP | Engage IT Services s.r.l.
MCP|MCITP|MCTS|MCT
http://blogs.dotnethell.it/suxstellino
http://suxstellino.wordpress.com
iif
Profilo
| Expert
713
messaggi | Data Invio:
mer 29 lug 2015 - 16:04
OLE DB provider "SQLNCLI10" for linked server "MIMICM4SA00" returned message "Multiple-step OLE DB operation generated errors. Check each OLE DB status value, if available. No work was done.".
Msg 7202, Level 11, State 2, Line 1
Impossibile trovare il server 'MIMICM4SA00' in sys.servers. Verificare che sia stato specificato il nome corretto del server. Se necessario, eseguire la stored procedure sp_addlinkedserver per aggiungere il server a sys.servers.
Ho provato anche a dargli il nome che non trova, stesso risultato
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
mer 29 lug 2015 - 16:34
da dove lanci il comando di delete?
Alessandro Alpi | SQL Server MVP | Engage IT Services s.r.l.
MCP|MCITP|MCTS|MCT
http://blogs.dotnethell.it/suxstellino
http://suxstellino.wordpress.com
iif
Profilo
| Expert
713
messaggi | Data Invio:
mer 29 lug 2015 - 16:36
dalla macchina sulla quale sono collegati i server
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
mer 29 lug 2015 - 16:58
>dalla macchina sulla quale sono collegati i server
sì, ma intendo con che tool, stai lanciando da .net? da SQL Server management studio?
I due server si parlano? Hai provato a fare il telnet sulla porta?
Alessandro Alpi | SQL Server MVP | Engage IT Services s.r.l.
MCP|MCITP|MCTS|MCT
http://blogs.dotnethell.it/suxstellino
http://suxstellino.wordpress.com
iif
Profilo
| Expert
713
messaggi | Data Invio:
mer 29 lug 2015 - 17:05
Si, scusa, uso SQL Server management studio.
Le select le fa tranquillamente
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
mer 29 lug 2015 - 17:14
>Si, scusa, uso SQL Server management studio.
>Le select le fa tranquillamente
se fa le select e le altre cose no mi viene da pensare che sia un problema di permessi però..
sei sicuro al centro per cento che l'utente che utilizzi abbia i permessi in scrittura sull'altra istanza?
Alessandro Alpi | SQL Server MVP | Engage IT Services s.r.l.
MCP|MCITP|MCTS|MCT
http://blogs.dotnethell.it/suxstellino
http://suxstellino.wordpress.com
iif
Profilo
| Expert
713
messaggi | Data Invio:
mer 29 lug 2015 - 17:20
Ti confermo che l'utente ha i permessi di lettura e scrittura.
Mi sono collegato direttamente al server con l'utenza prevista, ho cancellato un record senza problemi...
Questo l'errore:
OLE DB provider "SQLNCLI10" for linked server "10.81.138.14" returned message "Deferred prepare could not be completed.".
Msg 8180, Level 16, State 1, Line 1
Impossibile preparare le istruzioni.
Msg 7202, Level 11, State 2, Line 2
Impossibile trovare il server '10.81.138.14' in sys.servers. Verificare che sia stato specificato il nome corretto del server. Se necessario, eseguire la stored procedure sp_addlinkedserver per aggiungere il server a sys.servers.
ho provato anche ad utilizzare la sp sp_addlinkedserver, niente...
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
mer 29 lug 2015 - 17:37
>Ti confermo che l'utente ha i permessi di lettura e scrittura.
>Mi sono collegato direttamente al server con l'utenza prevista,
>ho cancellato un record senza problemi...
a mio avviso c'è proprio un errore sulla chiamata.. puoi postare lo statement?
Alessandro Alpi | SQL Server MVP | Engage IT Services s.r.l.
MCP|MCITP|MCTS|MCT
http://blogs.dotnethell.it/suxstellino
http://suxstellino.wordpress.com
iif
Profilo
| Expert
713
messaggi | Data Invio:
mer 29 lug 2015 - 17:40
DELETE FROM [10.81.138.14].[DBMIMICSIC342].[dbo].[TabellaLavorazioni]
WHERE YEAR(DATACREAZIONE)=YEAR(GETDATE()) AND MONTH(DATACREAZIONE)<=(MONTH(GETDATE())-3)
Errore:
OLE DB provider "SQLNCLI10" for linked server "10.81.138.14" returned message "Multiple-step OLE DB operation generated errors. Check each OLE DB status value, if available. No work was done.".
Msg 7202, Level 11, State 2, Line 1
Impossibile trovare il server 'MIMICM4SA00' in sys.servers. Verificare che sia stato specificato il nome corretto del server. Se necessario, eseguire la stored procedure sp_addlinkedserver per aggiungere il server a sys.servers.
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
mer 29 lug 2015 - 19:16
>DELETE FROM [10.81.138.14].[DBMIMICSIC342].[dbo].[TabellaLavorazioni]
>WHERE YEAR(DATACREAZIONE)=YEAR(GETDATE()) AND MONTH(DATACREAZIONE)<=(MONTH(GETDATE())-3)
a mio avviso c'è stato qualcosa di errato nella definizione del linked server..
tuttavia riesci a cancellare, purtroppo, con il forum, non so proprio dirti cosa possa essere.
Il fatto che le letture vadano è molto strano (e la cosa mi porta sui permessi)..
Prova a distruggerlo, ricrearlo e creare un synonym all'oggetto, invece che puntarlo direttamente. Non saprei che altro dirti.
Alessandro Alpi | SQL Server MVP | Engage IT Services s.r.l.
MCP|MCITP|MCTS|MCT
http://blogs.dotnethell.it/suxstellino
http://suxstellino.wordpress.com
iif
Profilo
| Expert
713
messaggi | Data Invio:
mer 29 lug 2015 - 19:20
Ho fatto un'altra prova.
Con lo stesso statement ho eliminato dei record su un altro server collegato ed ha funzionato.
Faccio una verifica tra i due server, potrebbe essere un fattore di diversa versione?
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
mer 29 lug 2015 - 19:29
>Ho fatto un'altra prova.
>Con lo stesso statement ho eliminato dei record su un altro server
>collegato ed ha funzionato.
>Faccio una verifica tra i due server, potrebbe essere un fattore
>di diversa versione?
Mi sembra strano, a meno che non siano super distanti come versioni.
Hai provato a controllare il log degli errori sul server di destinazione?
Hai provato anche a lanciare una traccia col profiler sulla destinazione?
Il DTC è attivo?
Alessandro Alpi | SQL Server MVP | Engage IT Services s.r.l.
MCP|MCITP|MCTS|MCT
http://blogs.dotnethell.it/suxstellino
http://suxstellino.wordpress.com
iif
Profilo
| Expert
713
messaggi | Data Invio:
mer 29 lug 2015 - 19:34
Come verifico se il DTC è attivo?
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
mer 29 lug 2015 - 19:41
>Come verifico se il DTC è attivo?
Component Services --> Local DTC, e vedi le opzioni lì, se è abilitato..
Alessandro Alpi | SQL Server MVP | Engage IT Services s.r.l.
MCP|MCITP|MCTS|MCT
http://blogs.dotnethell.it/suxstellino
http://suxstellino.wordpress.com
iif
Profilo
| Expert
713
messaggi | Data Invio:
mer 29 lug 2015 - 20:36
Lo verifico da sql server?
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
mer 29 lug 2015 - 20:49
>Lo verifico da sql server?
no devi andare sulla macchina, component services (o servizi componenti se ce l'hai in italiano) si tratta di una gestione di componenti su Windows server (o workstation)
Alessandro Alpi | SQL Server MVP | Engage IT Services s.r.l.
MCP|MCITP|MCTS|MCT
http://blogs.dotnethell.it/suxstellino
http://suxstellino.wordpress.com
iif
Profilo
| Expert
713
messaggi | Data Invio:
mer 29 lug 2015 - 20:51
ok, domani provo... grazie.
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !