FIX: Kinerja lambat ketika memicu AFTER berjalan pada Daftar Tabel dipartisi dalam SQL Server 2008 R2 atau SQL Server 2012

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

Pada Halaman ini

GEJALA

Pertimbangkan skenario berikut:
  • Anda membuat partisi untuk Daftar Tabel dalam Microsoft SQL Server 2008 R2 atau Microsoft SQL Server 2012.
  • Anda membuat SETELAH memicu untuk setiap MASUKKAN atau HAPUS operasi yang dilakukan di atas tabel atak.
  • Anda melakukan MASUKKAN atau HAPUS pengoperasian di atas tabel atak.

Dalam skenario ini, kinerja lambat mungkin terjadi. Selain itu, banyak proses membaca logis mungkin terjadi jika Anda menjalankan SQL Profiler.

PENYEBAB

Masalah ini terjadi karena alasan-alasan berikut:
  • Mesin penyimpanan internal mempertahankan satu versi rantai untuk setiap pernyataan.
  • Eksekusi query pencarian untuk partisi versi seluruh rantai untuk menemukan baris yang dimasukkan untuk salah satu partisi.

PEMECAHAN MASALAH

Untuk mengatasi masalah ini, menggunakan perbaikan terbaru berikut dan kemudian menggunakan - T2470 jejak bendera

Informasi pembaruan kumulatif

SQL Server 2012 Perbaikan untuk masalah ini pertama kali dirilis pada 1 Update kumulatif untuk SQL Server 2012. Untuk informasi lebih lanjut tentang paket pembaruan kumulatif ini, klik nomor artikel berikut ini untuk melihat artikel di dalam Pangkalan Pengetahuan Microsoft:
2679368 Paket pembaruan kumulatif 1 untuk SQL Server 2012
Catatan Karena membangun kumulatif, setiap baru memperbaiki rilis berisi semua perbaikan terbaru dan semua perbaikan keamanan yang disertakan dengan sebelumnya SQL Server 2012 memperbaiki rilis. Microsoft menganjurkan agar Anda menerapkan terbaru fix release yang berisi perbaikan terbaru ini. Untuk informasi lebih lanjut, klik nomor artikel berikut ini untuk melihat artikel di dalam Pangkalan Pengetahuan Microsoft:
2692828 SQL Server 2012 membangun yang dibebaskan setelah SQL Server 2012 dirilis
Anda harus menerapkan perbaikan terbaru SQL Server 2012 instalasi SQL Server 2012.

SQL Server 2008 R2 paket layanan 1

Informasi pembaruan kumulatif

Perbaikan untuk masalah ini pertama kali dirilis pada 3 Update kumulatif untuk SQL Server 2008 R2 paket layanan 1. Untuk informasi lebih lanjut tentang cara mendapatkan paket pembaruan kumulatif ini, klik nomor artikel berikut ini untuk melihat artikel di dalam Pangkalan Pengetahuan Microsoft:
2591748 Update kumulatif paket 3 SQL Server 2008 R2 paket layanan 1
Catatan Karena membangun kumulatif, setiap baru memperbaiki rilis berisi semua perbaikan terbaru dan semua perbaikan keamanan yang disertakan dengan sebelumnya SQL Server 2008 R2 fix rilis. Kami sarankan agar Anda menerapkan terbaru fix release yang berisi perbaikan terbaru ini. Untuk informasi lebih lanjut, klik nomor artikel berikut ini untuk melihat artikel di dalam Pangkalan Pengetahuan Microsoft:
2567616 SQL Server 2008 R2 membangun yang dibebaskan setelah SQL Server 2008 R2 Service Pack 1 telah dirilis

Informasi perbaikan terbaru

Perbaikan terbaru yang didukung tersedia dari Microsoft. Namun, perbaikan terbaru ini ditujukan untuk memperbaiki hanya masalah yang dijelaskan di artikel ini. Perbaikan terbaru ini hanya berlaku untuk sistem yang mengalami masalah khusus ini.

Jika perbaikan terbaru tersedia untuk di-download, ada bagian "Tersedia download perbaikan terbaru" di bagian atas dari artikel Pangkalan Pengetahuan ini. Apabila bagian ini tidak muncul, Kirim permintaan untuk pelanggan layanan dan dukungan Microsoft untuk mendapatkan perbaikan terbaru.

