Menambahkan dan menyeimbangkan file data - AWS Bimbingan Preskriptif

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Menambahkan dan menyeimbangkan file data

Database SQL Server yang disediakan seringkali EnterpriseOne dapat memperoleh manfaat dari file tambahan. File tambahan memungkinkan penyeimbangan optimal di seluruh inti penyimpanan dan prosesor. Menyeimbangkan file adalah proses multi-langkah. Banyak dari langkah-langkah ini memerlukan akses eksklusif ke objek database, sehingga Anda harus mengambil EnterpriseOne dan sistem lain mengakses database offline.

Perhitungan ukuran file lengkap

Untuk menemukan ukuran file database yang sesuai, mulailah dengan memeriksa ukuran data ROW saat ini dengan menggunakan kueri berikut.

USE JDE_PRIST920 SELECT SUM(CAST(FILEPROPERTY(name, 'SpaceUsed') AS INT)/128.0) AS SpaceUsedMB FROM sys.database_files WHERE type IN (0,1) AND type_desc = 'ROWS'

Kemudian lengkapi perhitungan berikut dan isi kolom Nilai Anda:

Garis Nama Contoh Nilai Anda Deskripsi
1 Ukuran baris saat ini 1 TB Hasil dari query sebelumnya.
2 Pertumbuhan yang direncanakan 20% Pertumbuhan yang diharapkan selama beberapa bulan ke depan, termasuk margin keamanan.
3 Ukuran yang dibutuhkan 1,2 TB Baris 1 dikalikan dengan baris 2.
4 Jumlah file 8 Jumlah file yang ditargetkan.
5 Ukuran per file 150 GB Baris 3 dibagi dengan baris 4.
6 Persentase pertumbuhan otomatis 10% Ukuran untuk pertumbuhan otomatis. Untuk fragmentasi minimum, 10% adalah target yang baik.
7 Ukuran autogrowth 15 GB Baris 5 dikalikan dengan baris 6.

Buat file baru

Gunakan skrip berikut sebagai template untuk menambahkan file ke database. Ubah parameter berikut:

  • Ubah JDE-PRIST920 ke nama database yang ingin Anda tambahkan file.

  • UntukNAME, tentukan nama logis dari setiap file yang ingin Anda tambahkan.

  • UntukFILENAME, tentukan nama fisik setiap file yang ingin Anda tambahkan.

  • UntukFILEGROWTH, gunakan nilai yang Anda hitung di baris 7 dari tabel sebelumnya.

  • UntukSIZE, tentukan nilai dari baris 5 dari tabel sebelumnya.

USE master; GO ALTER DATABASE JDE_PRIST920 MODIFY FILE (NAME = JDE_PRIST920_Data, FILEGROWTH = 15GB); GO ALTER DATABASE JDE_PRIST920 ADD FILE (NAME = JDE_PRIST920_Data2, FILENAME = 'M:\DATA\PRIST920_Data2.ndf', SIZE=150GB, FILEGROWTH = 15GB), (NAME = JDE_PRIST920_Data3, FILENAME = 'M:\DATA\PRIST920_Data3.ndf', SIZE=150GB, FILEGROWTH = 15GB), (NAME = JDE_PRIST920_Data4, FILENAME = 'M:\DATA\PRIST920_Data4.ndf', SIZE=150GB, FILEGROWTH = 15GB), (NAME = JDE_PRIST920_Data5, FILENAME = 'M:\DATA\PRIST920_Data5.ndf', SIZE=150GB, FILEGROWTH = 15GB), (NAME = JDE_PRIST920_Data6, FILENAME = 'M:\DATA\PRIST920_Data6.ndf', SIZE=150GB, FILEGROWTH = 15GB), (NAME = JDE_PRIST920_Data7, FILENAME = 'M:\DATA\PRIST920_Data7.ndf', SIZE=150GB, FILEGROWTH = 15GB), (NAME = JDE_PRIST920_Data8, FILENAME = 'M:\DATA\PRIST920_Data8.ndf', SIZE=150GB, FILEGROWTH = 15GB), (NAME = JDE_PRIST920_TEMP, FILENAME = 'M:\DATA\PRIST920_TEMP.ndf', SIZE=150GB, FILEGROWTH = 15GB) GO

Kosongkan sementara file MDF

Ketika file telah dibuat, migrasi data dari MDF ke file NDF dengan menjalankan perintah berikut untuk setiap file. Sesuaikan nama file untuk mencerminkan nama file dalam database Anda.

USE JDE_PRIST920 DBCC SHRINKFILE (JDE_PRIST920_Data, EMPTYFILE)

EMPTYFILEPerintah menghasilkan kesalahan karena beberapa konten tidak dapat dipindahkan ke file NDF. Anda dapat mengabaikan pesan kesalahan ini.

Pesan galat saat mengosongkan file MDF

Ubah ukuran file MDF

Untuk mengurangi ukuran file MDF ke ukuran target, jalankan perintah berikut. Sesuaikan ukuran file untuk mencerminkan nilai dari baris 5 perhitungan dalam tabel.

JDE_PRIST920 DBCC SHRINKFILE (JDE_PRIST920_Data, 150000);

Kadang-kadang, SHRINKFILE perintah akan gagal karena penempatan konten yang tidak dapat dipindahkan ke file NDF. Dalam hal ini, Anda mungkin perlu menjalankan DBCC DBREINDEX perintah, menjalankan kembali proses untuk mengosongkan file, dan mencoba SHRINKFILE operasi lagi.

Bersihkan

Ketika file target telah dibuat dan file MDF berukuran benar, gunakan perintah berikut untuk memigrasikan data dari file TEMP kembali ke file MDF. Sesuaikan nama file untuk mencerminkan nama file dalam database Anda.

DBCC SHRINKFILE (JDE_PRIST920_TEMP, EMPTYFILE)

Ketika file kosong, Anda dapat menghapusnya dengan menggunakan perintah berikut:

ALTER DATABASE JDE_PRIST920; REMOVE FILE JDE_PRIST920_TEMP;

Validasi hasil

Untuk memeriksa pemanfaatan ruang disk saat ini dari database setelah menyeimbangkan, jalankan skrip berikut.

USE JDE_PRIST920 SELECT DB_NAME() AS DbName, type_desc, CAST(FILEPROPERTY(name, 'SpaceUsed') AS INT)/128.0 AS SpaceUsedMB FROM sys.database_files WHERE type IN (0,1) AND type_desc = 'ROWS'; SELECT SUM(CAST(FILEPROPERTY(name, 'SpaceUsed') AS INT)/128.0) AS TotalSpaceUsedMB FROM sys.database_files WHERE type IN (0,1) AND type_desc = 'ROWS'

Output harus serupa dengan yang berikut ini. File jarang akan seimbang sempurna, karena beberapa konten hanya dapat ada di file MDF.

Memvalidasi pemanfaatan ruang disk setelah menyeimbangkan