sql >> Databáze >  >> RDS >> Sqlserver

Jak odstranit soubory v SQL Server 2019

V SQL Server 2019 můžete použít sys.xp_delete_files uložená procedura k odstranění souboru v systému souborů.

Tato uložená procedura byla zavedena v SQL Server 2019 a lze ji použít ve spojení s sys.xp_copy_file a sys.xp_copy_files (obě byly také představeny v SQL Server 2019), které umožňují kopírovat soubory.

Před SQL Server 2019 byste museli použít xp_cmdshell , který vytvoří příkazový shell Windows a předá řetězec k provedení. Nové uložené procedury představené v SQL Server 2019 umožňují kopírovat a odstraňovat soubory, aniž byste se museli spoléhat na xp_cmdshell .

Příklad 1 – Smazání 1 souboru

Zde je příklad smazání jednoho souboru.

Příklad na Linuxu:

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

Tento kód jsem spustil na svém Macu, který používá SQL Server 2019 na Linuxu. Tím byl úspěšně odstraněn soubor s názvem albums2.csv (úplná cesta /var/opt/mssql/data/samples/albums2.csv ).

Chcete-li kopírovat soubory v systému Windows, musíte použít konvenci cest systému Windows.

Příklad ve Windows:

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

Je zřejmé, že přesné umístění bude záviset na vaší situaci.

Příklad 2 – Odstranění více souborů

Stejný postup můžete použít k odstranění více souborů.

Příklad na Linuxu:

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

V tomto případě jsem smazal všechny soubory v /var/opt/mssql/data/samples/final adresář, který začíná albums a končí na .csv . Používám hvězdičku (* ) zástupný znak pro výběr souborů, které mohou obsahovat další znaky za albums část.

Příklad ve Windows:

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

Příklad 3 – Odstranění složek

Stejný postup můžete použít k odstranění celé složky.

Příklad na Linuxu:

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

V tomto případě jsem smazal /var/opt/mssql/data/samples/final adresář úplně.

Příklad ve Windows:

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

  1. Jak používat indexy ke zlepšení výkonu dotazů MySQL

  2. RMAN selže s RMAN-06900 RMAN-06901 ORA-04031

  3. dotaz Oracle SQL pro výpis všech dat předchozího měsíce

  4. Jak najít duplicitní hodnoty v tabulce SQL