Cara menggunakan fungsi Attach dan Detach untuk memindahkan database SQL Server

Terjemahan Artikel Terjemahan Artikel
ID Artikel: 224071 - Melihat produk di mana artikel ini berlaku.
Perbesar semua | Perkecil semua

Pada Halaman ini

Ringkasan

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 selengkapnya tentang cara 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 situs web Microsoft Developer Network (MSDN).

Informasi lebih lanjut

Langkah-langkah yang harus Anda ikuti untuk mengubah lokasi untuk beberapa database sistem pada SQL Server berbeda dari langkah-langkah yang harus Anda ikuti untuk mengubah lokasi untuk database pengguna. Kasus-kasus khusus ini dijelaskan secara terpisah.

Catatan Database sistem pada SQL Server 7.0 tidak kompatibel dengan SQL Server 2000. Jangan melampirkan database sistem master, model, msdb atau distribusi database dari SQL Server 7.0 ke SQL Server 2000. Jika Anda menggunakan SQL Server 2005, Anda hanya dapat melampirkan database SQL Server 2005 ke instance. Semua contoh dalam artikel ini mengasumsikan bahwa SQL Server terinstal di D:\Mssql7 folder. Selain itu, contoh berasumsi bahwa semua file data dan file log terletak di folder D:\Mssql7\Data standar. 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, terutamamaster database, dari lokasi mereka saat ini.
  • Makesure 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 filesthat menggunakan database dengan menggunakan sp_helpfile disimpan prosedur:
    use <database_name>
    go
    sp_helpfile
    go
  • Anda harus memiliki akses eksklusif ke database yang Anda pindah. Jika Anda memiliki masalah selama proses, dan jika Anda cannotaccess database yang Anda telah dipindahkan atau jika Anda tidak dapat memulai SQL Server, memeriksa log kesalahan SQL Server dan SQL Server buku Online untuk moreinformation tentang kesalahan yang Anda alami.

Memindahkan database pengguna

Contoh berikut memindahkan database yang bernama mydb. Database ini berisi satu file data, Mydb.mdf, dan satu berkas log, Mydblog.ldf. Jika database yang Anda pindah memiliki lebih banyak data file 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 mengandung karena prosedur sp_detach_db tidak daftar file.
  1. 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.
  2. Klik Kueri baru, dan kemudian melepaskan database sebagai berikut:
    use master
       go
       sp_detach_db 'mydb'
       go
  3. Menyalin file data dan file log dari lokasi saat ini (D:\Mssql7\Data) ke lokasi baru (E:\Sqldata).
  4. Memasang kembali database. Arahkan ke file dalam newlocation sebagai berikut:
    use master
      go
      sp_attach_db 'mydb','E:\Sqldata\mydbdata.mdf','E:\Sqldata\mydblog.ldf'
      go
    Verifikasi perubahan lokasi berkas dengan menggunakan prosedur tersimpan sp_helpfile:
    use mydb
       go
       sp_helpfile
       go
    Nilai kolom nama file harus mencerminkan lokasi baru.
CatatanArtikel Pangkalan Pengetahuan Microsoft 922804 menjelaskan masalah untuk database SQL Server 2005 penyimpanan jaringan yang terpasang. Untuk informasi lebih lanjut, klik nomor artikel berikut ini untuk melihat artikel di dalam Microsoft Knowledge Base:
922804 FIX: Setelah Anda melepaskan database Microsoft SQL Server 2005 yang berada di network-attached storage, Anda tidak bisa kembali memasang database SQL Server
Pertimbangkan masalah ini. Selain itu, pertimbangkan izin yang diterapkan ke database ketika ia terlepas di SQL Server 2005. Untuk selengkapnya, lihat topik bagian "Memisahkan dan melampirkan Database" dari "Mengamankan Data dan file Log" dalam SQL Server Books Online. Untuk melihat topik ini, pergi ke Mengamankan Data dan file Log MSDN website.

Memindahkan database contoh

Untuk memindahkan database contoh pubs dan Northwind di SQL Server 2000 atau SQL Server 7.0, atau untuk memindahkan database contoh AdventureWorks dan AdventureWorksDW di SQL Server 2005, ikuti prosedur yang sama untuk memindahkan database pengguna.

Memindahkan database model

SQL Server 2005 dan SQL Server 2000

SQL Server 7.0

Memindahkan database MSDB

SQL Server 2005 dan SQL Server 2000

SQL Server 7.0

Memindahkan database master

SQL Server 2005

SQL Server 2000 dan SQL Server 7.0

Memindahkan database tempdb

Anda dapat memindahkan tempdb file dengan menggunakan pernyataan mengubah DATABASE.
  1. Menentukan nama file logis untuk database tempdb dengan menggunakan sp_helpfile sebagai berikut:
    use tempdb
    go
    sp_helpfile
    go
    Nama logis untuk setiap file yang terkandung dalam kolomnama . Contoh ini menggunakan nama file default tempdev dan templog.
  2. Menggunakan pernyataan mengubah DATABASE, menentukan nama logicalfile 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' dimodifikasi dalam sysaltfiles.Menghapus file lama setelah restart SQL Server.
    Pesan 2
    File 'templog' dimodifikasi dalam sysaltfiles.Menghapus file lama setelah restart SQL Server.
  3. Menggunakan sp_helpfile dalam Code tidak akan mengkonfirmasi perubahan ini sampai Anda me-restart SQLServer.
  4. Berhenti dan kemudian restart SQL Server.

Referensi

Untuk informasi lebih lanjut, klik nomor artikel berikut ini untuk melihat artikel di dalam Pangkalan Pengetahuan Microsoft:
912397 Layanan SQL Server tidak dapat dimulai ketika Anda mengubah startup parameter untuk contoh berkerumun SQL Server 2000 atau SQL Server 2005 ke nilai yang tidak sah
274188 "Masalah pengguna yatim" topik dalam buku Online tidak lengkap
246133 Cara mentransfer login dan password antara contoh dari SQL Server
168001 Pengguna login dan izin pada database mungkin salah setelah database dipulihkan

Untuk informasi lebih lanjut, lihat buku-buku berikut:
Microsoft Corporation
Microsoft SQL Server 7.0 sistem administrasi Training Kit
Microsoft Press, 2001
Microsoft Corporation
MCSE pelatihan Kit: Microsoft SQL Server 2000 sistem administrasi
Microsoft Press, 2001
Microsoft Corporation
Kit sumber daya Microsoft SQL Server 2000
Microsoft Press, 2001

Properti

ID Artikel: 224071 - Kajian Terakhir: 22 Juni 2014 - Revisi: 10.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
Kata kunci: 
kbsqlsetup kbinfo kbmt KB224071 KbMtid
Penerjemahan Mesin
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: 224071

Berikan Masukan

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com