Jeżeli wykonujemy backup bazy danych z instancji MS SQL Server możemy domyślnie użyć jedynie dysków lokalnych maszyny. SQL Server wymaga od nas zdefiniowania urządzeń do backupu, nie pomoże nawet zmapowanie udziału jako dysk sieciowy i przypisanie mu litery. Jak w MS SQL Server dodać urządzenie do backupu?
W naszym przykładzie posłużymy się najczęściej spotykanym rozwiązaniem: udział sieciowy / dysk sieciowy i backup z poziomu MS SQL Server.
Udział sieciowy dodajemy (mapujemy) do naszego systemu operacyjnego jako dyskm w naszym przypadku dysk B:
Spróbujmy zdefiniować dysk B jako urządzenie do backupu w SQL Server Management Studio (SSMS), rozwińmy obiekty serwera, przejdźmy na urządzenia backupu i prawym przyciskiem spróbujmy dodać nasz dysk (uprzednio nadając nazwę dla urządzenia w naszym przykładzie: backups):
Jak widzimy w nowo otwartym oknie mamy widoczne tylko lokalne dyski twarde. W jaki sposób wykonać backup bazy danych na udział sieciowy?
Będziemy do tego celu potrzebować polecenia xp_cmdshell w naszej instancji SQL (domyślnie jest wyłączone). Aby go użyć posłużymy się poleceniem sp_configure.
Otwieramy w SSMS okno nowego zapytania. i wprowadzamy polecenia wykonując je w poniższej kolejności.
EXEC sp_configure 'show advanced options', 1;
GO
RECONFIGURE;
GO
EXEC sp_configure 'xp_cmdshell',1
GO
RECONFIGURE
GO
Następnie w tym samym oknie kolejnym poleceniem dodajemy urządzenie (w naszym przykładzie mamy na myśli dysk B:
--mapujemy dysk B, wskazujemy ścieżkę do udziału, podajemy hasło i pełną nazwę użytkownika
EXEC XP_CMDSHELL 'net use B: \\data\backups HasloBackup /user:sprawdzone\sqlbackup'
--przypisujemy literę do zmapowanego dysku (taką sama jak wyżej i w mapowaniu systemu operayjnego)
EXEC XP_CMDSHELL 'Dir B:'
Sprawdźmy teraz czy dysk jest dostępny w oknie definiowania urządzeń backupu:
Udział sieciowy jest dostępny w instancji SQL jako dysk, tak samo jak w systemie operacyjnym. Teraz możemy dokończyć definiowanie urządzenia backupu. A samego dysku B używać do kopi zapasowych czy odtwarzania baz danych.