Anda sedang offline saat ini, menunggu internet Anda untuk menyambung kembali

Cara menjadwalkan dan mengotomatisasi cadangan pangkalan data SQL Server di SQL Server Express

PENTING: Artikel ini diterjemahkan oleh perangkat lunak penerjemahan mesin Microsoft, dan mungkin telah diedit oleh Masyarakat Microsoft melalui teknologi CTF dan bukan oleh seorang penerjemah profesional. Microsoft menawarkan baik artikel yang diterjemahkan oleh manusia maupun artikel hasil editan terjemahan oleh mesin/komunitas, sehingga Anda dapat mengakses semua artikel di Sentra Pengetahuan yang kami miliki dalam berbagai bahasa. Namun artikel hasil editan mesin atau bahkan komunitas tidak selalu sempurna. Artikel ini dapat mengandung kesalahan dalam hal kosa kata, sintaksis atau tatabahasa, sangat mirip dengan penutur asing yang membuat kekeliruan ketika berbicara dalam bahasa Anda. Microsoft tidak bertanggung jawab atas ketidakakuratan, kesalahan atau kerugian apa pun akibat dari kekeliruan dalam penerjemahan isi atau penggunaannya oleh pelanggan kami. Microsoft juga akan senantiasa memperbarui perangkat lunak penerjemahan mesin dan alat untuk menyempurnakan Editan Hasil Penerjemahan Mesin.

Klik disini untuk melihat versi Inggris dari artikel ini: 2019698
RINGKASAN

SQL Server Express editions tidak menawarkan cara menjadwal pekerjaan atau rencana pemeliharaan karena komponen agen Server SQL tidak disertakan di edisi ini. Oleh karena itu, Anda harus mengambil pendekatan yang berbeda untuk membuat cadangan pangkalan data ketika Anda menggunakan edisi ini.   

Saat ini SQL Server Express pengguna dapat membuat cadangan pangkalan data mereka menggunakan salah satu dari metode berikut ini:

Menggunakan SQL Server Management Studio Express. Ini akan diinstal bersama dengan SQL Server Express lanjut layanan atau SQL Server Express Toolkit. Untuk informasi selengkapnya, kunjungi situs web Microsoft Developer Network (MSDN) berikut:

