Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Cách mới để sao chép tệp trong SQL Server 2019

Hai thủ tục được lưu trữ mới được giới thiệu trong SQL Server 2019 là sys.xp_copy_filesys.xp_copy_files , cho phép bạn sao chép tệp.

Trước SQL Server 2019, bạn cần sử dụng xp_cmdshell , tạo ra một trình bao lệnh Windows và chuyển vào một chuỗi để thực thi. Các thủ tục được lưu trữ mới được giới thiệu trong SQL Server 2019 cho phép bạn sao chép tệp mà không cần dựa vào xp_cmdshell .

Ví dụ 1 - Sao chép 1 tệp

Bạn có thể sử dụng sys.xp_copy_file để sao chép một tệp duy nhất. Việc sử dụng quy trình được lưu trữ này cũng cho phép bạn đặt tên cho tệp mới.

Ví dụ trên Linux:

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

Tôi đã chạy thành công mã này trên máy Mac của mình, sử dụng SQL Server 2019 trên Linux.

Để sao chép tệp trên hệ thống Windows, bạn cần sử dụng quy ước đường dẫn Windows.

Ví dụ trên Windows:

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

Ví dụ 2 - Sao chép Nhiều tệp

Bạn có thể sử dụng sys.xp_copy_files để sao chép nhiều tệp.

Ví dụ trên Linux:

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

Ở đây tôi đang ở trong cùng một thư mục với ví dụ trước. Trong trường hợp này, tôi đã sao chép tất cả các tệp bắt đầu bằng albums và kết thúc bằng .csv . Tôi sử dụng dấu hoa thị (* ) ký tự đại diện để chọn các tệp có thể bao gồm các ký tự khác sau albums một phần.

Ví dụ này sao chép các tệp vào /var/opt/mssql/data/samples/final thư mục.

Ví dụ trên Windows:

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

Xóa tệp

SQL Server 2019 cũng giới thiệu sys.xp_delete_files thủ tục được lưu trữ, cho phép bạn xóa tệp. Xem Cách xóa tệp trong SQL Server 2019 để biết các ví dụ về cách xóa tệp được tạo trong bài viết này.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Giải pháp CHÈN HOẶC CẬP NHẬT trên SQL Server

  2. Hành vi kế hoạch truy vấn bảng tạm thời của SQL Server 2016

  3. Tạo CHẾ ĐỘ XEM được tham số hóa trong SQL Server 2008

  4. Đưa Pivot-Table được tạo động vào một bảng tạm thời

  5. Cách trả lại dấu thời gian Unix trong SQL Server (T-SQL)