Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Secara terprogram lepaskan database SQL Server untuk menyalin file mdf

Mengapa tidak membuat cadangan biasa (mudah dilakukan dengan sqlcommand) dan menambahkan fitur bagi pengguna untuk memulihkan file cadangan dengan mudah dengan mengklik tombol?

  • Anda dapat membuat cadangan database dengan perintah sql
  • Anda dapat keluar dan zip file cadangan dengan perintah sql
  • Anda juga dapat mengeluarkan dan mem-ftp file cadangan secara otomatis ke server web jika Anda mau.

Apa yang digunakan pengguna akhir untuk menggunakan db Anda? Program winform? Maka mudah dilakukan untuk melakukan semuanya dengan klik tombol untuk pengguna.

Berikut adalah beberapa contoh kode untuk itu:

Declare @CustomerID int
declare @FileName nvarchar(40)
declare @ZipFileName nvarchar(40)
declare @ZipComand nvarchar(255)


set @CustomerID=20 --Get from database instead in real life application
SET @FileName='c:\backups\myback'+ cast(@customerID as nvarchar(10))+'.bak'
SET @ZipFileName='c:\backups\myback'+ cast(@customerID as nvarchar(10))+'.zip'

--Backup database northwind
backup database northwind to [email protected]

--Zip the file, I got a commanddriven zip.exe from the net somewhere.
set @ZipComand= 'zip.exe -r '[email protected]+' '[email protected]
EXEC xp_cmdshell @zipcomand,NO_output

--Execute the batfile that ftp:s the file to the server
exec xp_cmdshell 'c:\movetoftp.bat',no_output

--Done!

Anda harus memiliki movetoftp.bat yang berisi ini (ubah ftp-server ke Anda):
ftp -s:ftpcommands.txt ftp.myftp.net

Dan Anda harus memiliki ftpcommands.txt yang berisi ini (Anda dapat membuat file ini dibuat secara dinamis hanya dengan file zip yang tepat oleh sqlcommands juga, tetapi saya membiarkan Anda melakukannya sendiri):

ftpusername
ftppassword
biner
prompt n
mput c:\backups\*.zip
keluar



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara mendapatkan informasi tanggal/waktu dari kolom TIMESTAMP?

  2. Fungsi Tab Silang SQL

  3. Cara menghasilkan Script untuk Menambahkan Batasan Default ke Kolom di Beberapa Tabel di Database SQL Server - Tutorial SQL Server / TSQL Bagian 94

  4. Cara termudah untuk memvalidasi pengguna dalam prosedur tersimpan?

  5. Gunakan COL_LENGTH() untuk Mendapatkan Panjang Kolom di SQL Server