CORRECTIF : vous pouvez rencontrer altération de segment de mémoire, et SQL Server 2000 peut arrêter avec des violations d'accès irrécupérable lorsque vous essayez de parcourir des fichiers dans SQL Server 2000 Enterprise Gestionnaire sur un ordinateur 2003 x 64 de Windows Server

Traductions disponibles Traductions disponibles
Numéro d'article: 916950 - Voir les produits auxquels s'applique cet article
Bogue: #40000113 (correctifs SQL)
Microsoft distribue les correctifs Microsoft SQL Server 2000 le biais comme un fichier téléchargeable. Les correctifs étant cumulatifs, chaque nouvelle version contient tous les correctifs et tous les correctifs de sécurité qui étaient fournis avec le SQL Server 2000 précédente version du correctif.
Agrandir tout | Réduire tout

Sommaire

Résumé

Cet article décrit suivants concernant cette version de correctif logiciel :
  • Les problèmes qui sont résolus par ce package de correctifs
  • Conditions préalables à l'installation le package de correctifs
  • Si vous devez un redémarrage de l'ordinateur après avoir installé le package de correctifs
  • Savoir si le package de correctifs est remplacé par un autre package de correctif
  • Informations si vous devez apporter les modifications du Registre
  • Les fichiers qui sont contenus dans le package de correctifs

Symptômes

Envisagez le scénario suivant. SQL Server 2000 Enterprise Manager exécute sur Microsoft Windows Server 2003 x 64 ordinateur Edition. Vous essayez de parcourir fichiers et vous cliquez sur le bouton de points de suspension (... ) dans toute boîte de dialogue fichier dans SQL Server 2000 Enterprise Manager. Dans ce scénario, vous pouvez rencontrer corruption de segment et SQL Server peut s'arrêter avec des violations d'accès irrécupérable.

Autres threads ou les objets tels que le composant Microsoft objets (Object Model) peuvent être chargés dans SQL Server à l'aide la procédure sp_oacreate stockées. Lorsque ce problème se produit, OLEDB lié serveur fournisseurs qui s'exécuter dans processus, SQL Mail, ou SQLXML peut-être également être affecté et peut provoquer l'arrêt du processus SQL Server. En outre, vous pouvez également rencontrer ce problème sur les instances en clusters.

notes
  • Ce problème affecte uniquement les éditions 32 bits de SQL Server 2000 qui s'exécutent dans le Windows sur le sous-système Windows 64 (WOW64) sur Windows Server 2003 éditions x 64.
  • Ce problème de corruption segment n'affecte pas l'un des éditions SQL Server 2000 64 bits, tels que ces éditions qui s'exécutent sur IA-64 systèmes d'exploitation qui utilisent l'architecture Intel Itanium 2.
  • Ce problème n'affecte pas les éditions 32 bits de SQL Server qui se trouvent sur le sous-système WOW64 sur les systèmes d'exploitation IA-64.
  • Ce problème n'affecte pas les éditions de Microsoft SQL Server 2005.
Ce problème peut se produire en raison du système xp_availablemedia procédure stockée étendu. Lorsque vous cliquez sur le bouton de sélection (... ) dans l'interface utilisateur graphique (GUI), le système xp_availablemedia procédure stockée étendu peut être appelé pour effectuer l'opération parcourir fichier. Dans une instance en cluster, Enterprise Manager appelle la procédure sp_MSSharedFixedDisk stockées, et la procédure sp_MSSharedFixedDisk stockées appelle le système xp_availablemedia procédure stockée étendu.

Vous pouvez remarquer l'altération de segment de mémoire jusqu'à ce qu'autres threads d'utilisent le segment par défaut ou que la mémoire de segment de mémoire est libérée. N'importe quel module qui s'exécute dans le processus sqlservr.exe peut partager le segment par défaut dans un processus. Par conséquent, ce type de corruption de segment de mémoire peut affecter Xpstar.dll et autres modules dans lesquels le système xp_availablemedia procédure stockée étendu est compilé.

Pour obtenir une liste de tous les correctifs SQL Server 2000 postérieur au Service Pack publiquement publiés, consultez l'article suivant dans la Base de connaissances :
894905 Liste des correctifs qui sont disponibles pour SQL Server 2000 SP4 cumulées

Résolution

