FIX: Kesalahan ketika tanda kondisi kinerja SQL Server dibesarkan di SQL Server 2008 R2

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

Pada Halaman ini

Microsoft mendistribusikan Microsoft SQL Server 2008 R2 Paket Layanan 1 (SP1) perbaikan sebagai satu file download. Karena perbaikan kumulatif, setiap rilis baru berisi semua perbaikan terbaru dan semua pembaruan keamanan yang disertakan dengan SQL Server 2008 R2 Paket Layanan 1 (SP1) update rilis sebelumnya.

GEJALA

Ketika tanda kondisi kinerja SQL Server dibesarkan di Microsoft SQL Server 2008 R2, Anda mungkin menerima pesan galat berikut:
MSG 512, tingkat 16, negara bagian 1, prosedur sp_sqlagent_get_perf_counters, garis 40
Subquery kembali nilai lebih dari 1. Ini tidak diperbolehkan ketika subquery mengikuti =,! =, <,> </,> <= ,="">, mengatakan = atau ketika subquery digunakan sebagai ekspresi.</=>
Selain itu, pesan galat login di log kesalahan SQL Server agen dalam situasi ini.

Catatan Masalah ini juga terjadi di Microsoft SQL Server 2008.

PENYEBAB

Masalah ini terjadi karena subquery dari msdb.dbo.sp_sqlagent_get_perf_counters sistem yang disimpan prosedur menghitung nilai counter salah.

Subquery tidak memiliki hubungan batin bergabung untuk [object_name] kolom dalam kondisi subquery. Oleh karena itu, beberapa baris salah kembali, dan masalah yang disebutkan di bagian "Gejala" muncul.

Catatan The msdb.dbo.sp_sqlagent_get_perf_counters sistem disimpan prosedur berjalan ketika tanda kondisi kinerja SQL Server dibesarkan.

PEMECAHAN MASALAH

Informasi pembaruan kumulatif

Paket pembaruan kumulatif 3 untuk SQL Server 2008 R2 SP1

Perbaikan untuk masalah ini pertama kali dirilis di pembaruan kumulatif paket 3. Untuk informasi lebih lanjut tentang cara mendapatkan paket pembaruan kumulatif ini untuk SQL Server 2008 R2 SP1, klik nomor artikel di bawah ini untuk melihat artikel di dalam Basis Pengetahuan Microsoft:
2591748 Paket pembaruan kumulatif 3 untuk SQL Server 2008 R2 SP1
Catatan Karena membangun kumulatif, setiap baru update rilis berisi semua perbaikan terbaru dan semua pembaruan keamanan yang disertakan dengan sebelumnya SQL Server 2008 R2 SP1 update rilis. Kami sarankan agar Anda menerapkan rilis update terbaru yang berisi perbaikan terbaru ini. Untuk informasi selengkapnya, klik nomor artikel berikut untuk melihat artikel di Pangkalan Pengetahuan Microsoft:
2567616 SQL Server 2008 R2 membangun yang dibebaskan setelah SQL Server 2008 R2 SP1 dirilis


TEKNIK PEMECAHAN MASALAH

Untuk mengatasi masalah ini, pembaruan subquery dari msdb.dbo.sp_sqlagent_get_perf_counters sistem disimpan prosedur. Untuk melakukannya, tambahkan kondisi berikut untuk WHERE klausul empat subqueries yang digunakan dalam [nilai] kolom perhitungan:
(spi1.[object_name] = spi2.[object_name])
Setelah Anda menambahkan kondisi, subqueries seperti berikut:
SELECT CASE spi2.cntr_value WHEN 0 THEN 1 ELSE spi2.cntr_value END
FROM sys.dm_os_performance_counters spi2
WHERE (spi1.[object_name] = spi2.[object_name])
AND (spi1.counter_name + ' ' = SUBSTRING(spi2.counter_name, 1, PATINDEX('% Base%', spi2.counter_name)))
AND (spi1.instance_name = spi2.instance_name)
AND (spi2.cntr_type = @perfTypeLargeRawBase

STATUS

Microsoft telah mengkonfirmasi bahwa ini adalah masalah di dalam produk Microsoft sebagaimana tercantum di bagian "Berlaku untuk".

Properti

ID Artikel: 2587511 - Kajian Terakhir: 17 Oktober 2011 - Revisi: 1.0
Berlaku bagi:
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Enterprise Evaluation
  • Microsoft SQL Server 2008 R2 Datacenter
  • Microsoft SQL Server 2008 R2 Developer
  • Microsoft SQL Server 2008 R2 Enterprise
Kata kunci: 
kbqfe kbfix kbexpertiseadvanced kbsurveynew kbmt KB2587511 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:2587511

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