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:
Untuk membuat rekam jepret database, menggunakan: Transact-SQL
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.
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).
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)