Le programme d'installation n'installe pas ce correctif correctement sur les systèmes de 64 x. Ce problème d'installation se produit lorsque les conditions suivantes sont remplies :
  • Le système utilise l'architecture de processeur AMD64 d'Advanced Micro Devices (AMD) ou de l'architecture de processeur technologie Intel Extended Memory 64 Technology (EM64T).

    note Ce problème ne se produit pas sur les systèmes qui utilisent l'architecture de processeur Intel Itanium.
  • Le système exécute une version 64 bits du système d'exploitation Microsoft Windows Server.
  • Le système exécute une version 32 bits de SQL Server 2000.
Nous a corrigé ce problème d'installation dans les versions ultérieures de SQL Server 2000, commençant par la version 8.00.2244. Lorsqu'un client qui exécute SQL Server 2000 sur un système 64 x demande ce correctif, nous fournirons une version qui comprend ce correctif logiciel et qui peut être installé correctement sur un système 64 x. La version que nous fournissons sera version 8.00.2244 ou une version ultérieure.

Informations sur le correctif

Un correctif est disponible auprès de Microsoft. Toutefois, ce correctif est conçu pour corriger le problème décrit dans cet article. Appliquer ce correctif uniquement aux systèmes rencontrant ce problème spécifique.

Si le correctif est disponible pour le téléchargement, il est une section « téléchargement correctif disponible » en haut de cet article de la base de connaissances. Si cette section n'apparaît pas, soumettez une demande à Microsoft client service et support pour obtenir le correctif.

note Si des problèmes supplémentaires se produisent ou si n'importe quel dépannage est nécessaire, vous devrez peut-être créer une demande de service distincte. Les coûts habituels du support technique s'appliqueront aux autres questions et problèmes non traités par ce correctif spécifique. Pour une liste complète des Microsoft client service et support numéros de téléphone ou pour créer une demande de service distincte, reportez-vous au site de Web Microsoft suivant :
http://support.microsoft.com/contactus/?ws=support
note L'écran de « téléchargement correctif disponible » affiche les langues pour lesquelles le correctif est disponible. Si vous ne voyez pas la langue, il est car un correctif logiciel n'est pas disponible pour cette langue.

Conditions préalables

Vous devez avoir Microsoft SQL Server 2000 Service Pack 4 (SP4) pour appliquer ce correctif.

Pour plus d'informations sur la façon d'obtenir SQL Server Service Pack 4, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :
290211 Comment obtenir le dernier pack de service SQL Server 2000

Redémarrez les informations

Après avoir installé ce correctif, le service SQL Server sera automatiquement redémarré.

Informations de Registre

Vous devez modifier le Registre.

Informations sur le fichier de correctif

Ce correctif contient uniquement les fichiers nécessaires à la résolution des problèmes décrits dans cet article. Ce correctif peut ne pas contenir de tous les fichiers nécessaires à la mise à jour complètement un produit vers la dernière version.

