Mirroring ed endpoint

lunedì 03 novembre 2008 - 13.35

PEPE Profilo | Senior Member

Salve a tutti,
sto cercando di creare un mirror tra due database di 2 server sql05.

Ho ormai letto un bel po di documentazione anche se non sono proprio un dba...ma al giorno d'oggi bisogna saper fare tutto :(:(.

Descrivo brevemente la configurazione.
Ho 2 server
sql05dev01 e sql05dev02 che non fanno parte di un dominio ma stanno in workgroup.
Ho creato in server uno un database con la procedura guidata chiamandolo TestMirror_01. Ho eseguito il backup FULL, ho copiato il bak nel server 02 ed ho eseguito il ripristino utilizzando il norecovery. In questo modo il database sta nello stato "ripristino in corso..."

Consultando i book online ho studiato che per server che non sono "trastati" è possibile effettuare il mirror di database solamente con l'utilizzo di certificati. Ho cominciato quindi a leggere documentazione in merito a questa configurazione. Sono arrivato finalmenta al codice t-sql che mi permette di creare la master key, il certificato, e l'endpoint per la comunicazione.

Ho quindi eseguito sul server principal il seguente codice
CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'pippo'; GO USE master; CREATE CERTIFICATE sql05dev01_cert WITH SUBJECT = 'Certificato Server Principal SQL05DEV01', START_DATE = '2007/11/01', EXPIRY_DATE = '2020/01/01'; GO CREATE ENDPOINT Endpoint_Mirroring STATE = STARTED AS TCP ( LISTENER_PORT=7024 , LISTENER_IP = ALL ) FOR DATABASE_MIRRORING ( AUTHENTICATION = CERTIFICATE sql05dev01_cert , ENCRYPTION = REQUIRED ALGORITHM RC4 , ROLE = ALL ); GO

Ho ricevuto un primo messaggio di errore relativo all'algoritmo. Dato che uso windows 2000 server ho utilizzato il tipo RC4.
Credendo che sarebbe andato tutto bene ho rilanciato il comando e mi da il seguente messaggio.

Messaggio 7862, livello 16, stato 1, riga 14
Esiste già un endpoint del tipo richiesto. È supportato un solo endpoint di questo tipo. Utilizzare ALTER ENDPOINT oppure eliminare l'endpoint esistente, quindi eseguire l'istruzione CREATE ENDPOINT.

Messaggio 7807, livello 16, stato 1, riga 14
Errore ('0x800700b7') durante il tentativo di registrare l'endpoint 'Endpoint_Mirroring'.

Ho provato allora ad eliminare l'endpoint eseguendo questo comando
DROP ENDPOINT Endpoint_Mirroring

Messaggio 1088, livello 15, stato 103, riga 27
Impossibile trovare l'oggetto "Endpoint_Mirroring" perché non esiste oppure l'utente non dispone delle autorizzazioni necessarie.

Mi sono chiesto se anche per l'utente administrator dovesse essere garantito il permesso per la gestione degli endpoint. Cosi ho lanciato il seguente comando
USE master; GRANT TAKE OWNERSHIP ON ENDPOINT::Endpoint_Mirroring TO Administrator WITH GRANT OPTION; GO
Stesso messaggio di errore.

Messaggio 15151, livello 16, stato 1, riga 28
Impossibile trovare l'oggetto 'Endpoint_Mirroring' di tipo endpoint, perché inesistente o perché non si dispone dell'autorizzazione.

A questo punto mi sono chiesto se esisteva un comando per vedere l'elenco degli endpoint esistenti...tanto per capirci qualcosa. Ho trovato su internet la seguente sintassi
SELECT * FROM sys.endpoints
che mi ha restituito il seguente risultato

Dedicated Admin Connection 1 1 2 TCP 2 TSQL 0 STARTED 1
TSQL Local Machine 2 1 4 SHARED_MEMORY 2 TSQL 0 STARTED 0
TSQL Named Pipes 3 1 3 NAMED_PIPES 2 TSQL 0 STARTED 0
TSQL Default TCP 4 1 2 TCP 2 TSQL 0 STARTED 0
TSQL Default VIA 5 1 5 VIA 2 TSQL 0 STARTED 0
Mirroring 65536 1 2 TCP 4 DATABASE_MIRRORING 0 STARTED 0

Mi sembra che sia presente il nome.

Vorrei capire a questo punto come fare :P.
Vi ringrazio anticipatamente per l'aiuto.

Saluti,
Luca.

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-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5