sql >> Databasteknik >  >> RDS >> Sqlserver

Hur man tar bort filer i SQL Server 2019

I SQL Server 2019 kan du använda sys.xp_delete_files lagrad procedur för att radera en fil i filsystemet.

Denna lagrade procedur introducerades i SQL Server 2019, och den kan användas tillsammans med sys.xp_copy_file och sys.xp_copy_files (som båda också introducerades i SQL Server 2019), vilket gör att du kan kopiera filer.

Före SQL Server 2019 skulle du behöva använda xp_cmdshell , som skapar ett Windows-kommandoskal och skickar in en sträng för exekvering. De nya lagrade procedurerna som introduceras i SQL Server 2019 låter dig kopiera och ta bort filer utan att förlita dig på xp_cmdshell .

Exempel 1 – Ta bort 1 fil

Här är ett exempel på att ta bort en enskild fil.

Exempel på Linux:

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

Jag körde den här koden på min Mac, som använder SQL Server 2019 på Linux. Detta raderade en fil som heter albums2.csv (fullständig sökväg /var/opt/mssql/data/samples/albums2.csv ).

För att kopiera filer på ett Windows-system måste du använda Windows-sökvägskonventionen.

Exempel på Windows:

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

Uppenbarligen kommer den exakta platsen att bero på din situation.

Exempel 2 – Ta bort flera filer

Du kan använda samma procedur för att radera flera filer.

Exempel på Linux:

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

I det här fallet tog jag bort alla filer i /var/opt/mssql/data/samples/final katalog som börjar med albums och avsluta med .csv . Jag använder asterisken (* ) jokertecken för att välja filer som kan innehålla andra tecken efter albums del.

Exempel på Windows:

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

Exempel 3 – Ta bort mappar

Du kan använda samma procedur för att radera hela mappen.

Exempel på Linux:

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

I det här fallet tog jag bort /var/opt/mssql/data/samples/final katalogen helt och hållet.

Exempel på Windows:

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

  1. Hur man ändrar det aktuella datumformatet i SQL Server (T-SQL)

  2. SQLite - Exportera data till en CSV-fil

  3. Vad är en tidsseriedatabas?

  4. Använder Oracle to_date-funktionen för datumsträng med millisekunder