Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Как да изтриете файлове в SQL Server 2019

В SQL Server 2019 можете да използвате sys.xp_delete_files съхранена процедура за изтриване на файл от файловата система.

Тази съхранена процедура е въведена в SQL Server 2019 и може да се използва във връзка с sys.xp_copy_file и sys.xp_copy_files (и двете са въведени и в SQL Server 2019), които ви позволяват да копирате файлове.

Преди SQL Server 2019 ще трябва да използвате xp_cmdshell , който създава командна обвивка на Windows и предава низ за изпълнение. Новите съхранени процедури, въведени в SQL Server 2019, ви позволяват да копирате и изтривате файлове, без да разчитате на xp_cmdshell .

Пример 1 – Изтриване на 1 файл

Ето пример за изтриване на един файл.

Пример за Linux:

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

Пуснах този код на моя Mac, който използва SQL Server 2019 на Linux. Това успешно изтри файл, наречен albums2.csv (пълният път /var/opt/mssql/data/samples/albums2.csv ).

За да копирате файлове в система с Windows, ще трябва да използвате конвенцията за пътя на Windows.

Пример за Windows:

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

Очевидно точното местоположение ще зависи от вашата ситуация.

Пример 2 – Изтриване на няколко файла

Можете да използвате същата процедура, за да изтриете няколко файла.

Пример за Linux:

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

В този случай изтрих всички файлове в /var/opt/mssql/data/samples/final директория, която започва с albums и завършва с .csv . Използвам звездичката (* ) заместващ знак, за да изберете файлове, които може да включват други знаци след albums част.

Пример за Windows:

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

Пример 3 – Изтриване на папки

Можете да използвате същата процедура, за да изтриете цялата папка.

Пример за Linux:

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

В този случай изтрих /var/opt/mssql/data/samples/final директория като цяло.

Пример за 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. Как да конвертирате между формати на дата в SQL Server с помощта на CAST()

  2. Как да намеря зависимости от външни ключове в SQL Server?

  3. Възможно ли е достъп до .mdf база данни без SQL Server?

  4. Как да накарам разширението SQLSRV да работи с PHP, тъй като MSSQL е отхвърлен?

  5. Извличане на дата в sql сървър, CURRENT_TIMESTAMP срещу GetDate()