Al momento sei offline in attesa che la connessione Internet venga ristabilita

FIX: SQL Server dati qualità Client smette di rispondere quando si tenta di eliminare un progetto di qualità dei dati dopo aver installato l'aggiornamento cumulativo 1 per SQL Server 2012

Il presente articolo è stato tradotto tramite il software di traduzione automatica di Microsoft e non da una persona. Microsoft offre sia articoli tradotti da persone fisiche sia articoli tradotti automaticamente da un software, in modo da rendere disponibili tutti gli articoli presenti nella nostra Knowledge Base nella lingua madre dell’utente. Tuttavia, un articolo tradotto in modo automatico non è sempre perfetto. Potrebbe contenere errori di sintassi, di grammatica o di utilizzo dei vocaboli, più o meno allo stesso modo di come una persona straniera potrebbe commettere degli errori parlando una lingua che non è la sua. Microsoft non è responsabile di alcuna imprecisione, errore o danno cagionato da qualsiasi traduzione non corretta dei contenuti o dell’utilizzo degli stessi fatto dai propri clienti. Microsoft, inoltre, aggiorna frequentemente il software di traduzione automatica.

Clicca qui per visualizzare la versione originale in inglese dell’articolo: 2705571
Microsoft distribuisce le correzioni di Microsoft SQL Server 2012 come file scaricabili. Poiché le correzioni sono cumulative, ogni nuova versione contiene tutte le correzioni rapide e rilascio delle correzioni per tutte le correzioni fornite con il precedente 2012 SQL Server.
Sintomi
Si consideri il seguente scenario:
  • È possibile creare uno o più progetti di qualità dei dati nel Client di qualità dei dati in Microsoft SQL Server 2012.
  • Si installa l'aggiornamento cumulativo 1 per SQL Server 2012 (SQL Server 2012 CU1) e quindi eseguire il file DQSInstaller.exe per l'aggiornamento dei cataloghi di servizi di qualità dei dati (DQS) e aggiungere nuovi oggetti.
  • Si tenta di eliminare uno dei progetti di qualità dei dati creati utilizzando Client di qualità dei dati.
In questo scenario, qualità dati Client si blocca e il motore di database SQL Server entra in un ciclo infinito. Inoltre, il processo sqlservr. exe esperienze di utilizzo elevato della CPU.

Note
  • Per risolvere questo problema, riavviare il Client di qualità dei dati e DQS.
  • Questo problema si verifica solo se è stato creato il progetto di qualità dei dati prima di installare SQL Server 2012 CU1.
Cause
Questo problema si verifica a causa di un ciclo infinito in una stored procedure di sistema che è causato da un contatore di ciclo di aggiornamento in modo non corretto.

NotaQuesto problema si verifica a causa di una regressione in SQL Server 2012 CU1.
Risoluzione

Informazioni sull'aggiornamento cumulativo

Informazioni sul Service pack per SQL Server 2012

Per risolvere questo problema, procurarsi il service pack più recente per SQL Server 2012. Per ulteriori informazioni, fare clic sul numero dell'articolo riportato di seguito per visualizzare l'articolo della Microsoft Knowledge Base:
2755533 Come ottenere il service pack più recente per SQL Server 2012

SQL Server 2012

La correzione di questo problema è stata rilasciata prima nell'aggiornamento cumulativo 2 per SQL Server 2012. Per ulteriori informazioni su come ottenere il pacchetto di aggiornamento cumulativo per SQL Server, fare clic sul numero dell'articolo riportato di seguito per visualizzare l'articolo della Microsoft Knowledge Base:
2703275 Pacchetto di aggiornamento cumulativo 2 per SQL Server 2012
Nota Poiché le versioni sono cumulative, ogni nuova versione contiene tutte le correzioni rapide e rilascio delle correzioni per tutte le correzioni fornite con il precedente SQL Server. Si consiglia di considerare l'ipotesi di applicare la versione più recente contenente tale hotfix. Per ulteriori informazioni, fare clic sul numero dell'articolo riportato di seguito per visualizzare l'articolo della Microsoft Knowledge Base:
2692828 Il 2012 SQL Server versioni rilasciate dopo il rilascio di SQL Server 2012
Workaround
Per aggirare questo problema, utilizzare uno dei metodi descritti di seguito.