La version anglaise de ce correctif dispose les attributs de fichier (ou attributs de fichier version ultérieure) répertoriés dans le tableau suivant. Les dates et heures de ces fichiers sont exprimées en temps universel coordonné (UTC). Lorsque vous affichez les informations de fichier, il est convertie en heure locale. Pour connaître le décalage entre l'heure UTC et l'heure locale, utilisez l'onglet Fuseau horaire dans l'élément Date et heure du Panneau de configuration.
SQL Server 2000 32 bits versions
Réduire ce tableauAgrandir ce tableau
Nom de fichierVersion du fichierTaille de fichierDateHeurePlate-forme
Dtsui.dll2000.80.2191.01,593,34427-Mar-200621:10x 86
Impprov.dll2000.80.2191.0102,40027-Mar-200621:10x 86
Msgprox.dll2000.80.2191.094,20827-Mar-200621:10x 86
Msrpjt40.dll4.10.9424.0188,47324-Janvier 200608:13x 86
Mssdi98.dll8.11.50523.0239,10406-Juin 200522:46x 86
Ntwdblib.dll2000.80.2191.0290,81627-Mar-200621:10x 86
Odsole70.dll2000.80.2191.069,63227-Mar-200621:10x 86
Osql.exe2000.80.2191.057,34427-Mar-200619:25x 86
Pfclnt80.dll2000.80.2191.0430,08027-Mar-200621:10x 86
Replmerg.exe2000.80.2191.0163,84027-Mar-200619:34x 86
Replprov.dll2000.80.2191.0237,56827-Mar-200621:10x 86
Replrec.dll2000.80.2191.0315,39227-Mar-200621:10x 86
Replsub.dll2000.80.2191.0270,33627-Mar-200621:10x 86
Semexec.dll2000.80.2191.0856,06427-Mar-200621:10x 86
Sqlagent.exe2000.80.2191.0323,58427-Mar-200619:09x 86
Sqldiag.exe2000.80.2191.0118,78427-Mar-200620:15x 86
Sqldmo.dll2000.80.2191.04,362,24027-Mar-200621:10x 86
Sqlfth75.dll2000.80.2191.0102,40027-Mar-200619:23x 86
Sqlservr.exe2000.80.2191.09,162,75227-Mar-200621:10x 86
Sqlsort.dll2000.80.2191.0589,82427-Mar-200621:11x 86
Stardds.dll2000.80.2191.0176,12827-Mar-200621:11x 86
Svrnetcn.dll2000.80.2191.0110,59227-Mar-200621:11x 86
Ums.dll2000.80.2191.035,32827-Mar-200621:11x 86
Xpstar.dll2000.80.2191.0311,29627-Mar-200621:11x 86
Version d'architecture de SQL Server 2000 Itanium
Réduire ce tableauAgrandir ce tableau
Nom de fichierVersion du fichierTaille de fichierDateHeurePlate-forme
Impprov.dll2000.80.2191.0244,73627-Mar-200621:14IA-64
Msgprox.dll2000.80.2191.0188,41627-Mar-200621:16IA-64
Mssdi98.dll8.11.50523.0758,78406-Juin 200522:46IA-64
Odsole70.dll2000.80.2191.0150,52827-Mar-200621:13IA-64
Osql.exe2000.80.2191.0149,50427-Mar-200621:13IA-64
Pfclnt80.dll2000.80.2191.01,187,84027-Mar-200621:35IA-64
Replmerg.exe2000.80.2191.0375,29627-Mar-200621:17IA-64
Replprov.dll2000.80.2191.0538,62427-Mar-200621:20IA-64
Replrec.dll2000.80.2191.0775,16827-Mar-200621:19IA-64
Replsub.dll2000.80.2191.0641,02427-Mar-200621:21IA-64
Sqlagent.exe2000.80.2191.01,061,37627-Mar-200621:38IA-64
Sqldiag.exe2000.80.2191.0334,33627-Mar-200621:37IA-64
Sqldmo.dll2000.80.2191.013,860,35227-Mar-200621:42IA-64
Sqlfth75.dll2000.80.2191.0246,78427-Mar-200621:16IA-64
Sqlservr.exe2000.80.2191.024,973,31228-Mar-200602:22IA-64
Sqlsort.dll2000.80.2191.0617,47227-Mar-200619:09IA-64
Svrnetcn.dll2000.80.2191.0427,52027-Mar-200621:32IA-64
Xpstar.dll2000.80.2191.0873,47227-Mar-200621:41IA-64

Contournement

Pour contourner ce problème, vous pouvez temporairement empêcher l'utilisation du système xp_availablemedia procédure stockée étendue. Pour ce faire, utilisez l'exemple de code suivant.
use master
	go
	if exists (select * from master.dbo.sysobjects where name = N'xp_availablemedia' 
			and type = N'X')
	exec sp_dropextendedproc N'xp_availablemedia'
go
si vous souhaitez ajouter à nouveau le système xp_availablemedia procédure stockée étendue après avoir installé le correctif, utilisez l'exemple de code suivant.
use master
	go
	sp_addextendedproc N'xp_availablemedia',N'xpstar.dll'
	go
