Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Allega un database archiviato in remoto

Dovresti essere in grado di allegare un database sul percorso UNC (non userei un'unità mappata:quell'unità è mappata per te, non l'account del servizio SQL Server), ma devi assicurarti che l'account del servizio SQL Server abbia letto/ permessi di scrittura sulla cartella remota e devi eseguire il flag di traccia 1807 (leggi il post di Brent Ozar su questo ).

Inoltre, non utilizzare la GUI per questo. Dopo aver impostato il flag di traccia, aver riavviato il servizio e aver configurato correttamente le autorizzazioni, utilizzare una nuova finestra di query ed eseguire il comando seguente:

CREATE DATABASE db_name 
ON (Filename = '\\uncpath\share\file.mdf'),
   (Filename = '\\uncpath\share\file.ldf')
FOR ATTACH;

(L'interfaccia utente non ti offrirà mai un percorso UNC, indipendentemente dai flag di traccia impostati o dalle autorizzazioni abilitate.)

Preparati a gestire un database danneggiato e possibilmente irrecuperabile in caso di interruzione della condivisione di rete, ovviamente.

Se ti sembra spaventoso, bene! Dovrebbe! Questa non è affatto una buona idea. Dovresti invece liberare spazio, aggiungere un'unità o ospitare il database su un'istanza diversa.