FIX: SQL Server Data kualitas klien berhenti merespons saat Anda mencoba untuk menghapus data kualitas proyek setelah Anda menginstal pembaruan kumulatif 1 untuk SQL Server 2012

Terjemahan Artikel Terjemahan Artikel
ID Artikel: 2705571 - Melihat produk di mana artikel ini berlaku.
Microsoft mendistribusikan Microsoft SQL Server 2012 perbaikan sebagai satu file download. Karena perbaikan kumulatif, setiap rilis baru berisi semua perbaikan terbaru dan semua perbaikan keamanan yang disertakan dengan sebelumnya SQL Server 2012 memperbaiki rilis.
Perbesar semua | Perkecil semua

Pada Halaman ini

Gejala

Pertimbangkan skenario berikut:
  • Anda membuat satu atau beberapa data kualitas proyek di klien kualitas Data dalam Microsoft SQL Server 2012.
  • Anda menginstal pembaruan kumulatif 1 untuk SQL Server 2012 (SQL Server 2012 CU1), dan kemudian Anda menjalankan file DQSInstaller.exe untuk meng-upgrade katalog Data kualitas layanan (DQS) dan menambahkan objek baru.
  • Anda mencoba untuk menghapus salah satu dari proyek-proyek kualitas data yang dibuat dengan menggunakan Data kualitas klien.
Dalam skenario ini, Data kualitas klien berhenti merespons, dan mesin database SQL Server masuk loop tak terbatas. Selain itu, proses sqlservr.exe pengalaman tinggi penggunaan CPU.

Catatan
  • Untuk memulihkan diri dari masalah ini, restart klien kualitas Data dan DQS.
  • Masalah ini hanya terjadi jika proyek kualitas data dibuat sebelum Anda menginstal SQL Server 2012 CU1.

Penyebab

Masalah ini terjadi karena loop tak terbatas dalam sistem disimpan prosedur yang disebabkan oleh memperbarui loop counter salah.

CatatanMasalah ini terjadi karena regresi dalam SQL Server 2012 CU1.

Pemecahan masalah

Informasi pembaruan kumulatif

Layanan paket informasi untuk SQL Server 2012

Untuk mengatasi masalah ini, Dapatkan Service Pack terbaru untuk SQL Server 2012. Untuk informasi lebih lanjut, klik nomor artikel berikut ini untuk melihat artikel di dalam Pangkalan Pengetahuan Microsoft:
2755533 Cara mendapatkan Service Pack terbaru untuk SQL Server 2012

SQL Server 2012

Perbaikan untuk masalah ini pertama kali dirilis pada 2 Update kumulatif untuk SQL Server 2012. Untuk informasi lebih lanjut tentang cara mendapatkan paket pembaruan kumulatif ini untuk SQL Server, klik nomor artikel berikut ini untuk melihat artikel di dalam Pangkalan Pengetahuan Microsoft:
2703275 Paket pembaruan kumulatif 2 untuk SQL Server 2012
Catatan Karena membangun kumulatif, setiap baru memperbaiki rilis berisi semua perbaikan terbaru dan semua perbaikan keamanan yang disertakan dengan SQL Server sebelumnya memperbaiki rilis. Kami sarankan agar Anda menerapkan rilis perbaikan terbaru 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

Teknik pemecahan masalah

Untuk mengatasi masalah ini, gunakan salah satu metode berikut.

Metode 1

Untuk menambahkan sebuah prosedur boneka yang memungkinkan disimpan prosedur loop tak terbatas untuk melanjutkan dan keluar dengan benar, ikuti langkah berikut:
  1. Menjalankan query berikut untuk mengidentifikasi nama skema untuk proyek terpengaruh yang Anda mencoba untuk menghapus:

    SELECT 'KnowledgeManagement'+CAST(ID AS NVARCHAR) AS SchemaName, Name FROM DQS_MAIN.dbo.A_KNOWLEDGEBASE WHERE TYPE=2
  2. Menggunakan nilai SchemaName yang kembali, dan kemudian jalankan pernyataan yang menyerupai berikut dalam SQL Server Management Studio untuk memasok nama skema yang cocok dan id Data kualitas proyek. Dummy prosedur baru akan dibuat untuk skema dan proyek kualitas data yang sesuai. Oleh karena itu, infinite loop hasil dengan benar.

    USE DQS_PROJECTS
    GO
    CREATE PROCEDURE DQProject<ID>.NewIndexParseTrigramsFromLexicon

    AS
    BEGIN
    PRINT 'THIS IS A DUMMY PROCEDURE TO MAKE DELETE WORK for Microsoft KB Article 2705571';
    END
    CatatanIDmengatakan mewakili ID internal proyek kualitas Data yang akan dihapus.
  3. Verifikasi bahwa proyek kualitas data akan dihapus dari Data kualitas klien seperti yang diharapkan.
Metode 2

Jika Anda harus membunuh prosedur perulangan cepat untuk menghemat daya CPU, menjalankan pernyataan berikut untuk mengidentifikasi sesi benar. Namun, membunuh prosedur perulangan tidak menghapus proyek kualitas data bersih. Transact-SQL pernyataan berikut membantu mengidentifikasi dan membunuh sesi benar. Jika lebih dari satu sesi dari Data kualitas klien berjalan, Anda mungkin harus menjalankan pernyataan beberapa kali:

DECLARE @session smallint, @text nvarchar(2000), @killcommand nvarchar(200)

SELECT TOP 1 @session=s.session_id, @text=st.text

FROM sys.dm_exec_sessions s

FULL OUTER JOIN sys.dm_exec_requests r ON s.session_id=r.session_id

CROSS APPLY sys.dm_exec_sql_text(r.sql_handle) AS st

WHERE program_name like 'DQ Services Client: Client Id = %, KB Id = %, Proxy = KnowledgebaseManagementEntryPointClient'

AND s.status='running';

SELECT 'Killing this DQS session:', @session SessionID, @text QueryText;

SET @killcommand=N'Kill '+ cast(@session as nvarchar)+';'

EXEC sp_executesql @killcommand;

Catatan Jika Anda menggunakan metode 2 untuk membunuh koneksi DQS, Anda mungkin menerima pesan galat berikut dalam kualitas Data klien:

SQL Server Data kualitas layanan

--------------------------------------------------------------------------------

<MessageId></MessageId>: ApplicationUnhandledException

Unhandled pengecualian telah terjadi. Untuk detail lebih lanjut, lihat log klien Data kualitas layanan.

--------------------------------------------------------------------------------

System.data.SqlClient.SQLException (0x80131904): kesalahan parah terjadi pada perintah saat ini. Hasil, jika ada, harus dibuang.

Status

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

Referensi

Untuk informasi lebih lanjut tentang cara meng-upgrade DQS, pergi ke website Microsoft TechNet berikut:
Cara meng-upgrade DQS

Properti

ID Artikel: 2705571 - Kajian Terakhir: 20 September 2012 - Revisi: 4.0
Berlaku bagi:
  • Microsoft SQL Server 2012 Developer
  • Microsoft SQL Server 2012 Enterprise
  • Microsoft SQL Server 2012 Standard
  • Microsoft SQL Server 2012 Express
  • Microsoft SQL Server 2012 Web
Kata kunci: 
kbqfe kbmt KB2705571 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: 2705571

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