ID Artikel: 314546 - Kajian Terakhir: 24 September 2011 - Revisi: 2.0

Bagaimana memindahkan database antara komputer yang menjalankan SQL Server

Tips SistemThis article applies to a different operating system than the one you are using. Article content that may not be relevant to you is disabled.

Pada Halaman ini

Perbesar semua | Perkecil semua

RINGKASAN

Artikel ini selangkah demi selangkah menjelaskan cara untuk memindahkan Microsoft SQL Server pengguna database dan paling umum komponen SQL Server antara komputer yang menjalankan SQL Server.

Langkah-langkah yang dijelaskan dalam artikel ini mengasumsikan bahwa Anda tidak akan bergerak Master, Model, Code, atau msdb sistem database. Langkah-langkah memberikan pilihan yang berbeda bagi Anda untuk mentransfer login dan komponen paling umum yang terdapat di dalam Master dan msdb database.

Untuk informasi tentang spesifik item tidak ditransfer ketika Anda mengikuti langkah-langkah pada artikel ini, lihat Bagian "Informasi selengkapnya".

Catatan Untuk Microsoft SQL Server 2008, lihat topik "Mengelola Metadata ketika membuat Database tersedia pada Server contoh lain" pada berikut dalam SQL Server 2008 buku pada baris situs:
http://MSDN.Microsoft.com/en-us/library/ms187580.aspx (http://msdn.microsoft.com/en-us/library/ms187580.aspx)
Catatan Migrasi data dari SQL Server 2000 untuk Microsoft SQL Server 2000 (64-bit) yang didukung. Anda dapat melampirkan database 32-bit untuk 64-bit database dengan menggunakan sp_attach_db sistem disimpan prosedur atau sp_attach_single_file_db sistem disimpan prosedur, atau dengan menggunakan backup dan restore di 32-bit Enterprise Manager. Anda dapat memindahkan database bolak-balik antara 32-bit dan 64-bit versi SQL Server. Anda juga dapat memigrasi data dari SQL Server 7.0 dengan menggunakan metode yang sama. Namun, merendahkan data untuk SQL Server 7.0 dari SQL Server 2000 (64-bit) tidak didukung. Deskripsi dari masing-masing metode berikut.

Langkah 1: Bagaimana memindahkan pengguna database

Jika Anda menggunakan SQL Server 2005, Anda dapat menggunakan metode yang sama untuk memigrasi data dari SQL Server 7.0 atau SQL Server 2000. Namun, alat manajemen di Microsoft SQL Server 2005 berbeda dari alat manajemen dalam SQL Server 7.0 atau SQL Server 2000. Anda harus menggunakan SQL Server Management Studio bukan SQL Server Enterprise Manager. Selain itu, Anda harus menggunakan SQL Server impor dan ekspor Wizard (DTSWizard.exe) bukan Data Transformasi layanan impor dan Ekspor Data Wizard.

Untuk memindahkan database pengguna, gunakan salah satu dari tiga metode berikut.

Metode 1: Backup dan restore database pengguna