Membuat cadangan pangkalan data (SQL Server)

  • Gunakan skrip Transact-SQL yang menggunakan cadangan DATABASE keluarga perintah. Untuk informasi selengkapnya, kunjungi website MSDN berikut:

    CADANGAN (Transact-SQL)

    Artikel ini menjelaskan cara menggunakan skrip Transact-SQL bersama-sama dengan Windows Penjadwal tugas untuk mengotomatisasi cadangan pangkalan data SQL Server Express secara dijadwalkan.

  • INFORMASI LEBIH LANJUT

    Anda harus Ikuti tiga langkah ini untuk membuat cadangan pangkalan data SQL Server dengan menggunakan Penjadwal tugas Windows:

    Langkah A: menggunakan SQL Server Management Studio Express atau Sqlcmd untuk membuat prosedur berikut ini yang tersimpan dalam database master Anda:

    Hak cipta © Microsoft Corporation.  Semua hak dilindungi undang-undang.

    Kode ini diluncurkan pada ketentuan

    / / Lisensi Umum Microsoft (MS-PL,http://opensource.org/licenses/ms-pl.html.)

    Gunakan [master]
    GO 
    / *** Objek:StoredProcedure [dbo]. [sp_BackupDatabases] *** /
    SET ANSI_NULLS ON
    buka
    SET QUOTED_IDENTIFIER ON
    buka
    --===
    --Pengarang: Microsoft
    --membuat tanggal: 2010-02-06
    --Keterangan: pangkalan data cadangan untuk SQLExpress
    --Parameter1: databaseName
    --Parameter2: backupType F = penuh, D = diferensial, L = log
    --Parameter3: cadangan lokasi berkas
    --===
    buat prosedur [dbo]. [ sp_BackupDatabases]
    @databaseName sysname = null,
    @backupType CHAR(1),
    @backupLocation nvarchar(200)
    AS
    ditetapkan pada NOCOUNT; 
               
               DECLARE @DBs TABLE
               (
                      ID int IDENTITY PRIMARY KEY,
                     DBNAME nvarchar(500)
               )
               
                -- Pick out only databases which are online in case ALL databases are chosen to be backed up
                -- If specific database is chosen to be backed up only pick that out from @DBs
               INSERT INTO @DBs (DBNAME)
               SELECT Name FROM master.sys.databases
               where state=0
               AND name=@DatabaseName
               OR @DatabaseName IS NULL
               ORDER BY Name
               
               -- Filter out databases which do not need to backed up
               IF @backupType='F'
                     BEGIN
                     Hapus @DBs mana DBNAME di ('Code', 'Northwind', 'pub', 'AdventureWorks')
    akhir
    @backupType ELSE IF = telah '
    mulai
    Hapus @DBs mana DBNAME di ('Code', 'Northwind', 'pub', 'master', 'AdventureWorks')
    akhir
    @backupType ELSE IF = 'L'
    mulai
    Hapus @DBs mana DBNAME di ('Code', 'Northwind', 'pub', 'master', 'AdventureWorks')
    akhir
    ELSE
    mulai
    kembali
    akhir
    --menyatakan variabel
    DECLARE @BackupName varchar(100)
    DECLARE @BackupFile varchar(100)
    DECLARE @DBNAME varchar(300)
    DECLARE @sqlCommand NVARCHAR(1000)
    DECLARE @dateTime NVARCHAR(20)
    DECLARE @Loop int
    --Loop melalui database satu
    pilih @Loop = min(ID) dari @DBs
    sementara @Loop adalah tidak NULL
    mulai
    --nama Database harus dalam format [dbname] karena beberapa - atau _ namanya
         SET @DBNAME = '[' +(SELECT DBNAME FROM @DBs WHERE ID = @Loop) +']'
    --mengatur format n yyyyhhmmss tanggal dan waktu yang saat ini
    SET @dateTime = ganti (MENGKONVERSI (VARCHAR, GETDATE(),101),'/','') + '_' +mengganti (MENGKONVERSI (VARCHAR, GETDATE(),108),':','')
    --membuat cadangan filename dalam format path\filename.extension untuk membuat cadangan lengkap, perbedaan dan log
    jika @backupType = 'F'
    SET @BackupFile = @backupLocation + mengganti (ganti (@DBNAME, ' [', ''),'] ','') + '_FULL_' + @dateTime + '. BAK'
    ELSE IF @backupType = telah '
    SET @BackupFile = @backupLocation + mengganti (ganti (@DBNAME, ' [', ''),'] ','') + '_DIFF_' + @dateTime + '. BAK'
    ELSE IF @backupType = 'L'
    SET @BackupFile = @backupLocation + mengganti (ganti (@DBNAME, ' [', ''),'] ','') + '_LOG_' + @dateTime + '. TRN'
    --menyediakan nama untuk menyimpan di media cadangan
    jika @backupType = 'F'
    SET @BackupName = REPLACE(REPLACE(@DBNAME,'[',''),']','') +' penuh cadangan untuk ' + @dateTime
    jika @backupType = telah '
    SET @BackupName = REPLACE(REPLACE(@DBNAME,'[',''),']','') +' diferensial cadangan untuk ' + @dateTime
    jika @backupType = 'L'
    SET @BackupName = REPLACE(REPLACE(@DBNAME,'[',''),']','') +' cadangan log untuk ' + @dateTime
    --membuat perintah SQL dinamis untuk dijalankan
    jika @backupType = 'F'
    mulai
    SET @sqlCommand = 'Cadangan DATABASE' +@DBNAME+' untuk DISK = '''+@BackupFile+ ''' dengan INIT , Nama = ''' +@BackupName+'' ', NOSKIP, NOFORMAT'
    akhir
    jika @backupType = telah '
    mulai
    SET @sqlCommand = 'Cadangan DATABASE' +@DBNAME+' untuk DISK = '''+@BackupFile+ ''' dengan DIFERENSIAL, INIT, nama = ''' +@BackupName+'' ', NOSKIP, NOFORMAT'
    akhir
    jika @backupType = 'L'
    mulai
    SET @sqlCommand = 'Cadangan LOG' +@DBNAME+' untuk DISK = '''+@BackupFile+ ''' dengan INIT, nama = ''' +@BackupName+'' ', NOSKIP, NOFORMAT'
    akhir
    --eksekusi perintah SQL yang dihasilkan
    EXEC(@sqlCommand)
    --Goto pangkalan data berikutnya
    pilih @Loop = min(ID) dari @DBs mana ID > @Loop
    akhir

    Langkah B: di editor teks, membuat berkas batch yang bernama Sqlbackup.bat, dan kemudian salin teks dari salah satu contoh berikut ke berkas tersebut, tergantung pada skenario Anda:

    Example1:Cadangan lengkap dari semua database dalam contoh bernama lokal SQLEXPRESS menggunakan otentikasi Windows

    Sqlbackup.bat

    sqlcmd -S. \EXPRESS-E -Q "EXEC sp_BackupDatabases @backupLocation = telah: \SQLBackups\', @backupType = 'F'" 

    Example2:diferensial cadangansemua database dalam contoh bernama lokal SQLEXPRESS menggunakan SQLLogin dan sandinya

    Sqlbackup.bat

    sqlcmd - U SQLLogin -P sandi -S. \SQLEXPRESS -Q "EXEC sp_BackupDatabases@backupLocation = D:\SQLBackups, @BackupType = telah '"

    Catatan: SQLLogin shouldhave di setidaknya peran Operator cadangan di SQL Server.


    Contoh 3:Cadangan log semua database di lokal bernama contoh SQLEXPRESS menggunakan otentikasi Windows

    Sqlbackup.bat

    sqlcmd -S. \SQLEXPRESS -E -Q "EXEC sp_BackupDatabases @backupLocation = telah: \SQLBackups\', @backupType = 'L'"

    Contoh 4: Penuh cadangan pangkalan data USERDB dalam contoh bernama lokal SQLEXPRESS menggunakan otentikasi Windows

    Sqlbackup.bat

    sqlcmd -S. \SQLEXPRESS -E -Q "EXEC sp_BackupDatabases @backupLocation = telah: \SQLBackups\', @databaseName = USERDB, @backupType = 'F'"

    Demikian pula, Anda dapat membuat diferensial cadangan dari USERDB oleh menempel di akan ' untuk @backupType parameter dan cadangan log USERDB oleh paste di 'L' untuk@backupType parameter.

    Langkah C:Jadwal a pekerjaan dengan menggunakan Windows Penjadwal tugas untuk menjalankan berkas batch yang Anda buat pada langkah B. Untuk melakukannya, ikuti langkah-langkah berikut:

    1. Pada komputer yang menjalankan SQL Server Express, klikmulai, arahkan keSemua program, arahkan keaksesoris, arahkan keAlat sistem, dan kemudian kliktugas terjadwal. 
    2. Klik dua kaliTambah tugas terjadwal.  
    3. Pada Wisaya jadwal tugas, klikberikutnya.  
    4. klik Browse, klik berkas batch yang Anda buat pada langkah B, dan kemudian klikbuka.  
    5. KetikSQLBACKUP untuk nama tugas, klik setiap hari, dan kemudian klikberikutnya.  
    6. Tentukan informasi untuk jadwal untuk menjalankan tugas. (Kami menyarankan Anda untuk menjalankan tugas ini sekurangnya satu kali setiap hari.) Kemudian, klikberikutnya.
    7. Di bidangMasukkan nama pengguna , ketik nama pengguna, dan kemudian ketik sandi pada kolomMasukkan sandi .

      Catatan Pengguna ini harus setidaknya ditetapkan peran BackupOperator tingkat SQL Server apabila Anda menggunakan salah satu dari file batch dalam contoh 1, 3 atau 4.
    8. Klikberikutnya, dan kemudian klik selesai.  
    9. Menjalankan tugas terjadwal sekurangnya satu kali untuk memastikan bahwa cadangan berhasil dibuat.

      CatatanFolder untuk eksekusi SQLCMD sedang umumnya variabel Path untuk server setelah SQL Server diinstal, namun jika variabel Path tidak mencantumkan folder ini, Anda dapat menemukan di bawah< Instal lokasi > \90\Tools\Binn (misalnya: C:\Program Files\Microsoft SQL Server\90\Tools\Binn).

      Perhatikan hal berikut ini saat Anda menggunakan prosedur yang didokumentasikan dalam artikel ini:

      • Layanan Penjadwal tugas Windows harus dijalankan saat pekerjaan dijadwalkan untuk dijalankan. Kami menyarankan Anda untuk menetapkan jenis startup untuk layanan ini sebagaiotomatis. Hal ini memastikan bahwa layanan akan berjalan bahkan pada restart.
      • Tidak akan banyak ruang di kandar yang cadangan yang ditulis. Kami sarankan Anda membersihkan berkas lama di folder cadangan secara teratur untuk memastikan bahwa Anda tidak kehabisan ruang disk. Skrip tidak berisi logika untuk membersihkan berkas lama.

      Referensi tambahan

    Peringatan: Artikel ini telah diterjemahkan secara otomatis

    Properti

    ID Artikel: 2019698 - Tinjauan Terakhir: 02/06/2016 06:25:00 - Revisi: 4.0

    Microsoft SQL Server 2014 Express, Microsoft SQL Server 2012 Express, Microsoft SQL Server 2008 Express, Microsoft SQL Server 2008 Express with Advanced Services, Microsoft SQL Server 2005 Express Edition, Microsoft SQL Server 2005 Express Edition with Advanced Services

    • kbmt KB2019698 KbMtid
    Tanggapan
    ="text/javascript"> Asimov.clickstreamTracker.init();