si vous supprimez la procédure, tout appel à la procédure sp_MSSharedFixedDisk stockée échoue, et toute boîte de dialogue fichier dans SQL Server 2000 Enterprise Manager n'apparaît pas. Vous ne recevez pas un message d'erreur dans le Concepteur DTS. Toutefois, les boîtes de dialogue fichier n'apparaissent pas. Après avoir supprimé le système xp_availablemedia procédure stockée étendu, vous devez taper manuellement le nom du fichier ou l'emplacement de dossier que vous souhaitez. En outre, après vous supprimez le système xp_availablemedia procédure stockée étendu et que vous cliquez sur le bouton de points de suspension (... ) dans SQL Server 2000 Enterprise Manager, vous recevoir la message d'erreur suivant dans un Microsoft SQL-DMO (ODBC SQLState : 42000) boîte de dialogue :
Erreur 2812 : introuvable procédure stockée « xp_availablemedia ».
note Le système xp_availablemedia procédure stockée étendu peut être ajouté automatiquement de nouveau sur le serveur SQL Server lorsque l'une des conditions suivantes est vraie :
  • Vous restaurez la base de données maître.
  • Vous reconstruire la base de données en utilisant le Rebuildm.exe Utilitaire.
  • Vous installez un service pack ou un correctif logiciel.

Statut

Microsoft a confirmé que c'est un problème dans les produits Microsoft répertoriés dans la section « S'applique à ».

Plus d'informations

En règle générale, la ntdll! RtlpCoalesceFreeBlocks ou ntdll! RtlFreeHeap fonctions sont les fonctions sont victimes en haut de la pile de thread lorsque corruption de segment de mémoire se produit dans le tas par défaut. Toutefois, ces fonctions ne sont pas les fonctions uniquement ce type de corruption de segment de mémoire peut affecter. Par conséquent, la pile thread violation d'accès n'importe quel victime peut varier. En outre, vous ne peut pas déterminer la cause de l'altération de segment de mémoire en examinant la pile de thread victime seule, et la cause initiale de l'altération de segment de mémoire peut être provoquée par d'autres facteurs qui ne sont pas répertoriées dans cet article.

Par exemple, un appel au système xp_availablemedia procédure stockée étendu peut ressembler à ceci :
  • Dans SQL Server Enterprise Manager, développez de SQL Server , vous développez Gestion vous cliquez avec le bouton droit sur sauvegarde et puis cliquez sur nouveau périphérique de sauvegarde .
  • Dans la boîte de dialogue Propriétés de périphérique de sauvegarde - nouveau périphérique , vous cliquez sur le bouton des points de suspension (... ) à côté de nom de fichier pour localiser un périphérique.
Le système xp_availablemedia procédure stockée étendu peut également être appelée par programmation à l'aide de SQL DMO. Vous appelez la méthode EnumAvailableMedia d'un objet SQL Server DMO et avec une valeur MediaType paramètre SQLDMOMedia_All, SQLDMOMedia_Tape ou SQLDMOMedia_SharedFixedDisk. Quel que soit d'utilisation la procédure, le résultat peut toujours être le même.

Pour plus d'informations, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :
824684 Description de la terminologie standard utilisée pour décrire les mises à jour logicielles Microsoft

Propriétés

Numéro d'article: 916950 - Dernière mise à jour: vendredi 2 novembre 2007 - Version: 1.9
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft SQL Server 2000 Édition Développeur
  • Microsoft SQL Server 2000 Édition Entreprise
  • Microsoft SQL Server 2000 Édition Personelle
  • Microsoft SQL Server 2000 Standard sur le système suivant
    • Microsoft Windows Server 2003, Standard x64 Edition
    • Microsoft Windows Server 2003, Enterprise x64 Edition
Mots-clés : 
kbmt kbautohotfix kbbug kbhotfixserver kbqfe KB916950 KbMtfr
Traduction automatique
IMPORTANT : Cet article est issu du système de traduction automatique mis au point par Microsoft (http://support.microsoft.com/gp/mtdetails). Un certain nombre d?articles obtenus par traduction automatique sont en effet mis à votre disposition en complément des articles traduits en langue française par des traducteurs professionnels. Cela vous permet d?avoir accès, dans votre propre langue, à l?ensemble des articles de la base de connaissances rédigés originellement en langue anglaise. Les articles traduits automatiquement ne sont pas toujours parfaits et peuvent comporter des erreurs de vocabulaire, de syntaxe ou de grammaire (probablement semblables aux erreurs que ferait une personne étrangère s?exprimant dans votre langue !). Néanmoins, mis à part ces imperfections, ces articles devraient suffire à vous orienter et à vous aider à résoudre votre problème. Microsoft s?efforce aussi continuellement de faire évoluer son système de traduction automatique.
La version anglaise de cet article est la suivante: 916950
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.

Envoyer des commentaires

 

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