Artikel ini menjelaskan cara mengubah lokasi file data dan file log untuk database Microsoft SQL Server 2005, SQL Server 2000 atau SQL Server 7.0.
Untuk informasi lebih lanjut tentang bagaimana untuk bergerak sistem database SQL Server 2008, lihat topik "Bergerak sistem database" dalam SQL Server buku Online. Untuk melihat topik ini, pergi ke
Memindahkan sistem database
(http://msdn2.microsoft.com/en-us/library/ms345408.aspx)
Website Microsoft Developer Network (MSDN).
Langkah-langkah yang harus Anda ikuti untuk mengubah lokasi untuk beberapa SQL Server sistem database berbeda dari langkah-langkah yang harus Anda ikuti untuk mengubah lokasi untuk pengguna database. Kasus-kasus khusus ini dijelaskan secara terpisah.
Catatan SQL Server 7.0 sistem database tidak kompatibel dengan SQL
Server 2000. Tidak melampirkan SQL Server 7.0
master,
model,
msdb atau distribusi database SQL Server 2000. Jika Anda menggunakan
SQL Server 2005, Anda hanya dapat melampirkan database SQL Server 2005 untuk
contoh. Semua contoh dalam artikel ini mengasumsikan bahwa SQL Server terinstal
di D:\Mssql7 folder. Selain itu, contoh-contoh berasumsi bahwa semua file data
dan file log yang terletak di folder D:\Mssql7\Data standar. Contoh-contoh
memindahkan file data dan file log untuk semua database ke E:\Sqldata
folder.
Data lokasi asali untuk SQL Server 2005 dan SQL Server 2000 adalah sebagai berikut:
Prasyarat
- Membuat cadangan semua database, terutama master database, dari lokasi mereka saat ini.
- Pastikan bahwa Anda memiliki izin administrator (sa) sistem.
- Pastikan bahwa Anda tahu nama dan lokasi semua file data dan berkas log untuk database.
Catatan Anda dapat menentukan nama dan lokasi semua file
bahwa database menggunakan dengan menggunakan sp_helpfile disimpan prosedur:use <database_name>
go
sp_helpfile
go
- Anda harus memiliki akses eksklusif ke database Anda
bergerak. Jika Anda memiliki masalah selama proses, dan jika Anda tidak dapat
mengakses database yang Anda telah dipindahkan atau jika Anda tidak dapat memulai SQL Server,
memeriksa log kesalahan SQL Server dan SQL Server buku Online untuk informasi lebih
informasi tentang kesalahan yang Anda alami.
Memindahkan database pengguna
Contoh berikut bergerak database yang bernama
mydb. Database ini berisi file data satu, Mydb.mdf, dan satu log
file, Mydblog.ldf. Jika database yang Anda pindah memiliki lebih file data atau
file log, menentukan file dalam daftar koma comma-delimited dalam
sp_attach_db disimpan prosedur. Prosedur
sp_detach_db tidak mengubah terlepas dari berapa banyak file
database berisi karena prosedur
sp_detach_db tidak daftar file.
- Mulai SQL Server 2005 Management Studio. Untuk melakukannya, klik mulai, klik Semua program, klik Microsoft SQL Server 2005, dan kemudian klik SQL Server Management Studio.
- Klik Kueri baru, dan kemudian melepaskan database sebagai berikut:
use master
go
sp_detach_db 'mydb'
go
- Menyalin file data dan file log dari lokasi saat ini (D:\Mssql7\Data) ke lokasi baru (E:\Sqldata).
- Memasang kembali database. Arahkan ke file di baru
lokasi sebagai berikut:
use master
go
sp_attach_db 'mydb','E:\Sqldata\mydbdata.mdf','E:\Sqldata\mydblog.ldf'
go
Verifikasi perubahan lokasi file dengan menggunakan sp_helpfile disimpan prosedur:use mydb
go
sp_helpfile
go
Nilai kolom nama file harus mencerminkan lokasi baru.
Catatan Artikel Pangkalan Pengetahuan Microsoft 922804 menjelaskan masalah untuk database SQL Server 2005 pada network-attached storage. Untuk informasi lebih lanjut, klik
sejumlah artikel berikut untuk melihat artikel di dalam Pangkalan Pengetahuan Microsoft:
922804
(http://support.microsoft.com/kb/922804/
)
FIX: Memasang setelah Anda melepaskan database Microsoft SQL Server 2005 yang berada di network-attached storage, Anda tidak bisa kembali database SQL Server
Mempertimbangkan masalah ini. Selain itu, pertimbangkan
izin yang diterapkan ke database ketika itu terlepas di SQL Server
2005. Untuk informasi lebih lanjut, lihat "Memisahkan dan melampirkan Database"
Bagian dari "Mengamankan Data dan file Log" topik dalam SQL Server buku Online.
Untuk melihat topik ini, pergi ke
Mengamankan Data dan file Log
(http://msdn2.microsoft.com/en-us/library/ms189128.aspx)
MSDN website.
Bergerak sampel database
Untuk memindahkan pub sampel database dan database contoh Northwind di SQL Server 2000 atau SQL Server 7.0, atau untuk memindahkan database contoh AdventureWorks dan AdventureWorksDW sampel database SQL Server 2005, ikuti prosedur yang sama untuk memindahkan database pengguna.
Bergerak model database
SQL Server 2005 dan SQL Server 2000
Dalam SQL Server 2005 dan SQL Server 2000, Anda tidak dapat melepaskan sistem database dengan menggunakan
sp_detach_db disimpan prosedur. Ketika Anda mencoba untuk menjalankan pernyataan
sp_detach_db 'model' , Anda menerima pesan galat berikut:
Server: Msg 7940, tingkat 16, negara bagian 1, baris 1
Sistem
master database, model, msdb, dan Code tidak terlepas.
Untuk memindahkan
model database, Anda harus menjalankan SQL Server bersama dengan opsi
- c , option
-m , dan bendera jejak 3608. Bendera jejak 3608 mencegah SQL Server
dari pemulihan database kecuali
master database.
Catatan Anda tidak akan dapat mengakses database pengguna apapun setelah Anda melakukan
ini. Anda tidak harus melakukan operasi ketika Anda menggunakan bendera jejak ini, selain langkah-langkah berikut. Untuk menambahkan bendera jejak 3608 sebagai startup SQL Server
parameter di SQL Server 2000, ikuti langkah berikut:
- Dalam SQL Server Enterprise Manager, klik kanan-atas server
nama, dan kemudian klik Properti.
- Pada Umum tab, klik Startup
Parameter.
- Menambahkan parameter baru berikut:
-c -m-T3608
Jika Anda menggunakan SQL Server 2005, Anda dapat menggunakan SQL Server
pengelolaan konfigurasi untuk mengubah parameter startup SQL Server
Layanan. Untuk informasi lebih lanjut tentang cara mengubah parameter startup, pergi ke
The
Pilihan Startup layanan database Engine
(http://msdn2.microsoft.com/en-us/library/ms190737.aspx)
MSDN website.
Setelah Anda menambahkan opsi
- c , option
-m dan bendera jejak 3608, ikuti langkah berikut:
- Berhenti dan kemudian restart SQL Server.
- Melepaskan model database dengan menggunakan perintah berikut:
use master
go
sp_detach_db 'model'
go
- Memindahkan file Model.mdf dan Modellog.ldf dari
D:\Mssql7\Data folder ke E:\Sqldata folder.
- Memasang kembali model database dengan menggunakan perintah berikut:
use master
go
sp_attach_db 'model','E:\Sqldata\model.mdf','E:\Sqldata\modellog.ldf'
go
- Menghapus - c -m-T3608 dari startup parameter dalam SQL Server Enterprise Manager atau
dalam SQL Server konfigurasi Manager.
- Berhenti dan kemudian restart SQL Server. Anda dapat memverifikasi perubahan
di lokasi file dengan menggunakan sp_helpfile disimpan prosedur. Misalnya, gunakan perintah berikut:
use model
go
sp_helpfile
go
SQL Server 7.0
- Pastikan bahwa SQL Server agen saat tidak berjalan.
- Ikuti prosedur yang sama untuk pindah pengguna
database.
Memindahkan MSDB database
SQL Server 2005 dan SQL Server 2000
Untuk memindahkan MSDB database, Anda harus menjalankan SQL Server bersama-sama
dengan opsi
- c , option
-m dan jejak bendera 3608. Bendera jejak 3608 mencegah SQL Server
dari pemulihan database kecuali
master database. Untuk menambahkan
-c pilihan, option
-m dan bendera jejak 3608, ikuti langkah-langkah di "bergerak
model database"bagian. Setelah Anda menambahkan opsi - c, opsi -m dan jejak
Bendera 3608, ikuti langkah berikut:
- Berhenti dan kemudian restart SQL Server.
- Pastikan bahwa layanan agen Server SQL saat tidak berjalan.
- Melepaskan msdb database sebagai berikut:
use master
go
sp_detach_db 'msdb'
go
- Memindahkan file Msdbdata.mdf dan Msdblog.ldf dari
lokasi saat ini (D:\Mssql8\Data) ke lokasi baru
(E:\Mssql8\Data).
- Menghapus - c -m-T3608 dari kotak parameter startup di Enterprise Manager.
- Berhenti dan kemudian restart SQL Server.
Catatan Jika Anda mencoba untuk memasang kembali msdb database oleh mulai SQL Server dengan opsi - c , option -m dan bendera jejak 3608, Anda mungkin menerima galat berikut
pesan: Server: Msg 615, tingkat 21, negara bagian 1, baris
1
Tidak dapat menemukan Daftar Tabel database ID 3, nama 'model'.
- Memasang kembali msdb database sebagai berikut:
use master
go
sp_attach_db 'msdb','E:\Mssql8\Data\msdbdata.mdf','E:\Mssql8\Data\msdblog.ldf'
go
Catatan Jika Anda menggunakan prosedur ini bersama-sama dengan bergerak
model database, Anda mencoba untuk melepaskan
msdb database sementara Anda melepaskan
model database. Ketika Anda melakukan ini, Anda harus memasang kembali
model database pertama, dan kemudian memasang kembali
msdb database. Jika Anda memasang kembali
msdb database pertama, Anda menerima galat berikut pesan Anda
Cobalah untuk memasang kembali
model database:
MSG 0, tingkat 11, negara 0, baris 0
Kesalahan yang parah terjadi pada perintah saat ini. Hasil, jika ada,
harus dibuang.
Dalam kasus ini, Anda harus melepaskan
msdb database, memasang kembali
model database, dan kemudian memasang kembali
msdb database.
Setelah Anda memindahkan
msdb database, Anda mungkin menerima pesan galat berikut:
Kesalahan 229: Izin ditolak pada objek MENGEKSEKUSI
'ObjectName', database 'master', pemilik
'dbo'.
Masalah ini terjadi karena mata rantai kepemilikan rusak. Pemilik database untuk
msdb database dan master database yang tidak sama. Dalam hal ini
kasus, kepemilikan
msdb database berubah. Untuk mengatasi masalah ini, jalankan
pernyataan-pernyataan Transact-SQL berikut. Anda dapat melakukan ini dengan menggunakan Osql.exe
prompt perintah utilitas (SQL Server 7.0 dan SQL Server 2000) atau Sqlcmd.exe
prompt perintah utilitas (SQL Server 2005):
USE MSDB
Go
EXEC sp_changedbowner 'sa'
Go
Untuk informasi lebih lanjut, klik nomor artikel berikut ini untuk
melihat artikel di dalam Pangkalan Pengetahuan Microsoft:
272424
(http://support.microsoft.com/kb/272424/
)
Rantai kepemilikan benda memeriksa seluruh database tergantung pada login
yang dipetakan ke objek pemilik
SQL Server 7.0
Catatan Jika Anda menggunakan prosedur ini sementara Anda pindah
msdb dan
model database, Anda harus memasang kembali
model database pertama, dan kemudian memasang kembali
msdb database. Ikuti langkah berikut:
- Pastikan bahwa SQL Server agen saat tidak berjalan.
- Ikuti prosedur yang sama untuk pindah pengguna
database.
Catatan Jika menjalankan SQL Server agen,
sp_detach_db disimpan prosedur akan gagal dan Anda akan menerima
pesan berikut:
Server: Msg 3702, tingkat 16, negara bagian 1,
Baris 0
Tidak bisa drop database 'msdb' karena saat ini di
Gunakan.
Eksekusi DBCC selesai. Jika DBCC dicetak pesan kesalahan, menghubungi Anda
administrator sistem.
Bergerak master database
SQL Server 2005
Untuk informasi lebih lanjut tentang bagaimana untuk bergerak master database dan database sumber, pergi ke
Memindahkan sistem database
(http://msdn2.microsoft.com/en-us/library/ms345408.aspx)
MSDN website.
Anda mungkin mengalami kegagalan ketika Anda memindahkan master database dan basis sumber daya.Untuk informasi lebih lanjut, klik nomor artikel berikut ini untuk melihat artikel di dalam Pangkalan Pengetahuan Microsoft:
918695
(http://support.microsoft.com/kb/918695/
)
Anda mungkin mengalami kegagalan saat Anda menginstal SQL Server 2005 Service Pack 1 di contoh SQL Server 2005
SQL Server 2000 dan SQL Server 7.0
- Mengubah path untuk file master data dan master
file log dalam SQL Server Enterprise Manager.
Catatan Anda juga dapat mengubah lokasi log kesalahan di sini. - Klik kanan-atas SQL Server Enterprise Manager, dan kemudian klik properti.
- Klik Startup parameter untuk melihat entri berikut:
-dD:\MSSQL7\data\master.mdf
-eD:\MSSQL7\log\ErrorLog
-lD:\MSSQL7\data\mastlog.ldf
-d adalah jalan yang memenuhi syarat untuk data master database
file.
-e adalah path lengkap dan memenuhi syarat untuk file log kesalahan.
-l adalah path lengkap dan memenuhi syarat untuk log master database
file. - Mengubah nilai-nilai ini sebagai berikut:
- Menghapus entri saat ini untuk Master.mdf dan
Mastlog.ldf file.
- Tambahkan entri baru menentukan lokasi baru:
-dE:\SQLDATA\master.mdf
-lE:\SQLDATA\mastlog.ldf
- Berhenti SQL Server.
- Salin file Master.mdf dan Mastlog.ldf ke baru
lokasi (E:\Sqldata).
- Me-restart SQL Server.
Memindahkan database Code
Anda dapat memindahkan
Code file dengan menggunakan pernyataan mengubah DATABASE.
- Menentukan nama file logis untuk Code database dengan menggunakan sp_helpfile sebagai berikut:
use tempdb
go
sp_helpfile
go
Nama logis untuk setiap file yang terkandung dalam kolom nama . Contoh ini menggunakan nama file default tempdev dan templog. - Menggunakan pernyataan mengubah DATABASE, menentukan Logis
nama file sebagai berikut:
use master
go
Alter database tempdb modify file (name = tempdev, filename = 'E:\Sqldata\tempdb.mdf')
go
Alter database tempdb modify file (name = templog, filename = 'E:\Sqldata\templog.ldf')
go
Anda harus menerima pesan berikut yang mengonfirmasi perubahan:Pesan 1
File 'tempdev' diubah dalam sysaltfiles.
Menghapus file lama setelah restart SQL Server.
Pesan 2
File 'templog' diubah dalam sysaltfiles.
Menghapus file lama setelah restart SQL Server.
- Menggunakan sp_helpfile dalam Code tidak akan mengkonfirmasi perubahan ini sampai Anda me-restart SQL
Server.
- Berhenti dan kemudian restart SQL Server.
Untuk informasi lebih lanjut, klik nomor artikel berikut ini untuk melihat artikel di dalam Pangkalan Pengetahuan Microsoft:
912397
(http://support.microsoft.com/kb/912397/
)
Layanan SQL Server tidak dapat memulai ketika Anda mengubah startup parameter untuk contoh berkerumun SQL Server 2000 atau SQL Server 2005 ke nilai yang tidak valid
274188
(http://support.microsoft.com/kb/274188/
)
"Masalah pengguna yatim" topik dalam buku Online tidak lengkap
246133
(http://support.microsoft.com/kb/246133/
)
Cara mentransfer login dan password antara contoh dari SQL Server
168001
(http://support.microsoft.com/kb/168001/
)
Pengguna login dan izin pada database mungkin salah setelah database dipulihkan
Untuk informasi lebih lanjut, lihat buku-buku berikut:
ID Artikel: 224071 - Kajian Terakhir: 04 Mei 2013 - Revisi: 7.0
Berlaku bagi:
- Microsoft SQL Server 2005 Standard Edition
- Microsoft SQL Server 2005 Enterprise Edition
- Microsoft SQL Server 2005 Developer Edition
- Microsoft SQL Server 2005 Workgroup Edition
- Microsoft SQL Server 2005 Express Edition
- Microsoft SQL Server 2000 Standard Edition
- Microsoft SQL Server 7.0 Standard Edition
| kbsqlsetup kbinfo kbmt KB224071 KbMtid |
Penerjemahan MesinPENTING: 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:
224071
(http://support.microsoft.com/kb/224071/en-us/
)