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

Sådan slettes filer i SQL Server 2019

I SQL Server 2019 kan du bruge sys.xp_delete_files gemt procedure for at slette en fil på filsystemet.

Denne lagrede procedure blev introduceret i SQL Server 2019, og den kan bruges sammen med sys.xp_copy_file og sys.xp_copy_files (som begge også blev introduceret i SQL Server 2019), som giver dig mulighed for at kopiere filer.

Før SQL Server 2019 skal du bruge xp_cmdshell , som afføder en Windows-kommandoskall og sender en streng til eksekvering. De nye lagrede procedurer introduceret i SQL Server 2019 giver dig mulighed for at kopiere og slette filer uden at stole på xp_cmdshell .

Eksempel 1 – Slet 1 fil

Her er et eksempel på sletning af en enkelt fil.

Eksempel på Linux:

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

Jeg kørte denne kode på min Mac, som bruger SQL Server 2019 på Linux. Dette slettede en fil kaldet albums2.csv (fuld sti /var/opt/mssql/data/samples/albums2.csv ).

For at kopiere filer på et Windows-system skal du bruge Windows-stikonventionen.

Eksempel på Windows:

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

Den nøjagtige placering vil naturligvis afhænge af din situation.

Eksempel 2 – Slet flere filer

Du kan bruge den samme procedure til at slette flere filer.

Eksempel på Linux:

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

I dette tilfælde slettede jeg alle filer i /var/opt/mssql/data/samples/final mappe, der starter med albums og afslutte med .csv . Jeg bruger stjernen (* ) jokertegn for at vælge filer, der kan indeholde andre tegn efter albums del.

Eksempel på Windows:

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

Eksempel 3 – Slet mapper

Du kan bruge samme procedure til at slette hele mappen.

Eksempel på Linux:

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

I dette tilfælde slettede jeg /var/opt/mssql/data/samples/final mappe helt.

Eksempel på Windows:

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

  1. Hvordan forbinder man Android-app til MySQL-database?

  2. Sådan forberedes sætninger og bindeparametre i Postgresql til C++

  3. HQL er null Og !=null på en Oracle-søjle

  4. Valg af N rækker i SQL Server