Metodo 1

Per aggiungere una procedura fittizia che consente il ciclo infinito di una stored procedure continuare e chiudere correttamente, attenersi alla seguente procedura:
  1. Eseguire la query seguente per identificare il nome dello schema del progetto interessato che si è tentato di eliminare:

    SELECT 'KnowledgeManagement'+CAST(ID AS NVARCHAR) AS SchemaName, Name FROM DQS_MAIN.dbo.A_KNOWLEDGEBASE WHERE TYPE=2
  2. Utilizzare il valore NomeSchema che viene restituito e quindi eseguire le istruzioni che risulti simile al seguente in SQL Server Management Studio di fornire il nome dello schema corrispondente e l'ID del progetto di qualità dei dati. Verrà creata una nuova routine fittizia per lo schema e il progetto di qualità dei dati corrispondenti. Di conseguenza, il ciclo infinito procede correttamente.

    USE DQS_PROJECTSGOCREATE PROCEDURE DQProject<ID>.NewIndexParseTrigramsFromLexiconAS BEGINPRINT 'THIS IS A DUMMY PROCEDURE TO MAKE DELETE WORK for Microsoft KB Article 2705571';END
    NotaID> rappresenta l'ID interno del progetto di qualità dei dati che viene eliminata.
  3. Verificare che il progetto di qualità dei dati viene eliminato dal Client di qualità dei dati come previsto.
Metodo 2

Se è necessario interrompere la procedura di loop rapidamente per risparmiare le risorse della CPU, eseguire le seguenti istruzioni per identificare la sessione corretta. Tuttavia, la procedura di esecuzione di cicli di abbattimento non elimina il progetto di qualità dei dati correttamente. Le seguenti istruzioni Transact-SQL consentono di identificare e interrompere la sessione corretta. Se è in esecuzione più di una sessione client di qualità dei dati, potrebbe essere necessario eseguire le istruzioni più volte:

DECLARE @session smallint, @text nvarchar(2000), @killcommand nvarchar(200)SELECT TOP 1 @session=s.session_id, @text=st.textFROM sys.dm_exec_sessions sFULL OUTER JOIN sys.dm_exec_requests r ON s.session_id=r.session_idCROSS APPLY sys.dm_exec_sql_text(r.sql_handle) AS stWHERE 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;

Nota Se si utilizza il metodo 2 per interrompere la connessione di DQS, è possibile che venga visualizzato il seguente messaggio di errore nel Client di qualità dei dati:

Servizi di qualità dei dati SQL Server

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

<MessageId></MessageId>: ApplicationUnhandledException

Si è verificata un'eccezione non gestita. Per ulteriori dettagli, vedere il log di client di servizi di qualità dei dati.

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

System.Data.SqlClient.SqlException (0x80131904): Si è verificato un errore grave nel comando corrente. I risultati eventuali dovrebbero essere scartati.
Status
Microsoft ha confermato che questo è un problema nei prodotti Microsoft elencati nella sezione "Si applica a".
Riferimenti
Per ulteriori informazioni sull'aggiornamento di DQS, visitare il seguente sito Web Microsoft TechNet:
DQS; Elimina; Blocco; Ciclo continuo; Rotazione; Servizi di qualità dei dati; Client di qualità dei dati; KB;

Avviso: questo articolo è stato tradotto automaticamente

Proprietà

ID articolo: 2705571 - Ultima revisione: 09/20/2012 17:38:00 - Revisione: 4.0

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

  • kbqfe kbmt KB2705571 KbMtit
Feedback
ay: none; " src="https://c1.microsoft.com/c.gif?DI=4050&did=1&t=">/html>