Bagikan melalui


Membuat Rekam Jepret Database (Transact-SQL)

Satu-satunya cara untuk membuat rekam jepret database SQL Server adalah dengan menggunakan Transact-SQL. SQL Server Management Studio tidak mendukung pembuatan rekam jepret database.

Sebelum Anda mulai

Prasyarat

Database sumber, yang dapat menggunakan model pemulihan apa pun, harus memenuhi prasyarat berikut:

  • Instans server harus menjalankan edisi SQL Server yang mendukung rekam jepret database. Untuk informasi tentang dukungan untuk rekam jepret database di SQL Server 2014, lihat Fitur yang Didukung oleh Edisi SQL Server 2014.

  • Database sumber harus online, kecuali database adalah database cermin dalam sesi pencerminan database.

  • Untuk membuat rekam jepret database pada database cermin, database harus dalam status pencerminan yang disinkronkan.

  • Database sumber tidak dapat dikonfigurasi sebagai database bersama yang dapat diskalakan.

Penting

Untuk informasi tentang pertimbangan signifikan lainnya, lihat Rekam Jepret Database (SQL Server).

Rekomendasi

Bagian ini membahas praktik terbaik berikut:

Praktik Terbaik: Penamaan Rekam Jepret Database

Sebelum membuat rekam jepret, penting untuk mempertimbangkan cara menamainya. Setiap rekam jepret database memerlukan nama database yang unik. Untuk kemudahan administratif, nama rekam jepret dapat menggabungkan informasi yang mengidentifikasi database, seperti:

  • Nama database sumber.

  • Indikasi bahwa nama baru adalah untuk rekam jepret.

  • Tanggal dan waktu pembuatan rekam jepret, nomor urut, atau beberapa informasi lainnya, seperti waktu hari, untuk membedakan rekam jepret berurutan pada database tertentu.

Misalnya, pertimbangkan serangkaian rekam jepret untuk database AdventureWorks2012 . Tiga rekam jepret harian dibuat pada interval 6 jam antara 6 A.M. dan 6 P.M., berdasarkan jam 24 jam. Setiap rekam jepret harian disimpan selama 24 jam sebelum dihilangkan dan digantikan oleh rekam jepret baru dengan nama yang sama. Perhatikan bahwa setiap nama rekam jepret menunjukkan jam, tetapi bukan hari:

AdventureWorks_snapshot_0600  
AdventureWorks_snapshot_1200  
AdventureWorks_snapshot_1800  

Atau, jika waktu pembuatan rekam jepret harian ini bervariasi dari hari ke hari, konvensi penamaan yang kurang tepat mungkin lebih disukai, misalnya:

AdventureWorks_snapshot_morning  
AdventureWorks_snapshot_noon  
AdventureWorks_snapshot_evening  

Praktik Terbaik: Membatasi Jumlah Rekam Jepret Database

Membuat serangkaian rekam jepret dari waktu ke waktu mengambil rekam jepret berurutan dari database sumber. Setiap rekam jepret bertahan sampai secara eksplisit dihilangkan. Karena setiap rekam jepret akan terus bertambah saat halaman asli diperbarui, Anda mungkin ingin menghemat ruang disk dengan menghapus rekam jepret yang lebih lama setelah membuat rekam jepret baru.

Catatan

Jika Anda ingin kembali ke rekam jepret database, Anda perlu menghapus rekam jepret lain dari database tersebut.

Praktik Terbaik: Koneksi Klien ke Rekam Jepret Database

Untuk menggunakan rekam jepret database, klien perlu mengetahui di mana menemukannya. Pengguna dapat membaca dari satu rekam jepret database saat yang lain sedang dibuat atau dihapus. Namun, ketika Anda mengganti rekam jepret baru untuk yang sudah ada, Anda perlu mengalihkan klien ke rekam jepret baru. Pengguna dapat menyambungkan secara manual ke rekam jepret database dengan SQL Server Management Studio. Namun, untuk mendukung lingkungan produksi, Anda harus membuat solusi terprogram yang secara transparan mengarahkan klien penulisan laporan ke rekam jepret database terbaru database.

