Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Si applica a:SQL Server su Linux
La cartella snapshot è una directory designata dall'utente come condivisione. Gli agenti che eseguono operazioni di lettura e scrittura in questa cartella devono avere autorizzazioni sufficienti per accedervi.
Spiegazione della condivisione della cartella snapshot per la replica
Prima degli esempi, verrà illustrato come SQL Server usa le condivisioni samba nella replica. Di seguito è riportato un semplice esempio del loro funzionamento.
- Le condivisioni Samba sono configurate in modo che i file scritti in
/local/path1dagli agenti di replica nel server di pubblicazione sono visibili per il sottoscrittore - SQL Server è configurato per l'utilizzo dei percorsi di condivisione durante la configurazione dell'editore sul server di distribuzione in modo che tutte le istanze utilizzino il
//share/path - SQL Server trova il percorso locale dal
//share/pathper sapere dove cercare i file - SQL Server legge/scrive su percorsi locali supportati da una condivisione samba
Configurare una condivisione Samba per la cartella snapshot
Per accedere alle cartelle snapshot in altri computer, gli agenti di replica hanno bisogno di una directory condivisa tra gli host di replica. Nella replica pull transazionale, ad esempio, l'agente di distribuzione risiede nel sottoscrittore, che per ottenere gli articoli richiede l'accesso al database di distribuzione. In questa sezione verrà illustrato un esempio di come configurare una condivisione Samba in due host di replica.
Passaggi
A titolo di esempio, si configurerà tramite Samba una cartella snapshot nell'host 1 (il server di distribuzione) da condividere con l'host 2 (il sottoscrittore).
Installare e avviare Samba in entrambi i computer
Configurare la condivisione Samba sul server di distribuzione (host 1)
Impostare utente e password per Samba:
sudo smbpasswd -a mssqlModificare il
/etc/samba/smb.confper includere la seguente voce e compilare i campi share_name e percorso:<[share_name]> path = </local/path/on/host/1> writable = yes create mask = 770 directory mask valid users = mssqlLa tabella seguente descrive ogni impostazione.
Impostazione Descrizione [mssql_data]Nome della directory condivisa pathPosizione della directory da condividere writableDeterminare se la condivisione è scrivibile da altri host create maskAutorizzazioni Linux per i file creati directory maskAutorizzazioni Linux per le directory che sono state create valid usersElenco di utenti che possono accedere a questa condivisione Esempio
[mssql_data] path = /var/opt/mssql/repldata writable = yes create mask = 770 directory mask = 770 valid users = mssql
Montare la condivisione Samba sul sottoscrittore (host2)
Modificare il comando con i percorsi corretti ed eseguire il comando seguente nel computer2:
sudo mount //<name_of_host_1>/<share_name> </local/path/on/host/2> -o user=mssql,uid=mssql,gid=mssql
Esempio
mount //host1/mssql_data /var/opt/mssql/repldata_shared -o user=mssql,uid=mssql,gid=mssql
user=mssql <- sets the login name for samba
uid=mssql <- makes the mssql user as the owner of the mounted directory
gid=mssql <- sets the mssql group as the owner of the mounted directory
Configurare SQL Server su entrambi gli host Linux utilizzando la condivisione snapshot
Aggiungere la sezione seguente a mssql.conf in entrambi i computer. Usare ovunque la condivisione Samba per //share/path. In questo esempio si tratta di //host1/mssql_data.
[uncmapping]
//share/path = /local/path/on/hosts/
Esempio
In host1:
[uncmapping]
//host1/mssql_data = /local/path/on/hosts/1
In host2:
[uncmapping]
//host1/mssql_data = /local/path/on/hosts/2
Configurare il publisher con percorsi condivisi
- Quando si configura la replica, usare il percorso condivisione, ad esempio
//host1/mssql_data - Effettua il mapping di
//host1/mssql_dataa una directory locale e il mapping viene aggiunto amssql.conf.