L'équipe de documentation de SQL Server n'est pas en mesure de répondre aux questions de support technique, mais accepte volontiers vos suggestions et commentaires relatifs à ce document LisezMoi. Vous pouvez facilement et rapidement nous adresser vos réactions par courrier électronique, en utilisant le lien fourni à cet effet. Veuillez envoyer vos commentaires en anglais. Pour envoyer vos commentaires à propos de ce document, cliquez ici : |
Contenu
1.0 Introduction
2.0 Téléchargement et installation de SQL Server Express
2.3 Outils de gestion de SQL Server Express
2.4 Accès à la documentation du programme d'installation
2.5 Fichier LisezMoi de SQL Server 2005
3.0 Problèmes liés à l'installation
4.0 Informations supplémentaires
4.1 Protocoles réseau et comptes de service
4.2 Fonctionnalités de l'interface utilisateur
4.3 Fonctionnalités du fournisseur WMI et de l'interface utilisateur
4.5 Assistance sur SQL Server Express
4.6 Prise en charge des groupes de discussion
4.7 Envoi de commentaires sur SQL Server Express
6.0 Réplication
1.0 Introduction
Microsoft SQL Server 2005 Express Edition (SQL Server Express) est une version gratuite et conviviale de SQL Server 2005 qui remplace Microsoft Desktop Engine (MSDE). Intégré à Microsoft Visual Studio 2005, SQL Server Express facilite le développement d'applications puissantes, sécurisées et pilotées par les données et permet de les déployer rapidement. SQL Server Express peut être redistribué (sous réserve d'accord) et peut fonctionner en tant que base de données cliente ainsi que base de données de serveur de base. SQL Server Express constitue la solution idéale pour les éditeurs de logiciels (ISV, Independent Software Vendor), les utilisateurs de serveurs, les développeurs non professionnels, les développeurs d'applications Web, les hébergeurs de sites Web et les amateurs qui construisent des applications clientes.
Toutes les informations se rapportant à SQL Server Express ultérieures à la diffusion de ce fichier LisezMoi seront publiées dans l’article
Pour plus d'informations sur la communication de commentaires via le groupe de discussion SQL Server Express, consultez 4.6 Prise en charge des groupes de discussion.
2.0 Téléchargement et installation de SQL Server Express
Cette section regroupe les informations sur l'installation de .NET Framework 2.0, SQL Server Express et des outils qui peuvent être utilisés pour se connecter à SQL Server Express.
2.1 .NET Framework 2.0
Vous devez installer .NET Framework 2.0 avant SQL Server Express.
SQL Server Express dépend d'une version 2.0 spécifique de .NET Framework. Si vous possédez une version différente, votre installation de SQL Server Express peut fonctionner de façon erratique. Vous pouvez télécharger .NET Framework 2.0 à partir de ce
Remarque : |
---|
.NET Framework 2.0 est installé automatiquement par Microsoft Visual Studio 2005 et SQL Server 2005. |
2.2 SQL Server Express
Vous pouvez télécharger SQL Server Express sur ce
Remarque : |
---|
Veillez à suivre les instructions indiquées sur le site de téléchargement pour télécharger et extraire le produit. |
Après avoir installé SQL Server Express, utilisez la commande suivante à l'aide de l'invite de commandes pour vous y connecter :
sqlcmd -S Server\Instance
où Server spécifie le nom de l'ordinateur et Instance le nom de l'instance à laquelle vous souhaitez vous connecter. Si vous avez utilisé l'instance nommée par défaut lors de l'installation, spécifiez l'instance « SQLExpress ».
2.3 Outils de gestion de SQL Server Express
Pour plus d'informations sur la connexion et la gestion de SQL Server Express, consultez l'article
2.4 Accès à la documentation du programme d'installation
Les configurations matérielle et logicielle requises sont récapitulées dans le document
2.5 Fichier LisezMoi de SQL Server 2005
Le fichier LisezMoi de SQL Server 2005 est disponible en ligne sur ce
Remarque : |
---|
Toutes les informations se rapportant à SQL Server 2005 et SQL Server Express ultérieures à la diffusion de ce fichier LisezMoi seront publiées dans l’article |
3.0 Problèmes liés à l'installation
Cette section passe en revue les problèmes liés à l'installation de cette version.
3.1 Une installation existante de SQL Native Client peut provoquer l'échec du programme d'installation
Il se peut que le programme d'installation échoue et effectue un processus de restauration avec le message d'erreur suivant : « Aucun package d'installation pour le produit Microsoft SQL Native Client n'a été trouvé. Recommencez l'installation en utilisant une copie valide du package d'installation 'sqlncli.msi'. » Afin d'éviter ce problème, désinstallez SQL Native Client en utilisant Ajout/Suppression de programmes. Sur un cluster, désinstallez SQL Native Client de tous les nœuds. Puis, réexécutez le programme d'installation de SQL Server.
3.2 L'outil d'analyse de configuration système échoue, accompagné du message « Échec de la vérification du compteur de l'Analyseur de performances »
L'outil d'analyse de configuration (SCC, System Configuration Checker) système vérifie la valeur de la clé de Registre du compteur de l'Analyseur de performances avant le démarrage de l'installation de SQL Server. Si l'outil SCC ne peut pas vérifier la clé de Registre existante ou exécuter le programme système Lodctr.exe, la vérification effectuée par SCC échoue et l'installation est bloquée. Pour achever l'installation, vous devez incrémenter manuellement la clé de Registre.
Attention : |
---|
La modification incorrecte du Registre peut entraîner de graves problèmes et nécessiter la réinstallation du système d’exploitation. Microsoft ne garantit pas que les problèmes résultant d’une modification incorrecte du Registre peuvent être résolus. Avant de modifier le Registre, sauvegardez toutes vos données importantes. Pour plus d'informations sur la sauvegarde, la restauration et la modification du Registre, consultez l'article |
-
Dans la barre des tâches, cliquez sur Démarrer, cliquez sur Exécuter, puis, dans la zone de texte Exécuter, tapez regedit.exe, et cliquez enfin sur OK.
-
Accédez à la clé de Registre suivante : [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib]. Recherchez les clés suivantes :
-
"Last Counter"=dword:00000ed4 (5276)
-
"Last Help"=dword:00000ed5 (5277)
-
"Last Counter"=dword:00000ed4 (5276)
-
Vérifiez les valeurs. La valeur Last Counter mentionnée ci-dessus (5276) doit être égale à la valeur maximale de la clé Counter de Perflib\009 dans la clé de Registre suivante et la valeur Last Help mentionnée ci-dessus (5277) doit être égale à la valeur maximale de la clé Help de Perflib\009 dans la clé de Registre suivante : [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib\009].
Remarque : « 009 » est la clé utilisée pour la langue Anglais (États-Unis). -
Au besoin, modifiez les valeurs de Last Counter et Last Help dans la clé \Perflib. Cliquez avec le bouton droit sur Last Counter ou sur Last Help dans le volet droit, sélectionnez Modifier, cliquez sur Base = Décimale, définissez la valeur dans le champ de données Valeur, puis cliquez sur OK. Répétez l'opération pour l'autre clé, si nécessaire, puis fermez l'éditeur du Registre.
-
Réexécutez le programme d'installation de SQL Server 2005 Express Edition.
3.3 La documentation en ligne de SQL Server Express contient des informations incorrectes sur la prise en charge par le système d'exploitation
La liste des systèmes d'exploitation mentionnés dans la rubrique « Configuration matérielle et logicielle requise 5SQL Server Express » dans la documentation en ligne de SQL Server Express n'est pas correcte. Les systèmes d'exploitation suivants sont pris en charge par SQL Server Express.
-
Windows Server 2003 SP1
-
Windows Server 2003 Enterprise Edition SP1
-
Windows Server 2003 Datacenter Edition SP1
-
Windows Small Business Server 2003 Standard Edition SP1
-
Windows Small Business Server 2003 Premium Edition SP1
-
Windows XP Professionnel SP2
-
Windows XP Édition familiale SP2
-
Windows XP Édition Tablet PC SP2
-
Windows XP Media Edition SP2
-
Windows 2000 professionnel SP4
-
Windows 2000 Server SP4
-
Windows 2000 Advanced Edition SP4
-
Windows 2000 Datacenter Server Edition SP4
3.4 Si les services de cryptographie sont désactivés sous Windows Server 2003, le programme d'installation échoue, accompagné d'une boîte de dialogue relative à la configuration requise pour le programme Windows Logo.
Le fournisseur de services cryptographiques (CSP, Cryptographic Service Provider) Windows est du code qui exécute les services d'authentification, de codage et de chiffrement auxquels accèdent les applications Windows par le biais de la fonction CryptoAPI sous Windows Server 2003. Si le service CSP est arrêté ou désactivé, le programme d'installation de SQL Server échoue et affiche un message relatif à la configuration requise pour le programme Windows Logo.
Remarque : |
---|
Avant d'exécuter le programme d'installation de SQL Server sur un cluster avec basculement Windows Server 2003, vous devez démarrer le service CSP sur tous les nœuds du cluster. |
-
Dans le Panneau de configuration, ouvrez Outils d'administration, puis double-cliquez sur Services.
-
Dans la colonne Nom, cliquez avec le bouton droit sur Services de cryptographie, puis cliquez sur Démarrer.
-
Fermez Services.
-
Exécutez le programme d'installation.
3.5 MSDTC n'est pas complètement activé sous Windows
Microsoft Distributed Transaction Coordinator (MSDTC) n'étant pas complètement configuré dans Windows, il est possible que les applications ne parviennent pas à inscrire des ressources SQL Server Express dans une transaction distribuée. Ce problème peut affecter les serveurs liés, les requêtes distribuées et les procédures stockées distantes qui utilisent des transactions distribuées. Pour éviter ce type de problème, vous devez activer complètement les services MSDTC sur le serveur sur lequel SQL Server Express est installé.
-
Dans le Panneau de configuration, ouvrez Outils d'administration, puis double-cliquez sur Services de composants.
-
Dans le volet de gauche Racine de la console, cliquez sur Services de composants, puis développez Ordinateurs.
-
Cliquez avec le bouton droit sur Poste de travail, puis cliquez sur Propriétés.
-
Sous l'onglet MSDTC, cliquez sur Ajouter.
-
Sous Paramètres de sécurité, activez toutes les cases à cocher.
-
Vérifiez que le nom Compte d'ouverture de session DTC a pour valeur NT AUTHORITY\NetworkService.
3.6 Les exemples de base de données ne sont pas installés par défaut
Les exemples de bases de données ne sont pas installés par défaut dans SQL Server Express. Les exemples de base de données Adventureworks et pubs peuvent être installés à partir de ce
3.7 La configuration permettant de forcer le chiffrement peut faire échouer le programme d'installation de SQL Server Express
Le programme d'installation peut échouer si une installation cliente de SQL Server est configurée avec l'option permettant de forcer le chiffrement. Pour résoudre ce problème, désactivez l'option sur tous les clients SQL Server. Pour les clients MDAC (Microsoft Data Access Components) dans SQL Server 2000, recourez à l'utilitaire réseau client de SQL Server 2000. Pour SQL Native Client, désinstallez-le à l'aide de la fonctionnalité Ajouter ou supprimer des programmes. Sur un cluster, désinstallez SQL Native Client de tous les nœuds. Puis, réexécutez le programme d'installation de SQL Server 2005.
3.8 Les paramètres de sp_configure peuvent faire échouer le programme d'installation lors de la mise à niveau des bases de données système
L'installation à partir de l'invite de commandes peut échouer lorsque vous désinstallez une version antérieure de SQL Server Express à l'aide de la commande SAVESYSDB, puis que vous installez cette version à l'aide de la commande USESYSDB, si les options sp_configure SMO et DMO XPs sont désactivées sur l'instance précédente. Pour résoudre ce problème, vérifiez que ces options sont activées avant d'utiliser le programme d'installation pour mettre à niveau les bases de données système. Pour plus d'informations, consultez la rubrique relative au paramétrage des options de configuration du serveur dans la documentation en ligne de SQL Server sur ce
3.9 L'installation d'une instance par défaut de SQL Server 2000 peut désactiver SQL Server Express
Si votre ordinateur possède les outils de gestion de SQL Server 2000 et qu'une instance par défaut de SQL Server Express est installée, le programme d'installation de SQL Server vous permettra d'installer une instance par défaut de SQL Server 2000. Cependant, si vous agissez de la sorte, l'instance installée de SQL Server Express sera désactivée. Par conséquent, n'installez pas une instance par défaut de SQL Server 2000 lorsque les outils de gestion de SQL Server 2000 et une instance par défaut de SQL Server Express existent déjà sur votre ordinateur.
3.10 Installation de SQL Server Express sur un contrôleur de domaine Windows
Remarque relative à la sécurité : |
---|
Nous déconseillons l'exécution de SQL Server Express sur un contrôleur de domaine. |
Il est possible d'installer SQL Server Express sur un contrôleur de domaine Windows ; toutefois, une exécution sur un contrôleur de domaine Windows Server 2003 en tant que service local ou réseau est impossible. Les comptes des services SQL Server doivent être exécutés en tant que comptes d'utilisateurs de domaine Windows. Il est également possible d'installer les comptes de services SQL Server pour une exécution en tant que système local, mais cette option n'est pas recommandée.
Ne changez pas le rôle du serveur après l'installation de SQL Server Express. Par exemple, si vous installez SQL Server Express sur un serveur membre, n'utilisez pas l'outil Dcpromo pour promouvoir le serveur en contrôleur de domaine. De même, si vous installez SQL Server Express sur un contrôleur de domaine, n'utilisez pas l'outil Dcpromo pour rétrograder le serveur en serveur membre. La modification du rôle d'un serveur après l'installation de SQL Server Express peut entraîner la perte de certaines fonctionnalités et n'est pas prise en charge.
3.11 Une installation existante de SQL Native Client peut provoquer l'échec du programme d'installation
Il se peut que le programme d'installation échoue et effectue un processus de restauration avec le message d'erreur suivant : « Aucun package d'installation pour le produit Microsoft SQL Native Client n'a été trouvé. Recommencez l'installation en utilisant une copie valide du package d'installation 'sqlncli.msi'. » Afin d'éviter ce problème, désinstallez SQL Native Client en utilisant Ajout/Suppression de programmes. Sur un cluster, désinstallez SQL Native Client de tous les nœuds. Puis, réexécutez le programme d'installation de SQL Server.
3.12 Désinstallation des versions préliminaires de SQL Server Express et de Visual Studio 2005
Vous devez supprimer toutes les versions antérieures de SQL Server Express, Visual Studio 2005 et .NET Framework 2.0 avant l'installation. Étant donné que les deux produits dépendent de la même version de .NET Framework, ils doivent être désinstallés dans l'ordre suivant :
-
SQL Server Express
-
Visual Studio 2005
-
.NET Framework 2.0
3.13 Le Mode de maintenance demande le chemin d'accès de Setup.exe
Si vous installez un nouveau composant SQL Server 2005 en mode de maintenance, vous devrez indiquer l'emplacement de Setup.exe sur le support d'installation de SQL Server 2005. Lorsque vous spécifiez cet emplacement, assurez-vous que le chemin comprend « Setup.exe ». Par exemple, le chemin « D:\ » ne fonctionnera pas, alors que « D:\Setup.exe » ne fonctionnera pas.
3.14 Dépannage de l'échec des scripts de shell pour la commande d'installation
Les scripts de shell de la commande d'installation peuvent générer des erreurs de script Windows lorsque les variables de chemins d'accès contiennent des parenthèses. Ceci se produit car les scripts de shell ne prennent pas en charge les parenthèses dans les variables de chemin d'accès, ce qui peut se produire lorsque vous installez des composants 32 bits dans le sous-système WOW32 bits (WOW64) sur un ordinateur 64 bits. Par exemple, le script suivant contient la valeur de chemin « C:\Program Files (x86)\ » et génère une erreur car l'interpréteur de script de shell n'interprète pas correctement les parenthèses dans la variable étendue PATH et la prend pour une partie d'instruction IF/ELSE :
IF "%SOME_PATH%" == "" (
SET PATH=%PATH%;%PATH_A%
) ELSE (
SET PATH=%PATH%;%PATH_B%
)
Pour contourner ce problème, modifiez le script pour supprimer les parenthèses. Exemple :
IF "%SOME_PATH%" == "" set PATH=%PATH%;%PATH_A%
IF NOT "%SOME_PATH%" == "" set PATH=%PATH%;%PATH_B%
Ou supprimez l'entrée SQL contenant les parenthèses du chemin d'accès.
4.0 Informations supplémentaires
4.1 Protocoles réseau et comptes de service
Pour SQL Server Express, le compte système local est le compte de service réseau.
SQL Server Express est à l'écoute sur les canaux nommés locaux et sur la mémoire partagée. Une installation par défaut ne vous permet pas de vous connecter à distance à SQL Server Express. Vous devez activer TCP/IP et vérifier si le pare-feu est activé.
Pour activer TCP/IP :
-
Dans le menu Démarrer, choisissez Tous les programmes, pointez sur Microsoft SQL Server 2005, sur Outils de configuration, puis cliquez sur Gestionnaire de configuration SQL Server.
Vous pouvez éventuellement ouvrir Computer Manager en cliquant avec le bouton droit sur Poste de travail, puis en choisissant Gérer. Dans Gestion de l'ordinateur, développez Services et applications, puis développez Gestionnaire de configuration SQL Server.
-
Développez Configuration du réseau SQL Server 2005, puis cliquez sur Protocoles pour NomInstance.
-
Dans la liste des protocoles, cliquez avec le bouton droit sur le protocole à activer, puis cliquez sur Activer.
L'icône du protocole change pour indiquer qu'il est activé.
Pour activer le pare-feu :
-
Cliquez sur Démarrer, sur Panneau de configuration, puis sur Connexions réseau.
-
Dans la barre de navigation à gauche, cliquez sur Modifier les paramètres du pare-feu Windows.
-
Dans l'onglet Exceptions, dans la zone Programmes et services, vous verrez probablement SQL Server dans la liste, mais pas sélectionné en tant qu'exception. Si vous activez cette case à cocher, Windows ouvrira le port 1433 pour laisser passer les requêtes TCP. En revanche, si vous ne voyez pas SQL Server dans la liste, procédez comme suit :
-
Cliquez sur Ajouter un programme.
-
Cliquez sur Parcourir.
-
Accédez à lecteur:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\BINN
-
Ajoutez le fichier sqlservr.exe à la liste des exceptions.
-
Cliquez sur Ajouter un programme.
4.2 Fonctionnalités de l'interface utilisateur
SQL Server Express permet aux utilisateurs non-administrateurs de copier ou de déplacer des bases de données (à l'aide du déploiement Xcopy) sans détenir des privilèges DBCreator. Pour plus d'informations, consultez la rubrique traitant des instances d'utilisateur pour les non-administrateurs dans la documentation en ligne de SQL Server Express sur ce
4.3 Fonctionnalités du fournisseur WMI et de l'interface utilisateur
Le fournisseur WMI pour les événements de serveur ne sera pas pris en charge sur les instances d'utilisateur produites dynamiquement. Cela devrait toutefois être le cas sur l'instance SQL Server Express parente.
4.4 Documentation en ligne
Vous pouvez télécharger la documentation en ligne de SQL Server Express à partir de ce
Remarque : |
---|
SQL Server Express étant une version limitée de SQL Server 2005, la documentation en ligne de SQL Server Express dépend fortement du contenu de la documentation en ligne de SQL Server 2005. |
Vous pouvez télécharger la documentation en ligne de SQL Server 2005 à partir de ce
Microsoft publie régulièrement des mises à jour téléchargeables de la documentation en ligne de SQL Server Express et SQL Server 2005. Nous vous recommandons d'installer ces mises à jour pour toujours disposer des dernières informations dans votre copie locale.
4.5 Assistance sur SQL Server Express
Microsoft propose quatre principales sources d'information sur SQL Server 2005 Express :
-
Documentation et exemple SQL Server Express
-
Documentation SQL Server 2005
-
Les sites dédiés à SQL Server sur
MSDN (Microsoft Developer Network) etTechNet
-
Les informations relatives à SQL Server sur les autres sites Web de Microsoft.
Vous pouvez également obtenir de l'aide auprès des
4.6 Prise en charge des groupes de discussion
En ce qui concerne la prise en charge des groupes de discussion, visitez le groupe de discussion de SQL Server Express sur ce
Les informations les plus récentes émanant de l'équipe SQL Server Express sont disponibles dans le
Remarque : |
---|
Les groupes de discussion sont uniquement pris en charge en anglais. |
4.7 Envoi de commentaires sur SQL Server Express
Pour envoyer des suggestions et des rapports de bogue sur SQL Server Express :
-
Envoyez vos suggestions et vos bogues relatifs aux fonctionnalités et à l'interface utilisateur de SQL Server Express sur ce
site Web Microsoft .
-
Envoyez vos suggestions et les inexactitudes que vous rencontrez dans la documentation via la fonction de commentaires de la documentation en ligne de SQL Server Express.
-
Choisissez d'envoyer automatiquement des rapports d'erreur et des données sur l'utilisation des fonctionnalités à Microsoft en vue de leur analyse.
Pour plus d'informations, consultez la rubrique « Envoi de commentaires sur SQL Server 2005 » dans Documentation en ligne de SQL Server.
5.0 Moteur de base de données
Les remarques de cette section constituent des éléments d'information récents relatifs au moteur de base de données SQL Server 2005 et aux utilitaires d'invite de commandes propres au moteur de base de données et s'appliquant également à SQL Server Express.
5.1 Les connexions peuvent être fermées de force lors de l'exécution de Windows Server 2003 SP1
Si le réseau TCP/IP est activé, les connexions clientes à une instance du moteur de base de données SQL Server Express sous Windows Server 2003 Service Pack 1 peuvent échouer, accompagnées de l'erreur suivante : « ProviderNum : 7, Erreur : 10054, ErrorMessage : « Fournisseur TCP : Une connexion existante a dû être fermée par l'hôte distant ».»
Cela peut se produire lorsque vous testez l'évolutivité avec un nombre élevé de tentatives de connexions clientes. Afin de résoudre ce problème, à l'aide de l'utilitaire regedit.exe, ajoutez à la clé de Registre HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\ une nouvelle valeur DWORD nommée SynAttackProtect à laquelle vous attribuez la valeur 00000000.
Remarque relative à la sécurité : |
---|
La définition de cette clé de Registre peut exposer le serveur à une attaque de type refus de service par saturation SYN. Supprimez cette valeur de Registre une fois le test achevé. |
Attention : |
---|
La modification incorrecte du Registre peut entraîner de graves problèmes et nécessiter la réinstallation du système d’exploitation. Microsoft ne garantit pas que les problèmes résultant d’une modification incorrecte du Registre peuvent être résolus. Avant de modifier le Registre, sauvegardez toutes vos données importantes. Pour plus d'informations sur la sauvegarde, la restauration et la modification du Registre, consultez l'article |
5.2 Les dialogues Service Broker sécurisés nécessitent une clé principale de base de données
La documentation en ligne de SQL Server 2005 indique à tort que lorsqu'une conversation utilisant la sécurité du dialogue englobe une base de données, SQL Server crée une clé de session chiffrée avec la clé principale de la base de données. En réalité, la clé de session est chiffrée avec la clé principale de la base de données de toutes les conversations qui utilisent la sécurité du dialogue. Si aucune clé principale de base de données n'est disponible, le système conserve les messages de la conversation dans la file d'attente de transmission et affiche une erreur jusqu'à ce qu'une clé principale de base de données soit créée ou que la conversation expire. Utilisez le paramètre ENCRYPTION = OFF
pour créer un dialogue non chiffré ou recourez à la commande suivante pour créer une clé principale de base de données :
CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<password>' |
5.3 Les types CLR définis par l'utilisateur doivent avoir une seule sérialisation
Chaque instance d'un objet de type défini par l'utilisateur ordonné par octet peut avoir une seule représentation sérialisée. Si les routines de sérialisation ou de désérialisation reconnaissent plusieurs représentations d'un objet particulier, vous pouvez obtenir des erreurs dans les cas suivants :
-
Lors de la validation d'un type défini par l'utilisateur ordonné par octet transmis via RPC, ce type fait l'objet d'une désérialisation/resérialisation et les octets obtenus doivent être exactement les mêmes que ceux d'origine. Si la validation échoue, vous obtenez le message d'erreur : « System.Data.SqlClient.SqlException. Le flux du protocole d'appel de procédure distante du flux de données tabulaires entrant est incorrect. Paramètre 1 (« <ParameterName> ») : la valeur fournie n'est pas une instance valide du type de données <TypeName>. Vérifiez si les données sources comportent des valeurs incorrectes. »
-
Pendant l'opération DBCC, les octets stockés dans une colonne de type défini par l'utilisateur ordonné par octet doivent être égaux à la sérialisation calculée de la valeur de type défini par l'utilisateur. Si ce n'est pas le cas, la routine DBCC CHECKTABLE indique une erreur de cohérence.
5.4 Connectivité réseau non activée par le programme d'installation
Afin d'améliorer la sécurité, SQL Server Express désactive la connectivité réseau pour certaines nouvelles installations. La connectivité réseau à l'aide de TCP/IP n'est pas désactivée si vous utilisez SQL Server Enterprise, Standard ou Workgroup Edition, ou si une installation précédente de SQL Server est présente. La connectivité à l'aide de canaux nommés est disponible uniquement pour les connexions locales, sauf si une installation précédente de SQL Server est présente. Pour toutes les installations, le protocole de mémoire partagée est activé afin de permettre les connexions locales au serveur. Il se peut que le service SQL Browser s'arrête, en fonction des conditions et des options d'installation.
5.5 Observations sur les assemblys contenant des types définis par l'utilisateur
Les limitations qui suivent s'appliquent aux assemblys CLR (common language runtime) qui contiennent des types définis par l'utilisateur.
Les types CLR (Common Language Runtime) définis par l'utilisateur ne doivent comporter qu'une seule sérialisation
Chaque instance d'un objet de type défini par l'utilisateur ordonné par octet ne peut avoir qu'une seule représentation sérialisée. Si les routines de sérialisation ou de désérialisation reconnaissent plusieurs représentations d'un objet particulier, vous pouvez obtenir des erreurs dans les cas suivants :
-
Lors de la validation d'un type défini par l'utilisateur ordonné par octet transmis via RPC, ce type fait l'objet d'une désérialisation/resérialisation et les octets obtenus doivent être exactement les mêmes que ceux d'origine. Si la validation échoue, vous obtenez le message d'erreur : « System.Data.SqlClient.SqlException. Le flux du protocole d'appel de procédure distante du flux de données tabulaires entrant est incorrect. Paramètre 1 (« <ParameterName> ») : la valeur fournie n'est pas une instance valide du type de données <TypeName>. Vérifiez si les données sources comportent des valeurs incorrectes. »
-
Pendant DBCC CHECKTABLE, les octets stockés dans une colonne de type défini par l'utilisateur ordonné par octet doivent être identiques à la sérialisation calculée de la valeur du type défini par l'utilisateur. Si ce n'est pas le cas, la routine DBCC CHECKTABLE indique une erreur de cohérence.
Mise à jour des restrictions sur la mise à jour des assemblys contenant des classes du type défini par l'utilisateur
ALTER ASSEMBLY peut être utilisé pour mettre à jour les types CLR défini par l'utilisateur :
-
Pour modifier les méthodes publiques de la classe du type défini par l'utilisateur, tant que les signatures ou les attributs ne sont pas modifiés.
-
Pour ajouter de nouvelles méthodes publiques.
-
Pour modifier des méthodes privées.
Les champs qui se trouvent dans un type défini par l'utilisateur et sérialisé de façon native, y compris les membres de données ou les classes de base, ne peuvent pas être modifiés avec ALTER ASSEMBLY. Aucune autre modification n'est prise en charge.
5.6 SQL Server ne garantit pas la cohérence des données lors de la mise à jour d'assemblys
Si WITH UNCHECKED DATA n'est pas spécifié, SQL Server tente d'empêcher ALTER ASSEMBLY de s'exécuter si la nouvelle version de l'assembly affecte des données existantes dans des tables, des index ou dans d'autres sites persistants. SQL Server ne garantit cependant pas que les colonnes, les index, les vues indexées ou les expressions calculés seront cohérents avec les routines et les types sous-jacents une fois l'assembly CLR mis à jour. Soyez prudent lorsque vous exécutez ALTER ASSEMBLY pour vous assurer qu'il n'y ait pas de discordance entre le résultat d'une expression et une valeur basée sur la version stockée dans l'assembly de cette expression.
5.7 Considérations relatives à la fonctionnalité de récupération automatique de cliché instantané du service VSS (Volume Shadow Copy)
La fonctionnalité de récupération automatique de cliché instantané du service VSS (Volume Shadow Copy) présente les limitations suivantes.
Plusieurs clichés instantanés récupérés automatiquement persistants
Dans Windows Server 2003 Service Pack 1 (SP1) et versions ultérieures, vous ne pouvez créer qu'un seul cliché instantané récupéré automatiquement persistant. Pour créer un cliché instantané supplémentaire, vous devez tout d'abord appliquer la mise à jour décrite dans l'article
Remarque : |
---|
Si vous n'avez pas appliqué cette mise à jour, vous pouvez créer un nouveau cliché instantané récupéré automatiquement persistant en supprimant d'abord le cliché instantané existant, puis en créant le nouveau. |
Clichés instantanés récupérés automatiquement et catalogues de texte intégral
La fonctionnalité de récupération automatique de cliché instantané ne prend pas en charge les catalogues de texte intégral. Lorsqu'un cliché instantané récupéré automatiquement est créé, tous les catalogues de texte intégral dans la base de données sur le cliché instantané sont mis hors connexion. Lorsque la base de données est attachée à partir du cliché instantané, le catalogue de texte intégral reste définitivement hors connexion. Toutes les autres données restent disponibles dans la base de données attachée.
Lorsqu'une base de données qui contient un catalogue de texte intégral est attachée directement à partir d'un cliché instantané récupéré automatiquement, l'opération d'attachement retourne le message d'erreur suivant :
Serveur : Msg 7608, Niveau 17, état 1, Ligne 1 Une erreur de texte intégral inconnue (0xc000000d) s'est produite durant "Montage d'un catalogue de texte intégral". |
Si vous n'avez pas besoin d'attacher une base de données directement à partir du cliché instantané, vous pouvez éviter ce problème en copiant les fichiers de base de données et les catalogues de texte intégral à partir du cliché instantané dans un volume normal de la forme lettre_lecteur, puis en attachant la base de données à partir de cet emplacement. Les catalogues de texte intégral fonctionneront tant que la commande d'attachement spécifie l'emplacement correct des fichiers de texte intégral copiés.
5.8 Restrictions concernant l'inscription des assemblys du Common Language Runtime
SQL Server ne permet pas l'inscription de différentes versions d'un assembly avec le même nom, culture et clé publique. Si vous prévoyez de conserver des bases de données à partir d'une version de SQL Server Express antérieure à la version CTP de septembre, vous devez supprimer toutes les instances sauf une d'un assembly qui possède plusieurs inscriptions avant d'installer cette version.
5.9 Création d'assemblys EXTERNAL_ACCESS et UNSAFE
Pour créer un assembly EXTERNAL_ACCESS ou UNSAFE dans SQL Server, ou pour charger un assembly, une des deux conditions suivantes doit être satisfaite :
-
L'assembly a un nom fort signé ou un certificat Authenticode signé. Ce nom fort (ou certificat) est créé dans SQL Server en tant que clé asymétrique (ou certificat) et il possède une ouverture de session correspondante avec autorisation EXTERNAL ACCESS ASSEMBLY (pour les assemblys EXTERNAL ACCESS) ou UNSAFE ASSEMBLY (pour les assemblys UNSAFE).
-
Le propriétaire de la base de données (DBO) possède l'autorisation EXTERNAL ACCESS ASSEMBLY (pour les assemblys EXTERNAL ACCESS) ou UNSAFE ASSEMBLY (pour les assemblys UNSAFE), et la base de données a la propriété TRUSTWORTHY définie à ON.
Nous recommandons de ne définir la propriété TRUSTWORTHY à une valeur autre que ON que pour exécuter du code CLR (Common Language Runtime) dans le processus serveur. Nous recommandons plutôt de créer une clé asymétrique à partir du fichier d'assembly dans la base de données master. Il faut alors créer une ouverture de session mappée sur cette clé asymétrique, et lui octroyer l'autorisation EXTERNAL ACCESS ASSEMBLY ou UNSAFE ASSEMBLY.
Les instructions Transact-SQL suivantes effectuent les étapes nécessaires pour créer une clé asymétrique, mapper une ouverture de session sur cette clé, puis octroyer l'autorisation EXTERNAL_ACCESS ASSEMBLY à cette ouverture de session. Vous devez exécuter les instructions Transact-SQL suivantes avant d'exécuter l'instruction CREATE ASSEMBLY.
USE master GO CREATE ASYMMETRIC KEY HelloWorldKey FROM EXECUTABLE FILE = 'C:\HelloWorld.dll' CREATE LOGIN HelloWorldLogin FROM ASYMMETRIC KEY HelloWorldKey GRANT EXTERNAL ACCESS ASSEMBLY TO HelloWorldLogin GO |
5.10 Compatibilité des rôles d'application avec les restrictions de visibilité des métadonnées et les vues de gestion dynamiques
Le comportement des programmes qui s'exécutent sous un rôle d'application peut changer, car SQL Server Express limite par défaut la visibilité des métadonnées de la base de données master aux rôles d'application. En guise de solution de contournement provisoire, vous pouvez activer l'indicateur de trace #4616. Pour plus d'informations, consultez l'article
5.11 L'option de base de données SUPPLEMENTAL_LOGGING n'est pas implémentée
L'option de base de données SUPPLEMENTAL_LOGGING n'est pas implémentée dans cette version de SQL Server. Cette option peut être définie, mais cela n'a aucun effet.
5.12 sys.dm_clr_loaded_assemblies indique des assemblys dont le chargement a échoué
Les assemblys dont le chargement dans l'espace d'adressage du serveur a échoué, pour quelque raison que ce soit, apparaîtront toujours dans la vue de gestion dynamique sys.dm_clr_loaded_assemblies.
5.13 Modifications XQuery
Les aspects ci-dessous relatifs à l'implémentation de XQuery dans SQL Server Express ne figurent pas dans la documentation en ligne :
-
Les caractères générés par des sections CDATA ne sont pas considérés comme des espaces. Par exemple,
select cast(''as xml).query('<a> <![CDATA[ ]]> {"abc"}</a>')
retourne<a> abc</a>
.
-
La construction d'éléments et d'attributs vides est prise en charge.
-
Le préfixe d'espace de noms xmlns identifie un attribut de déclaration d'espace de noms et ne peut pas être redéclaré dans une expression XQuery. Ce comportement est requis par la spécification XQuery.
-
L'utilisation de 'for' avec une expression source () engendre une erreur statique.
-
Dans un document XML construit à l'aide de la méthode query() sur le type de données xml, un retour chariot situé à l'intérieur d'une section CDATA devient un saut de ligne. Le saut de ligne est utilisé à la place de la référence d'entité de retour chariot (
) utilisée précédemment pour une question d'uniformité avec l'analyse XML de texte.
-
Les fonctions Transact-SQL définies par l'utilisateur qui contiennent local-name() et namespace-uri() sont déterministes.
5.14 La conversion à partir de xsd:dateTime est moins restrictive que ce qui est indiqué dans la documentation
Une représentation sous forme de chaîne d'une valeur xs:dateTime qui ne contient pas de séparateur de date et d'heure T ou de fuseau horaire peut être convertie en un type SQL datetime dans une méthode value(), comme dans l'exemple suivant :
declare @aaa xml set @aaa = '<AAA MyDate="2005/1/1 00:00:00"/>' select @aaa.value('(//AAA)[1]/@MyDate', 'datetime') |
5.15 Prise en charge des schémas XML
Les aspects ci-dessous relatifs à la prise en charge des schémas XML par SQL Server 2005 ne figurent pas dans la documentation en ligne de SQL Server 2005 :
-
Le schéma XML pour Reporting Services (RDL) peut être chargé dans une collection de schémas XML.
-
Les valeurs de type xs:dateTime et xs:time qui contiennent des valeurs pour les secondes possédant plus de trois chiffres fractionnaires ne retournent pas une erreur. À la place, elles sont arrondies.
-
Un schéma XML est rejeté si la facette maxInclusive est redéfinie dans un type dérivé lorsque le type de base possède
fixed="true"
.
-
Les espaces à droite dans les facettes minInclusive, minExclusive, maxInclusive et maxExclusive sont ignorés dans les types dérivés qui restreignent les types de données xs:dateTime, xs:data et xs:time.
5.16 Le chiffrement RC4 ne doit pas être utilisé
N'utilisez pas le chiffrement RC4 pour protéger vos données dans SQL Server 2005. Utilisez un chiffrement par blocs tels que le AES 256 ou Triple DES.
6.0 Réplication
Les remarques figurant dans cette section sont les toutes dernières informations relatives à la réplication.
La réplication est désactivée par défaut
Microsoft SQL Server 2005 Express Edition peut servir d'Abonné pour tous les types de réplication, mais la réplication n'est pas installée par défaut pour cette édition.
Pour installer les composants de réplication :
-
Dans la page Sélection de composant, développez Services de base de données.
-
Cliquez sur Réplication, puis sur Ce composant sera installé en totalité sur le disque dur local.
Pour installer les composants de connectivité et les objets RMO (Replication Management Objects) :
-
Dans la page Sélection de composant, cliquez sur Composants clients, puis sur Ce composant sera installé en totalité sur le disque dur local.