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

Nowy sposób kopiowania plików w SQL Server 2019

Dwie nowe procedury składowane wprowadzone w SQL Server 2019 to sys.xp_copy_file i sys.xp_copy_files , 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 plików bez polegania na xp_cmdshell .

Przykład 1 – Kopiuj 1 plik

Możesz użyć sys.xp_copy_file skopiować pojedynczy plik. Korzystanie z tej zapisanej procedury umożliwia również nazwanie nowego pliku.

Przykład w systemie Linux:

EXEC master.sys.xp_copy_file
'/var/opt/mssql/data/samples/albums.csv',
'/var/opt/mssql/data/samples/albums2.csv';

Pomyślnie uruchomiłem ten kod na moim Macu, który korzysta z SQL Server 2019 w systemie Linux.

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

Przykład w systemie Windows:

EXEC master.sys.xp_copy_file
'D:\mssql\data\samples\albums.csv',
'D:\mssql\data\samples\albums2.csv';

Przykład 2 – Kopiowanie wielu plików

Możesz użyć sys.xp_copy_files skopiować wiele plików.

Przykład w systemie Linux:

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

Tutaj jestem w tym samym folderze, co w poprzednim przykładzie. W tym przypadku skopiowałem wszystkie pliki, które zaczynają się od albums i zakończ .csv . Używam gwiazdki (* ) symbol wieloznaczny, aby wybrać pliki, które mogą zawierać inne znaki po albums część.

Ten przykład kopiuje pliki do /var/opt/mssql/data/samples/final katalog.

Przykład w systemie Windows:

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

Usuwanie plików

SQL Server 2019 wprowadził również sys.xp_delete_files procedura składowana, która umożliwia usuwanie plików. Zobacz Jak usunąć pliki w SQL Server 2019, aby zapoznać się z przykładami usuwania plików utworzonych w tym artykule.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Zaktualizuj profil poczty bazy danych (SSMS)

  2. Jak używać DOWOLNEGO / NIEKTÓREGO operatora logicznego w SQL Server — samouczek SQL Server / TSQL, część 127

  3. Ulubione triki dostrajania wydajności

  4. Pobierz listę baz danych z SQL Server

  5. Znajdź indeks ostatniego wystąpienia podciągu za pomocą T-SQL