Catatan Apabila terjadi masalah tambahan atau apabila pemecahan masalah apa pun diperlukan, Anda mungkin harus membuat Layanan Pertanyaan secara terpisah. Biaya dukungan biasa akan berhubungan dengan pertanyaan dan masalah yang tidak termasuk pada pembaruan terbaru tertentu ini dukungan tambahan. Untuk daftar lengkap nomor telepon pelanggan layanan dan dukungan Microsoft atau untuk membuat Layanan Pertanyaan tersendiri, kunjungi website Microsoft berikut ini:
http://support.Microsoft.com/contactus/?ws=support
Catatan Formulir "Tersedia download perbaikan terbaru" menampilkan bahasa untuk perbaikan terbaru tersedia. Jika Anda tidak melihat bahasa Anda, itu adalah karena perbaikan terbaru tidak tersedia untuk bahasa tersebut.

Prasyarat

Untuk menerapkan perbaikan terbaru ini, Anda harus memiliki Microsoft SQL Server 2008 R2 paket layanan 1 (SP1) diinstal.

Kebutuhan restart

Anda tidak harus me-restart komputer setelah Anda menerapkan perbaikan terbaru ini.

Informasi penggantian perbaikan terbaru

Perbaikan terbaru ini tidak menggantikan perbaikan terbaru dirilis sebelumnya.

Informasi file

Versi global ini memiliki atribut berkas (atau atribut berkas yang lebih baru) yang didaftar di dalam Daftar Tabel berikut. Tanggal dan waktu untuk berkas-berkas ini tercantum dalam Coordinated Universal Time (UTC). Ketika Anda melihat informasi berkas, waktunya akan diubah ke waktu lokal. Untuk menemukan perbedaan waktu UTC dan waktu lokal, gunakan zona waktu tab di Tanggal dan waktu item dalam Panel Kontrol.

Untuk semua didukung x 86 berbasis versi SQL Server 2008 R2 SP1
Perkecil tabel iniPerbesar tabel ini
Nama fileVersi berkasUkuran fileTanggalWaktuPlatform
Sqlservr.exe2009.100.2776.043,053,92015-Sep-201101: 47x 86

Untuk semua didukung x versi berbasis 64SQL Server 2008 R2 SP1

Perkecil tabel iniPerbesar tabel ini
Nama fileVersi berkasUkuran fileTanggalWaktuPlatform
Sqlservr.exe2009.100.2776.062,176,60815-Sep-201100: 57x 64

Untuk semua didukung versikontraktor IA-64SQL Server 2008 R2 SP1

Perkecil tabel iniPerbesar tabel ini
Nama fileVersi berkasUkuran fileTanggalWaktuPlatform
Sqlservr.exe2009.100.2776.0122,105,69615-Sep-201100: 23IA-64


TEKNIK PEMECAHAN MASALAH

Untuk mengatasi masalah ini, mengubah memicu AFTERDaripada MENYISIPKAN memicu atau Daripada menghapus memicu.

Misalnya, Anda menjalankan pernyataan berikut untuk membuat memicu AFTER :
CREATE TRIGGER TR_Test ON Test FOR INSERT AS BEGIN DECLARE @groupe INT SELECT TOP 1 @groupe=Groupe FROM INSERTED END GO
Dalam skenario ini, mengubah memicu AFTERdaripada menyisipkan dengan menggunakan pernyataan berikut:
CREATE TRIGGER TR_Test ON Test INSTEAD OF INSERT AS BEGIN DECLARE @groupe INT SELECT TOP 1 @groupe=Groupe FROM INSERTED INSERT INTO Test (Groupe) SELECT @groupe FROM INSERTED END

STATUS

Microsoft telah mengkonfirmasi bahwa ini merupakan masalah di dalam produk Microsoft sebagaimana didaftar di dalam bagian "Applies to".

Properti

ID Artikel: 2606883 - Kajian Terakhir: 16 April 2012 - Revisi: 2.0
Berlaku bagi:
  • Microsoft SQL Server 2008 R2 Datacenter
  • Microsoft SQL Server 2008 R2 Developer
  • Microsoft SQL Server 2012 Developer
Kata kunci: 
kbqfe kbhotfixserver kbfix kbexpertiseadvanced kbsurveynew kbautohotfix kbmt KB2606883 KbMtid
Penerjemahan 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:2606883

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