Keamanan

Izin

Setiap pengguna yang dapat membuat database dapat membuat rekam jepret database; namun, untuk membuat rekam jepret database cermin, Anda harus menjadi anggota peran server tetap sysadmin .

Cara Membuat Rekam Jepret Database (Menggunakan Transact-SQL)

Untuk membuat rekam jepret database

Catatan

Untuk contoh prosedur ini, lihat Contoh (Transact-SQL), nanti di bagian ini.

  1. Berdasarkan ukuran database sumber saat ini, pastikan Anda memiliki ruang disk yang cukup untuk menyimpan rekam jepret database. Ukuran maksimum rekam jepret database adalah ukuran database sumber pada pembuatan rekam jepret. Untuk informasi selengkapnya, lihat Menampilkan Ukuran File Jarang rekam jepret Database (Transact-SQL).

  2. Terbitkan pernyataan CREATE DATABASE pada file menggunakan klausa AS SNAPSHOT OF. Membuat rekam jepret mengharuskan menentukan nama logis dari setiap file database database sumber. Sintaksisnya adalah sebagai berikut:

    MEMBUAT database database_snapshot_name

    AKTIF

    (

    NAME =logical_file_name,

    FILENAME ='os_file_name'

    ) [ ,...n ]

    SEBAGAI REKAM JEPRET source_database_name

    [;]

    Di mana *source_*database_name adalah database sumber, logical_file_namenama logis yang digunakan di SQL Server saat merujuk file, os_file_name adalah jalur dan nama file yang digunakan oleh sistem operasi saat Anda membuat file, dan database_snapshot_name adalah nama rekam jepret yang ingin Anda kembalikan databasenya. Untuk deskripsi lengkap sintaks ini, lihat CREATE DATABASE (SQL Server Transact-SQL).

    Catatan

    Saat Anda membuat rekam jepret database, file log, file offline, memulihkan file, dan mencabut file tidak diizinkan dalam pernyataan CREATE DATABASE.

Contoh (Transact-SQL)

Catatan

.ss Ekstensi yang digunakan dalam contoh bersifat arbitrer.

Bagian ini berisi contoh-contoh berikut:

J. Membuat rekam jepret pada database AdventureWorks

Contoh ini membuat rekam jepret database pada AdventureWorks database. Nama rekam jepret, AdventureWorks_dbss_1800, dan nama file file jarangnya, AdventureWorks_data_1800.ss, menunjukkan waktu pembuatan, 6 P.M (1800 jam).

CREATE DATABASE AdventureWorks_dbss1800 ON  
( NAME = AdventureWorks_Data, FILENAME =   
'C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\Data\AdventureWorks_data_1800.ss' )  
AS SNAPSHOT OF AdventureWorks;  
GO  

B. Membuat rekam jepret pada database Penjualan

Contoh ini membuat rekam jepret database, sales_snapshot1200, pada Sales database. Database ini dibuat dalam contoh, "Membuat database yang memiliki grup file," di CREATE DATABASE (SQL Server Transact-SQL).

--Creating sales_snapshot1200 as snapshot of the  
--Sales database:  
CREATE DATABASE sales_snapshot1200 ON  
( NAME = SPri1_dat, FILENAME =   
'C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\data\SPri1dat_1200.ss'),  
( NAME = SPri2_dat, FILENAME =   
'C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\data\SPri2dt_1200.ss'),  
( NAME = SGrp1Fi1_dat, FILENAME =   
'C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\mssql\data\SG1Fi1dt_1200.ss'),  
( NAME = SGrp1Fi2_dat, FILENAME =   
'C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\data\SG1Fi2dt_1200.ss'),  
( NAME = SGrp2Fi1_dat, FILENAME =   
'C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\data\SG2Fi1dt_1200.ss'),  
( NAME = SGrp2Fi2_dat, FILENAME =   
'C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\data\SG2Fi2dt_1200.ss')  
AS SNAPSHOT OF Sales;  
GO  

Tugas Terkait

Lihat Juga

BUAT DATABASE (SQL Server Transact-SQL)
Rekam Jepret Database (SQL Server)