Jika Anda ingin memigrasikan data dari SQL Server 2017, lihat Memigrasikan data antara SQL Server 2017 dan Cloud SQL untuk SQL Server menggunakan file cadangan.
Tutorial ini ditujukan untuk admin sistem, developer, engineer, admin database, atau engineer DevOps yang ingin memigrasikan data dari SQL Server 2008 ke Cloud SQL untuk SQL Server 2017 atau yang ingin melakukan upgrade dari SQL Server 2008 ke SQL Server 2017.
Tutorial ini mengasumsikan bahwa Anda memiliki lisensi SQL Server 2008 dan sudah mengetahui hal-hal berikut:
- Microsoft SQL Server 2008
- Microsoft SQL Server 2017
- Microsoft PowerShell
- Cloud Storage
- Cloud SQL
Tujuan
- Membuat instance Cloud SQL untuk SQL Server.
- Membuat bucket Cloud Storage.
- Mencadangkan database Anda.
- Mengimpor database ke Cloud SQL untuk SQL Server.
- Memvalidasi data yang telah diimpor.
Biaya
Dalam dokumen ini, Anda akan menggunakan komponen Google Cloudyang dapat ditagih berikut:
Untuk membuat perkiraan biaya berdasarkan proyeksi penggunaan Anda, gunakan kalkulator harga.
Setelah menyelesaikan tugas yang dijelaskan dalam dokumen ini, Anda dapat menghindari penagihan berkelanjutan dengan menghapus resource yang Anda buat. Untuk mengetahui informasi selengkapnya, baca bagian Pembersihan.
Sebelum memulai
Di konsol Google Cloud , di halaman pemilih project, pilih atau buat project Google Cloud .
Pastikan penagihan diaktifkan untuk project Google Cloud Anda. Pelajari cara mengonfirmasi bahwa penagihan diaktifkan untuk project Anda
Mengaktifkan Cloud Storage API dan Cloud SQL API.
Instal dan inisialisasi Google Cloud CLI di server yang menjalankan SQL Server 2008.
Di konsol Google Cloud , buka Cloud Shell.
Di bagian bawah Konsol Google Cloud , sesi Cloud Shell akan terbuka dan menampilkan prompt command line. Cloud Shell adalah lingkungan shell yang sudah diinstali Google Cloud CLI, dan sudah diisi nilai untuk project Anda saat ini. Diperlukan waktu beberapa detik untuk menginisialisasi sesi.
Membuat instance Cloud SQL dan bucket Cloud Storage
Di Cloud Shell, buat instance Cloud SQL untuk SQL Server 2017 Enterprise yang nantinya akan menjadi tujuan migrasi database:
gcloud beta sql instances create target \ --database-version=SQLSERVER_2017_ENTERPRISE \ --cpu=2 \ --memory=5GB \ --root-password=sqlserver12@ \ --zone=us-central1-fDiperlukan waktu beberapa menit untuk membuat instance. Nama pengguna root default adalah
sqlserverdengan sandi defaultsqlserver12@. Untuk tutorial ini, Anda akan membuat instance di zonaus-central1-f. Untuk mengetahui informasi selengkapnya tentang zona, lihat Lokasi Cloud.Buat bucket Cloud Storage untuk menyimpan file cadangan sebelum data diimpor ke Cloud SQL:
gcloud storage buckets create "gs://bucket-name" --location=US
Ganti
bucket-namedengan nama unik untuk bucket Cloud Storage.
Mencadangkan database Anda
Di bagian ini, Anda akan membuat koneksi ke server Windows yang menjalankan SQL Server 2008, membuat cadangan database, dan mengupload database cadangan ke Cloud Storage.
Buat koneksi ke server Windows yang menjalankan SQL Server 2008 menggunakan RDP. Server ini dapat berupa server utama atau replika.
Luncurkan alat command line PowerShell.
Di terminal tempat Anda menginstal gcloud CLI, buat folder cadangan:
mkdir c:\backupBuat cadangan database di folder pencadangan:
osql -E -Q "BACKUP DATABASE db-name TO DISK='c:\backup\db-name.bak'"
Ganti
db-namedengan nama database yang ingin Anda migrasikan ke Cloud SQL.Salin file cadangan ke bucket Cloud Storage:
$PROJECT_ID = (gcloud sql instances describe target --format='value(project)' ) gcloud storage cp c:\backup\db-name.bak gs://bucket-name --no-clobber
Mengimpor file cadangan ke Cloud SQL
Di Cloud Shell, ambil akun layanan yang terkait dengan instance Cloud SQL dan simpan dalam variabel:
SVC_EMAIL_ADDRESS=$(gcloud sql instances describe target \ --format='value(serviceAccountEmailAddress)') echo $SVC_EMAIL_ADDRESSGoogle Cloud membuat akun layanan saat Anda membuat instance Cloud SQL. Anda akan menggunakan akun layanan ini untuk memberi instance Cloud SQL izin guna mengakses resource yang diperlukan.
Beri akun layanan tersebut izin untuk menulis ke bucket Cloud Storage:
gcloud storage buckets add-iam-policy-binding gs://bucket-name \ --member=serviceAccount:${SVC_EMAIL_ADDRESS} \ --role=roles/storage.legacyBucketWriterBeri akun layanan tersebut izin untuk membaca file di bucket Cloud Storage:
gcloud storage buckets add-iam-policy-binding gs://bucket-name \ --member=serviceAccount:${SVC_EMAIL_ADDRESS} \ --role=roles/storage.legacyObjectReaderImpor file cadangan ke database Cloud SQL:
gcloud beta sql import bak target \ gs://bucket-namedb-name.bak \ --database db-name
Memvalidasi impor data
Di bagian ini, Anda akan memeriksa apakah data berhasil diimpor.
Di Cloud Shell, instal toolkit SQL Server:
sudo apt-get install -y mssql-toolsSetelah menyetujui persyaratan lisensi, masukkan
yessaat diminta.Untuk mengakses instance Cloud SQL dengan aman, download proxy Cloud SQL:
wget https://dl.google.com/cloudsql/cloud_sql_proxy.linux.amd64 -O cloud_sql_proxyMulai proxy Cloud SQL:
CONNECTION_NAME=$(gcloud sql instances describe target --format='value(connectionName)') ./cloud_sql_proxy -instances=${CONNECTION_NAME}=tcp:1433 &Jalankan kueri untuk memvalidasi data di satu atau beberapa tabel:
/opt/mssql-tools/bin/sqlcmd -U sqlserver -S 127.0.0.1 -Q "query-string"
Ganti
query-stringdengan kueri SQL yang ingin Anda jalankan.Saat diminta, masukkan sandi
sqlserver12@.
Pembersihan
Cara termudah untuk meniadakan tagihan adalah dengan menghapus project Google Cloud yang Anda buat untuk tutorial ini.Menghapus project
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.
Langkah berikutnya
- Baca kunci enkripsi yang dikelola pelanggan (CMEK) untuk Cloud SQL untuk SQL Server.
- Baca cara mengonfigurasi konektivitas IP pribadi untuk Cloud SQL untuk SQL Server.
- Pelajari arsitektur referensi, diagram, dan praktik terbaik tentang Google Cloud. Lihat Cloud Architecture Center kami.