Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Jak usunąć pliki w SQL Server 2019

W SQL Server 2019 możesz użyć sys.xp_delete_files procedura składowana, aby usunąć plik w systemie plików.

Ta procedura składowana została wprowadzona w SQL Server 2019 i może być używana w połączeniu z sys.xp_copy_file i sys.xp_copy_files (oba zostały również wprowadzone w SQL Server 2019), które umożliwiają kopiowanie plików.

Przed SQL Server 2019 trzeba było użyć xp_cmdshell , który tworzy powłokę poleceń systemu Windows i przekazuje ciąg do wykonania. Nowe procedury składowane wprowadzone w SQL Server 2019 umożliwiają kopiowanie i usuwanie plików bez polegania na xp_cmdshell .

Przykład 1 – Usuń 1 plik

Oto przykład usuwania pojedynczego pliku.

Przykład w systemie Linux:

EXEC master.sys.xp_delete_files
'/var/opt/mssql/data/samples/albums2.csv';

Uruchomiłem ten kod na moim Macu, który korzysta z SQL Server 2019 w systemie Linux. Pomyślnie usunięto plik o nazwie albums2.csv (pełna ścieżka /var/opt/mssql/data/samples/albums2.csv ).

Aby skopiować pliki w systemie Windows, musisz użyć konwencji ścieżki Windows.

Przykład w systemie Windows:

EXEC master.sys.xp_delete_files
'D:\mssql\data\samples\albums2.csv';

Oczywiście dokładna lokalizacja będzie zależeć od Twojej sytuacji.

Przykład 2 – Usuń wiele plików

Możesz użyć tej samej procedury, aby usunąć wiele plików.

Przykład w systemie Linux:

EXEC master.sys.xp_delete_files
'/var/opt/mssql/data/samples/final/albums*.csv';

W tym przypadku usunąłem wszystkie pliki w /var/opt/mssql/data/samples/final katalog zaczynający się od albums i zakończ .csv . Używam gwiazdki (* ) symbol wieloznaczny, aby wybrać pliki, które mogą zawierać inne znaki po albums część.

Przykład w systemie Windows:

EXEC master.sys.xp_delete_files
'D:\mssql\data\samples\final\albums*.csv';

Przykład 3 – Usuń foldery

Możesz użyć tej samej procedury, aby usunąć cały folder.

Przykład w systemie Linux:

EXEC master.sys.xp_delete_files
'/var/opt/mssql/data/samples/final/';

W tym przypadku usunąłem /var/opt/mssql/data/samples/final katalog w całości.

Przykład w systemie Windows:

EXEC master.sys.xp_delete_files
'D:\mssql\data\samples\final\';

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak pobrać dane z bazy danych SQL Server w C#?

  2. Jak uciec przed znakiem procentu w T-SQL?

  3. Konwertuj numer miesiąca na nazwę miesiąca w programie SQL Server (T-SQL)

  4. Zapytanie SQL dla 7-dniowej średniej kroczącej w SQL Server

  5. Jak utworzyć funkcję SQL Server, aby połączyć wiele wierszy z podzapytania w jedno pole rozdzielane?