Membuat cadangan database pengguna di server sumber, dan kemudian mengembalikan pengguna database ke server tujuan.
  • Database dapat digunakan ketika cadangan adalah dalam proses. Jika pengguna melakukan INSERT, UPDATE, atau menghapus pernyataan pada database setelah cadangan lengkap, cadangan tidak akan berisi perubahan ini. Jika Anda harus mentransfer semua perubahan, Anda dapat memindahkan perubahan-perubahan dengan minimal downtime jika Anda melakukan cadangan log transaksi dan database penuh cadangan.
    1. Mengembalikan cadangan database penuh pada tujuan server dan menentukan DENGAN NORECOVERY pilihan.

      Catatan Untuk mencegah tambahan database modifikasi, mengarahkan pengguna untuk berhenti aktivitas database pada server sumber.
    2. Melakukan transaksi log cadangan dan mengembalikan transaksi log cadangan ke server tujuan dengan menggunakan DENGAN PEMULIHAN pilihan. Downtime terbatas waktu log transaksi Backup dan restore. Untuk informasi lebih lanjut, lihat sub-"Kembalikan" topik di Topik "Transact-SQL referensi" SQL Server buku Online.
  • Database pada server tujuan akan sama ukuran sebagai database pada server sumber. Untuk mengurangi ukuran database, Anda juga harus mengurangi sumber database sebelum Anda melakukan backup, atau mengurangi database tujuan setelah pemulihan selesai. Untuk lebih informasi, melihat sub-topik "Menyusut Database" dalam "membuat dan Mempertahankan database"judul SQL Server buku Online.
  • Apabila Anda memulihkan database ke lokasi file yang berbeda dari sumber database, Anda harus menentukan DENGAN BERGERAK pilihan. Sebagai contoh, pada sumber server database adalah di D:\Mssql\Data folder. Server tujuan tidak memiliki d drive, dan Anda ingin memulihkan database ke map C:\Mssql\Data.Untuk informasi lebih lanjut tentang cara memulihkan database yang lokasi, klik nomor artikel di bawah ini untuk melihat artikel di dalam Basis Pengetahuan Microsoft:
    221465  (http://support.microsoft.com/kb/221465/ ) Menggunakan pilihan dengan bergerak dengan pernyataan pemulihan
    304692  (http://support.microsoft.com/kb/304692/ ) Database SQL Server 7.0 bergerak ke lokasi baru dengan BACKUP dan RESTORE
  • Jika Anda ingin menimpa database yang sudah ada pada server tujuan, Anda harus menentukan DENGAN MENGGANTI pilihan. Untuk informasi lebih lanjut, lihat sub-"Kembalikan" topik di Topik "Transact-SQL referensi" SQL Server buku Online.
  • Tergantung pada versi SQL Server yang Anda pemulihan, character set, urutan, dan pemeriksaan Unicode mungkin harus sama pada sumber dan tujuan server. Untuk informasi lebih lanjut, lihat "Catatan tentang pemeriksaan" kemudian dalam bagian ini.

Metode 2: Gunakan "sp_detach_db" dan "sp_attach_db" disimpan prosedur

Untuk menggunakan sp_detach_db dan sp_attach_db disimpan prosedur, ikuti langkah berikut:
  1. Melepaskan database pada server sumber dengan menggunakan sp_detach_db prosedur yang tersimpan. Anda harus menyalin berkas .mdf, .ndf dan .ldf terkait dengan database untuk server tujuan. Lihat tabel ini untuk deskripsi dari jenis file:
    Perkecil tabel iniPerbesar tabel ini
    Ekstensi nama berkasDeskripsi
    .MDF File data primer
    .NDF File data sekunder
    .LDF File log transaksi
  2. Melampirkan database pada server tujuan dengan menggunakan sp_attach_db disimpan prosedur dan menunjuk ke file Anda disalin ke server tujuan di langkah sebelumnya.Untuk informasi lebih lanjut tentang bagaimana menggunakan ini metode, klik nomor artikel di bawah ini untuk melihat artikel di dalam Basis Pengetahuan Microsoft:
    224071  (http://support.microsoft.com/kb/224071/ ) Bagaimana memindahkan database SQL Server ke lokasi baru dengan menggunakan fungsi Detach dan melampirkan dalam SQL Server
  • Database tidak bisa diakses setelah detach, dan Anda tidak dapat menggunakan database saat Anda menyalin file. Semua data yang terdapat dalam database pada titik waktu dari detach pindah.
  • Set karakter, urutan dan Unicode pemeriksaan mungkin harus sama pada kedua server ketika Anda menggunakan Melampirkan atau Melepaskan metode. Untuk informasi lebih lanjut, lihat catatan berikut tentang pemeriksaan.
Catatan tentang pemeriksaan Jika Anda memindahkan database antara server SQL Server 7.0 dengan menggunakan Backup dan restore atau Melampirkan dan Melepaskan metode, set karakter, menyortir pesanan dan Unicode pemeriksaan harus akan sama pada kedua server. Jika Anda memindahkan database dari SQL Server 7.0 ke SQL Server 2000 atau antara SQL Server 2000 Server, database mempertahankan pemeriksaan sumber database. Ini berarti bahwa jika server tujuan yang menjalankan SQL Server 2000 memiliki pemeriksaan berbeda dari sumber database, tujuan database memiliki pemeriksaan berbeda daripada server tujuan Master, Model, Code, dan msdb database. Untuk selengkapnya, lihat "campuran pemeriksaan Lingkungan"topik dalam SQL Server 2000 buku Online.

Metode 3: Gunakan impor dan Ekspor Data Wizard untuk menyalin objek dan data antara SQL Server Database

Anda dapat menyalin seluruh database atau selektif menyalin objek dan data dari sumber database untuk tujuan database dengan menggunakan Data Transformasi layanan impor dan Ekspor Data Wizard.
  • Basis data sumber dapat digunakan selama transfer. Jika sumber database digunakan selama transfer, Anda mungkin melihat beberapa menghalangi ketika transfer berlangsung.
  • Ketika Anda menggunakan impor dan Ekspor Data Wizard, character set, urutan dan pemeriksaan tidak harus sama antara sumber server dan server tujuan.
  • Karena ruang yang tidak digunakan dalam database sumber tidak bergerak, tujuan database mungkin tidak harus sebagai besar sebagai sumber database. Demikian pula, jika Anda memindahkan hanya beberapa objek, tujuan database mungkin tidak memiliki harus sebagai besar sebagai sumber database.
  • SQL Server 7.0 Data transformasi layanan mungkin tidak mentransfer teks dan gambar lebih dari 64 KB data dengan benar. Masalah ini tidak berlaku untuk versi SQL Server 2000 layanan transformasi Data.Untuk informasi selengkapnya, klik nomor artikel berikut untuk melihat artikel di Pangkalan Pengetahuan Microsoft:
    257425  (http://support.microsoft.com/kb/257425/ ) FIX: DTS objek Transfer tidak mentransfer data BLOB yang lebih besar dari 64 KB

Langkah 2: Cara mentransfer login dan password

Jika Anda tidak mentransfer login dari sumber server untuk server tujuan, pengguna SQL Server Anda saat ini mungkin tidak dapat logon ke server tujuan. Anda dapat mentransfer login dan password dengan menggunakan petunjuk berikut Microsoft basis pengetahuan Artikel:
246133  (http://support.microsoft.com/kb/246133/ ) Cara mentransfer login dan password antara contoh-contoh SQL Server
Database default untuk login pada server tujuan mungkin berbeda dari database default untuk login pada server sumber. Anda dapat mengubah database default untuk logon dengan sp_defaultdb prosedur yang tersimpan. Untuk selengkapnya, lihat "sp_defaultdb" sub-topik topik "Transact-SQL referensi" di SQL Server buku Online.

Langkah 3: Bagaimana untuk memecahkan pengguna yatim

Setelah Anda mentransfer login dan password ke server tujuan, pengguna mungkin tidak dapat mengakses database. Login terkait ke pengguna dengan pengidentifikasi keamanan (SID), dan jika SID tidak konsisten setelah Anda memindahkan database, SQL Server dapat menolak akses pengguna ke database. Ini masalah dikenal sebagai yatim piatu pengguna. Jika Anda mentransfer login dan password oleh menggunakan fitur SQL Server 2000 DTS Transfer Login, Anda mungkin memiliki yatim piatu pengguna. Selain itu, login terpadu diberikan akses pada tujuan server di domain yang berbeda dari sumber server menyebabkan yatim pengguna.
  1. Mencari pengguna yatim piatu. Membuka Query Analyzer pada server tujuan, dan kemudian jalankan kode berikut dalam pengguna database yang Anda Dipindahkan:
    exec sp_change_users_login 'Report'
    Prosedur daftar pengguna manapun yatim piatu yang tidak menghubungkan untuk logon. Jika tidak ada pengguna terdaftar, melewati langkah 2 dan langkah 3 dan lanjutkan ke langkah 4.
  2. Menyelesaikan pengguna yatim piatu. Jika pengguna menjadi yatim piatu, database pengguna dapat log on ke server berhasil tetapi tidak akan memiliki izin untuk mengakses database. Jika Anda mencoba untuk memberikan akses masuk ke database, Anda menerima Setelah pesan galat karena pengguna yang sudah ada:
    Microsoft SQL-DMO (ODBC SQLState: 42000) kesalahan 15023: Pengguna atau peran '% s' sudah ada dalam database saat ini.
    Untuk informasi lebih lanjut tentang cara mengatasi yatim pengguna, klik nomor artikel di bawah ini untuk melihat artikel di dalam Basis Pengetahuan Microsoft:
    240872  (http://support.microsoft.com/kb/240872/ ) Cara mengatasi masalah izin ketika Anda memindahkan database antara server yang menjalankan SQL Server

    Artikel ini berisi petunjuk mengenai bagaimana memetakan login untuk database pengguna dan menyelesaikan pengguna yatim piatu dari standar SQL Server login dan terintegrasi login.

    274188  (http://support.microsoft.com/kb/274188/ ) "Mengatasi masalah Orphaned pengguna" topik di buku Online tidak lengkap

    Artikel ini menjelaskan cara menggunakan sp_change_users_login disimpan prosedur untuk memperbaiki pengguna yatim satu per satu. The sp_change_users_login disimpan prosedur hanya menyelesaikan pengguna yatim piatu dari standar SQL Server login.
  3. Jika (pemilik databasedbo) terdaftar sebagai yatim piatu, menjalankan kode ini dalam database pengguna:
    exec sp_changedbowner 'sa'
    Prosedur yang tersimpan perubahan pemilik database untuk dbo dan memperbaiki masalah. Untuk mengubah database pemilik lain pengguna, jalankan sp_changedbowner lagi dengan pengguna Anda inginkan. Untuk informasi lebih lanjut, lihat sub-topik "sp_changedbowner" di topik "Transact-SQL referensi" SQL Server buku secara Online.
  4. Jika server tujuan Anda menjalankan SQL Server 2000 Paket Layanan 1, pemilik database pengguna mungkin tidak dalam daftar di Pengguna folder dalam Enterprise Manager setelah Anda menjalankan melampirkan atau pemulihan atau keduanya.Untuk informasi selengkapnya, klik nomor artikel berikut untuk melihat artikel di Pangkalan Pengetahuan Microsoft:
    305711  (http://support.microsoft.com/kb/305711/ ) BUG: DBO pengguna tidak menampilkan dalam Enterprise Manager
  5. Anda mungkin menerima pesan galat berikut jika Anda mencoba untuk mengubah sistem administrator (sa) sandi melalui Enterprise Manager jika logon yang dipetakan untuk dbo pada sumber server tidak ada di tujuan Server:
    Kesalahan 21776: [SQL-DMO] nama 'dbo' adalah tidak ditemukan dalam koleksi pengguna. Jika nama adalah nama berkualitas, menggunakan [] untuk memisahkan berbagai bagian dari nama, dan coba lagi.
    Untuk informasi selengkapnya, klik nomor artikel berikut untuk melihat artikel di Pangkalan Pengetahuan Microsoft:
    218172  (http://support.microsoft.com/kb/218172/ ) Tidak dapat mengubah password SA di Enterprise Manager
Warning Jika Anda mengembalikan atau melampirkan database lagi, pengguna database mungkin re-orphaned dan Anda harus mengulangi langkah 3.

Langkah 4: Bagaimana memindahkan pekerjaan, peringatan, dan operator

Langkah 4 opsional. Anda dapat menghasilkan script untuk semua pekerjaan, tanda dan operator pada source server, dan kemudian jalankan script pada tujuan server.
  • Untuk memindahkan pekerjaan, peringatan dan operator, ikuti langkah berikut:
    1. Buka SQL Server Enterprise Manager, dan kemudian memperluas The Manajemen folder.
    2. Memperluas Agen SQL Server, kemudian juga klik- kanan Peringatan, Pekerjaan, atau Operator.
    3. Klik Semua tugas, lalu klik Menghasilkan skrip SQL. Untuk SQL Server 7.0, klik Script semua pekerjaan, atau Peringatan, atau Operator.
    Anda akan memiliki pilihan untuk menghasilkan script untuk Semua tanda, Semua pekerjaan atau Semua operator didasarkan pada item yang Anda klik kanan.
  • Anda dapat memindahkan pekerjaan, peringatan dan operator dari SQL Server 7.0 SQL Server 2000 atau antara server komputer yang sedang menjalankan SQL Server 7.0 dan SQL Server 2000.
  • Jika Anda memiliki operator yang ditetapkan untuk pemberitahuan oleh SQLMail pada server sumber, Anda harus mengatur SQLMail pada tujuan server yang memiliki fungsi yang sama.Untuk informasi selengkapnya, klik nomor artikel berikut untuk melihat artikel di Pangkalan Pengetahuan Microsoft:
    263556  (http://support.microsoft.com/kb/263556/ ) Cara mengkonfigurasi SQL Mail

Langkah 5: Bagaimana memindahkan DTS paket

Langkah 5 opsional. Jika paket DTS disimpan pada sumber server di SQL Server atau repositori, Anda dapat memindahkan mereka jika Anda inginkan. Pada bergerak DTS paket antara server, gunakan salah satu metode berikut.

Metode 1

  1. Simpan paket DTS pada server sumber ke file, dan kemudian buka file paket DTS pada server tujuan.
  2. Simpan paket pada server tujuan untuk SQL Server, atau ke repositori.
    Catatan Anda harus bergerak setiap paket satu per satu dalam berkas terpisah.

Metode 2

  1. Buka setiap paket DTS DTS desainer.
  2. Pada Paket menu, klik Simpan sebagai.
  3. Tentukan tujuan SQL Server.
Catatan Paket tidak dapat berjalan dengan benar pada server baru. Anda mungkin memiliki untuk mengubah paket, dan mengubah referensi dalam paket untuk sambungan, file, sumber data, profil dan informasi lainnya yang terletak di old source server, untuk referensi server tujuan baru. Anda harus membuat perubahan ini pada dasar paket-paket yang didasarkan pada desain dari masing-masing paket bahasa Indonesia.

Langkah 6: Mengubah pengaturan sp_configure untuk mencocokkan sistem sebelumnya

Anda mungkin harus mengubah pengaturan sehingga mereka cocok pengaturan dalam sistem baru. Sebagai contoh, jika sistem baru memiliki memori lebih besar atau jika itu berjalan SQL turunan dan aplikasi, Anda mungkin ingin mengubah min dan pengaturan memori maks server atau pengaturan KAGUM. Anda mungkin harus mengubah pengaturan MAXDOP jika jumlah Core CPU yang terpapar sistem operasi telah berubah.

INFORMASI LEBIH LANJUT

Anda mungkin juga ingin memindahkan barang-barang lainnya seperti terkait server, mirroring, replikasi, login pengiriman, teks lengkap katalog, bernama cadangan perangkat, rencana pemeliharaan, database diagram, database snapshot, kredensial dan proxy account, Endpoint, server scoped DDL pemicu (seperti pemicu masuk), atau item lain yang melibatkan baik master atau msdb. Memeriksa sumber server untuk konfigurasi ini dan mengambil langkah-langkah untuk mengatur mereka secara manual di server tujuan, jika Anda ingin.

Untuk informasi lebih lanjut tentang bagaimana memindahkan teks lengkap komponen, klik nomor artikel di bawah ini untuk melihat artikel di dalam Basis Pengetahuan Microsoft:
240867  (http://support.microsoft.com/kb/240867/ ) Bagaimana untuk memindahkan, menyalin, dan cadangan teks lengkap katalog folder dan file
Database diagram dan sejarah backup dan restore tidak dipindahkan jika Anda mengikuti langkah-langkah dalam artikel ini. Jika Anda harus memindahkan ini informasi, bergerak msdb sistem database. Untuk informasi tentang cara untuk bergerak msdb database, lihat artikel Basis Pengetahuan Microsoft yang dirujuk dalam "langkah 1: Bagaimana memindahkan pengguna database"bagian. Jika Anda memindahkan msdb database, Anda tidak harus mengikuti "Langkah 4: Bagaimana memindahkan pekerjaan, peringatan, dan operator" atau "Langkah 5: Bagaimana memindahkan DTS paket."

REFERENSI

Untuk informasi selengkapnya, klik nomor artikel berikut untuk melihat artikel di Pangkalan Pengetahuan Microsoft:
320125  (http://support.microsoft.com/kb/320125/ ) Bagaimana memindahkan database diagram

Berlaku bagi:
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Express Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Workgroup Edition
  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft SQL Server 2000 64-bit Edition
  • Microsoft SQL Server 7.0 Standard Edition
Kata kunci: 
kbsqlsetup kbhowtomaster kbmt KB314546 KbMtid
Penerjemahan MesinPenerjemahan Mesin
PENTING: Artikel ini diterjemahkan menggunakan perangkat lunak mesin penerjemah Microsoft dan bukan oleh seorang penerjemah. Microsoft menawarkan artikel yang diterjemahkan oleh seorang penerjemah maupun artikel yang diterjemahkan menggunakan mesin sehingga Anda akan memiliki akses ke seluruh artikel baru yang diterbitkan di Pangkalan Pengetahuan (Knowledge Base) dalam bahasa yang Anda gunakan. Namun, artikel yang diterjemahkan menggunakan mesin tidak selalu sempurna. Artikel tersebut mungkin memiliki kesalahan kosa kata, sintaksis, atau tata bahasa, hampir sama seperti orang asing yang berbicara dalam bahasa Anda. Microsoft tidak bertanggung jawab terhadap akurasi, kesalahan atau kerusakan yang disebabkan karena kesalahan penerjemahan konten atau penggunaannya oleh para pelanggan. Microsoft juga sering memperbarui perangkat lunak mesin penerjemah.
Klik disini untuk melihat versi Inggris dari artikel ini:314546  (http://support.microsoft.com/kb/314546/en-us/ )