Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Topik ini menjelaskan cara memindahkan database sistem di SQL Server. Memindahkan database sistem mungkin berguna dalam situasi berikut:
Pemulihan dari kegagalan. Misalnya, database dalam mode tersangka atau telah dimatikan karena kegagalan perangkat keras.
Relokasi yang direncanakan.
Relokasi untuk pemeliharaan disk yang terjadwal.
Prosedur berikut berlaku untuk memindahkan file database dalam instans SQL Server yang sama. Untuk memindahkan database ke instans SQL Server lain atau ke server lain, gunakan operasi pencadangan dan pemulihan atau lepaskan dan lampirkan .
Prosedur dalam topik ini memerlukan nama logis file database. Untuk mendapatkan nama, kueri kolom nama dalam tampilan katalog sys.master_files .
Penting
Jika Anda memindahkan database sistem dan kemudian membangun kembali database master, Anda harus memindahkan database sistem lagi karena operasi pembangunan kembali menginstal semua database sistem ke lokasi defaultnya.
Dalam Topik Ini
Relokasi Terencana dan Prosedur Pemeliharaan Disk Terjadwal
Untuk memindahkan data database sistem atau file log sebagai bagian dari relokasi terencana atau operasi pemeliharaan terjadwal, ikuti langkah-langkah ini. Prosedur ini berlaku untuk semua database sistem kecuali database master dan Sumber Daya.
Agar setiap file dipindahkan, jalankan pernyataan berikut.
ALTER DATABASE database_name MODIFY FILE ( NAME = logical_name , FILENAME = 'new_path\os_file_name' )Hentikan instans SQL Server atau matikan sistem untuk melakukan pemeliharaan. Untuk informasi selengkapnya, lihat Mulai, Hentikan, Jeda, Lanjutkan, Mulai Ulang Mesin Database, Agen SQL Server, atau Layanan Browser SQL Server.
Pindahkan file ke lokasi baru.
Mulai ulang instans SQL Server atau server. Untuk informasi selengkapnya, lihat Mulai, Hentikan, Jeda, Lanjutkan, Mulai Ulang Mesin Database, Agen SQL Server, atau Layanan Browser SQL Server.
Verifikasi perubahan file dengan menjalankan kueri berikut.
SELECT name, physical_name AS CurrentLocation, state_desc FROM sys.master_files WHERE database_id = DB_ID(N'<database_name>');
Jika database msdb dipindahkan dan instans SQL Server dikonfigurasi untuk Email Database, selesaikan langkah-langkah tambahan ini.
Verifikasi bahwa Service Broker diaktifkan untuk database msdb dengan menjalankan kueri berikut.
SELECT is_broker_enabled FROM sys.databases WHERE name = N'msdb';Untuk informasi selengkapnya tentang mengaktifkan Service Broker, lihat ALTER DATABASE (Transact-SQL).
Verifikasi bahwa Email Database berfungsi dengan mengirim email pengujian.
Prosedur Pemulihan Kegagalan
Jika file harus dipindahkan karena kegagalan perangkat keras, ikuti langkah-langkah ini untuk memindahkan file ke lokasi baru. Prosedur ini berlaku untuk semua database sistem kecuali database master dan Sumber Daya.
Penting
Jika database tidak dapat dimulai, yaitu dalam kondisi mencurigakan atau dalam status belum sepenuhnya dipulihkan, hanya anggota dengan peran tetap sysadmin yang dapat memindahkan file tersebut.
Hentikan instans SQL Server jika sudah berjalan.
Mulai instans SQL Server dalam mode pemulihan khusus master dengan memasukkan salah satu perintah berikut pada prompt perintah. Parameter yang ditentukan dalam perintah ini peka terhadap huruf besar/kecil. Perintah gagal ketika parameter tidak ditentukan seperti yang ditunjukkan.
Untuk instans default (MSSQLSERVER), jalankan perintah berikut:
NET START MSSQLSERVER /f /T3608Untuk instans bernama, jalankan perintah berikut:
NET START MSSQL$instancename /f /T3608
Untuk informasi selengkapnya, lihat Mulai, Hentikan, Jeda, Lanjutkan, Mulai Ulang Mesin Database, Agen SQL Server, atau Layanan Browser SQL Server.
Agar setiap file dipindahkan, gunakan perintah sqlcmd atau SQL Server Management Studio untuk menjalankan pernyataan berikut.
ALTER DATABASE database_name MODIFY FILE( NAME = logical_name , FILENAME = 'new_path\os_file_name' )Untuk informasi selengkapnya tentang menggunakan utilitas sqlcmd , lihat Menggunakan Utilitas sqlcmd.
Keluar dari utilitas sqlcmd atau SQL Server Management Studio.
Hentikan instans dari SQL Server. Sebagai contoh, jalankan
NET STOP MSSQLSERVER.Pindahkan file ke lokasi baru.
Mulai ulang instans SQL Server. Sebagai contoh, jalankan
NET START MSSQLSERVER.Verifikasi perubahan file dengan menjalankan kueri berikut.
SELECT name, physical_name AS CurrentLocation, state_desc FROM sys.master_files WHERE database_id = DB_ID(N'<database_name>');
Memindahkan Database Master
Untuk memindahkan database master, ikuti langkah-langkah ini.
Dari menu Mulai , arahkan ke Semua Program, arahkan ke Microsoft SQL Server, arahkan ke Alat Konfigurasi, lalu klik SQL Server Configuration Manager.
Di simpul Layanan SQL Server, klik kanan instans SQL Server (misalnya, SQL Server (MSSQLSERVER)) dan pilih Properti.
Dalam kotak dialog Properti SQL Server (instance_name), klik tab Parameter Startup .
Dalam kotak Parameter yang ada , pilih parameter -d untuk memindahkan file data master. Klik Perbarui untuk menyimpan perubahan.
Dalam kotak Tentukan parameter startup , ubah parameter ke jalur baru database master.
Dalam kotak Parameter yang ada , pilih parameter -l untuk memindahkan file log master. Klik Perbarui untuk menyimpan perubahan.
Dalam kotak Tentukan parameter startup , ubah parameter ke jalur baru database master.
Nilai parameter untuk file data harus mengikuti
-dparameter dan nilai untuk file log harus mengikuti-lparameter . Contoh berikut menunjukkan nilai parameter untuk lokasi bawaan file data master.-dC:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\DATA\master.mdf-lC:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\DATA\mastlog.ldfJika relokasi yang direncanakan untuk file data master adalah
E:\SQLData, nilai parameter akan diubah sebagai berikut:-dE:\SQLData\master.mdf-lE:\SQLData\mastlog.ldfHentikan instans SQL Server dengan mengklik kanan nama instans dan memilih Hentikan.
Pindahkan file master.mdf dan mastlog.ldf ke lokasi baru.
Mulai ulang instans SQL Server.
Verifikasi perubahan file untuk database master dengan menjalankan kueri berikut.
SELECT name, physical_name AS CurrentLocation, state_desc FROM sys.master_files WHERE database_id = DB_ID('master'); GO
Memindahkan Database Sumber Daya
Lokasi database Resource adalah <drive>:\Program Files\Microsoft SQL Server\MSSQL<version>.<instance_name>\MSSQL\Binn\. Database tidak dapat dipindahkan.
Tindak Lanjut: Setelah Memindahkan Semua Database Sistem
Jika Anda telah memindahkan semua database sistem ke drive atau volume baru atau ke server lain dengan huruf drive yang berbeda, buat pembaruan berikut.
Ubah jalur log SQL Server Agent. Jika Anda tidak memperbarui jalur ini, SQL Server Agent akan gagal dimulai.
Ubah lokasi default database. Membuat database baru mungkin gagal jika huruf dan jalur drive yang ditentukan sebagai lokasi default tidak ada.
Mengubah Jalur Log Agen SQL Server
Dari SQL Server Management Studio, di Object Explorer, perluas SQL Server Agent.
Klik kanan Log Kesalahan dan klik Konfigurasikan.
Dalam kotak dialog Konfigurasi Log Kesalahan Agen SQL Server, tentukan lokasi baru file SQLAGENT.OUT. Lokasi defaultnya adalah C:\Program Files\Microsoft SQL Server\MSSQL12.<>instance_name\MSSQL\Log\.
Mengubah lokasi default database
Dari SQL Server Management Studio, di Object Explorer, klik kanan server SQL Server dan klik Properti.
Dalam kotak dialog Properti Server, pilih Pengaturan Database.
Di bawah Lokasi Default Database, telusuri ke lokasi baru untuk kedua file data dan log.
Hentikan dan mulai layanan SQL Server untuk menyelesaikan perubahan.
Contoh
A. Memindahkan database tempdb
Contoh berikut memindahkan tempdb data dan file log ke lokasi baru sebagai bagian dari relokasi yang direncanakan.
Nota
Karena tempdb dibuat ulang setiap kali instans SQL Server dimulai, Anda tidak perlu memindahkan data dan file log secara fisik. File dibuat di lokasi baru ketika layanan dimulai ulang di langkah 3. Hingga layanan dimulai ulang, tempdb terus menggunakan data dan file log di lokasi yang ada.
Tentukan nama
tempdbfile logis database dan lokasinya saat ini pada disk.SELECT name, physical_name AS CurrentLocation FROM sys.master_files WHERE database_id = DB_ID(N'tempdb'); GOUbah lokasi setiap file dengan menggunakan
ALTER DATABASE.USE master; GO ALTER DATABASE tempdb MODIFY FILE (NAME = tempdev, FILENAME = 'E:\SQLData\tempdb.mdf'); GO ALTER DATABASE tempdb MODIFY FILE (NAME = templog, FILENAME = 'F:\SQLLog\templog.ldf'); GOHentikan dan mulai ulang instans SQL Server.
Verifikasi perubahan file.
SELECT name, physical_name AS CurrentLocation, state_desc FROM sys.master_files WHERE database_id = DB_ID(N'tempdb');Hapus file
tempdb.mdfdantemplog.ldfdari lokasi asli.
Lihat Juga
Database Sumber Daya
tempdb database
Master Database
msdb Database
Database model
Memindahkan Database Pengguna
Memindahkan File Database
Mulai, Hentikan, Jeda, Lanjutkan, Mulai Ulang Mesin Database, Agen SQL Server, atau Layanan Browser SQL Server
ALTER DATABASE (Transact-SQL)
Membangun Kembali Database Sistem