Scrivere su diverse Istanze Sql Server 2000

martedì 01 febbraio 2011 - 17.16
Tag Elenco Tags  SQL Server 2000

vittosss Profilo | Junior Member

Ciao a tutti,
ho il seguente problema, vorrei scrivere su differenti istanze.
al momento nel mio enterprise manager ho 3 istanze. la mia, locale, + altre 2 non residenti. legare le differenti istanze, non è stato un problema.
quindi ho lanciato il comando :
USE master;
GO
EXEC sp_addlinkedserver
N'nome istanza remota',
N'SQL Server';
GO
e così ho creato il linked server.
quindi sono andato in e.m. e sono andato a settare la password di accesso come: be made using the security context e specificando quindi utente sa e relativa password.
sotto table del ramo del linked server vedo si le tabelle...ma direi solo quelle di sistema....
ora, il mio fine ultimo è quello di scrivere e leggere su differenti istanze, cosa mi manca?

grazie a tutti
V.

lbenaglia Profilo | Guru

>ora, il mio fine ultimo è quello di scrivere e leggere su differenti
>istanze, cosa mi manca?
Scrivere le query che ti servono referenziando gli oggetti remoti utilizzando il four-part name (linkedserver.database.schema.oggetto).

>grazie a tutti
Prego.

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/

vittosss Profilo | Junior Member

ho lanciato la query seguente e mi da l'errore sotto...

select * from [SL7].vitas_app.dbo.item where [SL7].vitas_app.dbo.item.item like '09%'

The number name 'VITS17\SL7.vitas_app.dbo.item' contains more than the maximum number of prefixes. The maximum is 3.

lbenaglia Profilo | Guru

>select * from [SL7].vitas_app.dbo.item where [SL7].vitas_app.dbo.item.item
>like '09%'
>
>
>The number name 'VITS17\SL7.vitas_app.dbo.item' contains more
>than the maximum number of prefixes. The maximum is 3.

Riscrivila come:

SELECT * FROM [SL7].[vitas_app].dbo.item WHERE item LIKE '09%';

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/

vittosss Profilo | Junior Member

mitico!!!
funziona!
parentesi quadra!!!

grazie mille

lbenaglia Profilo | Guru

>mitico!!!
>funziona!
>parentesi quadra!!!
Non solo, ho tolto [SL7].vitas_app.dbo.item.item

>grazie mille
Prego.

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/

vittosss Profilo | Junior Member

Ciao, rispolvero purtroppo questo post perchè sto litigando con le join.
da mia istanza devo legare in join 2 tabelle su altra istanza in questo modo:

select * from [istanzaremota\sl].[app].dbo.item
inner join [istanzaremota\sl].app.dbo.whse on [istanzaremota\sl].app.dbo.whse.item = [istanzaremota\sl].app.dbo.item.item

e l'errore è sempre:

The number name [istanzaremota\sl].[app].dbo.item contains more than the maximum number of prefixes. The maximum is 3

ho provato a eliminare "dbo" ma nulla è cambiato

per altro non posso neanche inserire il nome db o istanza in una variabile per poi eseguirlo...giusto?
e neanche specificare use indicando istanza e db


avreste qualche consiglio?
grazie mille
V.

lbenaglia Profilo | Guru

>select * from [istanzaremota\sl].[app].dbo.item
>inner join [istanzaremota\sl].app.dbo.whse on [istanzaremota\sl].app.dbo.whse.item
>= [istanzaremota\sl].app.dbo.item.item

Dato che entrambe le tabelle sono remote, per quale motivo vuoi eseguire la join in locale?
Non sarebbe meglio definire una vista sull'istanza remota che esegua la join richiamandola in locale?

Inoltre per la nomenclatura degli oggetti ti suggerisco di seguire queste regole:
http://msdn.microsoft.com/en-us/library/ms175874.aspx

>grazie mille
Prego.

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/

vittosss Profilo | Junior Member

ciao lorenzo,
sto seguendo la via della chiamate a sp sulle diverse istanze sql per farmi restituire solo i risultati.
ora sono incappato in questo errore:

The server could not load DCOM.

naturalmente è relativo alla istanza remota.
ho verificato che msdtc è attivo...
sono in ricerca...


aggiornamento ad oggi:
ho verificato i component services di windows 2003. sono abilitati e stanno regolarmente girando. mi sembra siano impostati senza alcun tipo di particolare restrizione ma forse dovrei settare qualcosa di + specifico.
qualche idea sul come fare?

grazie mille
V.
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 !
Copyright © dotNetHell.it 2002-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5