Auteurs d'origine : Abi Iyer, Dinakar Nethi

Résumé

SQL Azure Database est un service de bases de données relationnelles sur le nuage fourni par Microsoft. SQL Azure fourni une fonction de bases de données relationnelles en tant qu'utilitaire. Les solutions de bases de données sur le nuage telles que SQL Azure peuvent être sources d'avantages comme l'approvisionnement rapide, l'évolutivité rentable, la grande disponibilité et la charge de gestion réduite. Ce document est consacré aux questions les plus fréquemment posées par nos clients.

Table des matières :


Prévente

Q : comment Microsoft différentie SQL Azure de SQL Server ?

Même si SQL Server et SQL Azure traitent, occasionnellement, les chevauchements de charges de travail d'applications, le premier est un serveur de bases de données traditionnel, suivant un modèle de logiciel avec licence, tandis que l'autre est une base de données en tant que service sur le nuage, fonctionnant dans les centres de données globaux de Microsoft, et facturé en fonction de l'utilisation qui en est faite. Les deux offres sont flexibles et permettent à l'utilisateur de choisir la plate-forme et le modèle économique correspondant le mieux à son besoin technologique.

SQL Server est un serveur de bases de données pour l'entreprise qui fournit un stockage de données relationnelles “évolutif” ainsi qu'un ensemble conséquent de types d'applications et de scénarios sur site. SQL Server n'est pas une offre de service et ne suis pas un modèle de facturation en fonction de la consommation. SQL Server est doté d'une licence par serveur ou par processeur et couvre une large gamme de serveurs physiques. SQL Server est exécuté sur le matériel présent dans votre centre de données ou dans celui de votre fournisseur d'hébergement.

SQL Azure est un service de base de données hautement disponible, proposant une “évolutivité” en termes de puissance, qui est distribué et hébergé par Microsoft dans le nuage. SQL Azure facilite l'approvisionnement et le déploiement de fonctionnalités de bases de données relationnelles en tant que service. Les développeurs et les administrateurs n'ont aucun logiciel à installer, à configurer, à corriger ou à gérer. La haute disponibilité, la sauvegarde et la restauration, la distribution géographique et la récupération d'urgence font partie intégrante du produit.

En plus des différences concernant l'évolutivité et la montée en puissance parallèle, il en existe également au niveau du modèle de fonctionnement. SQL Azure permettant de faire abstraction de la gestion du matériel et du système d'exploitation, l'utilisateur peut se concentrer sur la création de solutions sans avoir à se procurer, à gérer, à corriger et à obtenir les licences pour le matériel, les ordinateurs virtuels, les systèmes d'exploitation et la plate-forme des applications. Avec un serveur de bases de données dédié (qu'il soit installé sur site comme un serveur traditionnel, hébergé dans un ordinateur virtuel ou par un fournisseur de service tiers), les développeurs et les professionnels de l'informatique sont toujours responsables de l'installation, de la configuration, de la mise à jour et des corrections du système d'exploitation et du logiciel de base de données. De plus, les utilisateurs des serveurs de bases de données doivent concevoir leur propre montée en puissance hautement disponible et leurs solutions de récupération d'urgence, ce qui accroît le coût total d'administration.

SQL Azure a été conçue et optimisée pour des applications nécessitant une évolutivité et une disponibilité de haut niveau pour un coût inférieur à celui des architectures évolutives traditionnelles. Dans cette optique, SQL Azure fournit une solution hautement disponible et évolutive en utilisant du matériel de base, et permet des fonctionnalités de bases de données en tant que service.

Q : quelle est l'approche de SQL Azure au niveau de la mise à l'échelle ? La taille des données pouvant être stockées dans SQL Azure est-elle limitée ?

SQL Azure a été optimisée pour des applications nécessitant une évolutivité et une disponibilité de haut niveau pour un coût inférieur à celui des architectures évolutives traditionnelles. Dans cette optique, SQL Azure fournit une solution hautement disponible et hautement évolutive en utilisant du matériel de base. Pour tirer le maximum de profit de cette plate-forme, l'utilisateur est naturellement plus tenté par les solutions permettant une montée en puissance parallèle à l'aide de plus petites partitions que par le modèle traditionnel consistant à faire monter en puissance un seul serveur.

SQL Azure prend en charge des ensembles de données dont la taille se mesure en téraoctets. Chaque base de données SQL Azure peut atteindre 50 Go. Les ensembles de données dont la taille excède 50 Go peuvent être partitionnés en plusieurs bases de données Azure à l'aide d'approches standard. Par exemple, un prestataire informatique indépendant fournissant un logiciel en tant que service peut facilement créer une base de données pour chacun de ses clients. De la même manière, un détaillant peut partitionner les données de vente en bases de données selon les régions.

Il est également important de remarquer que la limite des 50 Go par base de données n'inclut ni les copies supplémentaires de données, dont la maintenance est réalisée automatiquement afin d'assurer une plus grande disponibilité, ni le journal des transactions, ni les tableaux de niveau du système.

Q : que veux réellement dire “Web Edition inclut jusqu'à 5 Go de BD/mois” ou “Business Edition inclut jusqu'à 50 Go de BD/mois”?

Il est possible d'approvisionner plusieurs bases de données dans SQL Azure pour une ou plusieurs applications. Il peut s'agir de bases de données Web Edition ou Business Edition. Une seule base de données Web Edition peut prendre en charge jusqu'à 5 Go. 1 Go et 5 Go sont les incréments de facturation. Une seule base de données Business Edition prend en charge jusqu'à 50 Go. Business Edition utilise des incréments de 10 Go (10 Go, 20 Go, 30 Go, 40 Go, 50 Go).

La facturation est basée sur la taille maximale de base de données atteinte sur une journée ajustée à l'incrément de facturation suivant.

Exemple :

Imaginons que nous disposions d'une base de données Web Edition dont la taille maximum MAXSIZE=5 Go. Si la taille de la base de données et de 800 Mo, Web Edition considère cette base de données au taux de 1 Go. Si, le jour suivant, la taille de la base de données passe à 3 Go, la charge quotidienne est basée sur l'incrément de facturation suivant, soit 5 Go. Si, le jour suivant, après quelques suppressions de données, la taille de la base de données chute à 900 Mo, la charge quotidienne est basée à nouveau sur 1 Go.

Il en va de même pour une base de données Business Edition. Imaginons que nous disposions d'une base de données Business Edition dont la taille maximum MAXSIZE=50 Go. Si la taille totale de la base de données et de 8 Go, la charge quotidienne de cette base de données est au taux de 10 Go. Si, le jour suivant, la taille de la base de données passe à 25 Go, la charge quotidienne est basée sur l'incrément de facturation suivant de Business Edition, soit 30 Go, etc.

La charge quotidienne est obtenue est divisant le taux mensuel de l'incrément de facturation par le nombre de jours dans le mois.

Q : en quoi SQL Azure est différent de ce que je peux réaliser à l'aide d'un fournisseur d'hébergement local utilisant SQL Server 2008/SPLA ?

Avec une base de données hébergée dédiée, les développeurs et les professionnels de l'informatique demeurent responsables de l'installation, de la configuration, de la mise à jour et de la correction du système d'exploitation et du logiciel de bases de données. De plus, les utilisateurs de solutions de bases de données hébergées doivent concevoir leur propre disponibilité, leur propre montée en puissance et leurs solutions de récupération d'urgence, ce qui accroît le coût total d'administration.

SQL Azure est un service de base de données hautement disponible, proposant une évolutivité en termes de puissance, qui est distribué et hébergé par Microsoft dans le nuage. SQL Azure facilite l'approvisionnement et le déploiement de bases de données relationnelles en tant que service. Les développeurs n'ont aucun logiciel à installer, à configurer, à corriger ou à gérer. La haute disponibilité, la sauvegarde et la restauration, la distribution géographique et la récupération d'urgence font partie intégrante du produit.

Q : quels sont les différences de tarifs entre SQL Azure et SQL Server ?

S'agissant de produits différents (l'un est un serveur de bases de données, l'autre est un service dans le nuage), il n'est pas possible de les comparer directement d'un point de vue tarifaire. SQL Server fait l'objet d'un achat de licence logicielle. A l'inverse, SQL Azure est un service dans le nuage dont le prix reflète les coûts associés au serveur physique, au logiciel, à la bande passante du réseau, au stockage et à la gestion du matériel sur lequel SQL Azure est exécuté. Chaque offre a été conçue de manière à être flexible en permettant à l'utilisateur de choisir la plate-forme et le modèle économique correspondant le mieux à son besoin technologique.

Q : si je crée mon application sur la plate-forme SQL Azure, puis-je la faire migrer vers un serveur sur site ou hébergé ?

De nombreuses application utilisant SQL Azure peuvent être aisément migrées vers un serveur SQL sur site ou hébergé. Alors que certaines applications peuvent nécessiter que leur architecture soit adaptée pour être exécutées sur SQL Server, SQL Azure prend en charge le même modèle relationnel basé sur T-SQL. Cela permet à des applications empaquetées personnalisées et LOB d'être habituellement migrées après que des changements minimums ont été effectués au niveau de la solution.

Q : puis-je obtenir des crédits pour ma licence SQL Server existante sur SQL Azure ?

Non. La mobilité de licence de SQL Server n'est actuellement pas permise.

Q : SQL Azure est-elle en fait la version suivante de SQL Server après SQL Server 2008 R2 ?

Non. SQL Azure est une solution de bases de données sur le nuage fournie en tant que service et est indépendant de SQL Server. SQL Azure est un service de plate-forme évolutif fournissant des bases de données relationnelles à la demande. Même si les calendriers de développement des produits SQL Azure et SQL Server sont différents, ils suivent des chemins de code parallèles et partagent activement fonctionnalités et innovations.

Q : avec la sortie de la nouvelle plate-forme Windows Azure, les clients devront-ils déplacer toutes leurs applications futures et existantes dans le nuage ?

Dans le cadre de sa stratégie Software + Services (logiciel + services), Microsoft laisse le choix d'utiliser une technologie sur site ou dans le nuage ou les deux. Les clients ont exprimé un fort intérêt pour la flexibilité dans le choix des options de déploiement en fonction des besoins de leur entreprise. Microsoft continue d'investir de manière importante, d'innover et de fournir de nouvelles versions de Windows Server, Windows Azure, SQL Server, SQL Azure et System Center afin de s'assurer que vous puissiez tirer profit des technologies informatique dans le nuage, que vos applications soient exécutées dans vos propres centres de données, dans celui d'un partenaire d'hébergement Microsoft ou dans notre environnement public en nuage.

Q : quelle est la valeur du service SQL Azure Data Sync ?

SQL Azure Data Sync fournit une gestion des migrations de données entre des bases de données SQL Azure et SQL Server en utilisation une synchronisation bidirectionnelle des données. SQL Azure Data Sync permet aux organisations de profiter de la puissance de SQL Azure et de Microsoft Sync Framework pour créer des concentrateurs de données d'entreprise dans le nuage, permettant aux informations d'être facilement partagées entre plusieurs centres de données SQL Azure, utilisateurs mobiles, partenaires commerciaux, succursales et sources de données d'entreprise, tout en tirant profit de nouveaux services dans le nuage. Cette combinaison crée un pont entre applications sur site et hors site, qui peuvent fonctionner conjointement. Vous pouvez vous inscrire au Customer Technical Preview (CTP) de SQL Azure Data Sync à l'adresse suivante : SQL Azure Community Technical Previews.

Utilisez SQL Azure Data Sync pour :

  • étendre des bases de données SQL Azure existantes vers un ou plusieurs centres de données dans le monde entier afin de fournir un accès aux données depuis n'importe quel emplacement,
  • lier des données SQL Server sur site à SQL Azure, permettant à de nouvelles applications d'être créées dans Windows Azure sans abandonner les applications existantes sur site,
  • mettre des applications basées sur Windows Azure et SQL Azure hors ligne pour fournir une expérience en mode cache de type “Outlook”,
  • étendre, via le nuage, des données sur site vers des succursales, magasins de détail et collaborateurs en déplacement.

Q : quand sortira une version prise en charge du service SQL Azure Data Sync ?

Le service SQL Azure Data Sync est actuellement disponible en tant de CTP. Tout au long de cet aperçu public, nous tiendrons comptes des commentaires des clients pour nous aider à déterminer ce que nous devons faire pour leur assurer le meilleur service ; la date de sortie dépendra donc du client et de la complexité des changements requis pour répondre à ses commentaires.

Q : le service Data Sync est-il payant ?

Le service Data Sync est actuellement gratuit ; toutefois, des frais de transferts de données s'accumuleront en fonction des migrations de données vers ou hors de votre base de données SQL Azure. Pour en savoir plus sur la tarification, visitez le site http://www.microsoft.com/windowsazure/pricing/.

Retour au début

Connectivité

Q : comment me connecter à SQL Azure ?

La version de SQL Server Management Studio (SSMS) sorti avec SQL Server 2008 R2 prend totalement en charge SQL Azure en termes de connectivité. Si vous utilisez une version précédente de SSMS, le message d'erreur suivant s'affichera lorsque vous saisirez le nom du serveur et les informations d'identification dans la fenêtre Connexion qui apparaît à la première ouverture de Management Studio.

  

Pour contourner cette erreur, procédez comme suit :

1. cliquez sur OK sur le message d'erreur de connexion au serveur, puis annulez la fenêtre de connexion.

  

 

2. Cliquez sur l'icône “Nouvelle requête”.

  

3. Dans la boîte de dialogue Se connecter au serveur qui apparaît, saisissez vos informations d'identification. 

Remarque : le login doit être au format nomd'utilisateur@nomdeserveur

  

Si vous souhaitez vous connecter à une base de données spécifique, cliquez sur le bouton “Options”, puis saisissez le nom de la base de données dans la boîte de dialogue “Se connecter à la base de données”.

Remarque : USE <Base de données> n'est pas prise en charge. Si vous souhaitez vous connecter à une autre base de données après vous être connecté, effectuez un clic droit, puis cliquez sur “Modifier la connexion”.

Q : comment puis-je afficher l'état actuel de l'intégrité de la plateforme Windows Azure ?

Vous pouvez afficher le tableau de bord du service concernant la région de votre base de données SQL Azure à l'adresse suivante : http://www.microsoft.com/windowsazure/support/status/servicedashboard.aspx. Vous pouvez également vous abonner aux flux RSS respectifs.

 

Q : je ne parviens pas à me connecter à SQL Azure. Comment puis-je résoudre ce problème ?

Pour plus d'informations sur la résolution de problèmes courants de connectivité, consultez SQL Azure Connectivity Troubleshooting Guide.

Q : où puis-je trouver des échantillons de chaînes de connexion pour SQL Azure ?

Lorsque vous approvisionnez votre serveur, le portail SQL Azure fournit des chaînes de connexion qui peuvent être utilisées dans votre application. Voici les chaînes de connexion génériques aux formats ADO.NET et ODBC :

ADO.NET

Server=tcp:<sqlazureservername>.database.windows.net;Database=<databasename>;
User ID=user@<sqlazureservername>;Password=password;Trusted_Connection=False;

ODBC

Driver={SQL Server Native Client 10.0};Server=tcp:<sqlazureservername>
.database.windows.net;Database=<databasename>;
Uid=user@<sqlazureservername>;Pwd=password;Encrypt=yes;

Q : puis-je sauvegarder les données que j'ai stockées sur SQL Azure ? Comment effectuer une récupération après une corruption ou une perte de données ?

De manière générale, il est préférable de réaliser une sauvegarde pour effectuer une récupération après une perte ou une corruption de données logiques (par exemple après une suppression accidentelle de données par des applications de l'utilisateur). SQL Azure exécute des sauvegardes de manière périodique et exécute des vérifications de cohérence pour récupérer après un échec matériel, il s'agit cependant d'une opération interne qui prend en charge l'intégrité globale du service et qui n'est pas accessible aux utilisateurs de SQL Azure. Vous pouvez toutefois utiliser l'utilitaire Bulk Copy (BCP) ou SQL Server Integration Services (SSIS) à tout moment pour copier vos données vers un serveur SQL sur site. Vous pouvez également utiliser la fonction Copier une base de données  pour créer une copie de votre base de données au sein de la même sous-région qui peut être utilisée comme sauvegarde en cas d'erreur de la part de l'utilisateur.

Q : existe-t-il des ateliers pratiques ou des démos disponibles pour la migration de données entre SQL Server sur site et SQL Azure ?

Le Kit de Formation Windows Azure fournit des échantillons, des démonstrations et des présentations sur SQL Azure et notamment la migration de bases de données.

Q : comment configurer les paramètres du pare-feu de SQL Azure ?

Le pare-feu de SQL Azure empêche l'accès à un serveur SQL Azure sauf si vous avez spécifiquement autorisé une adresse IP. Pour que des ordinateurs qui ont besoin d'un accès puissent tenter de se connecter au serveur SQL Azure, leurs adresses IP doivent être préalablement ajoutées aux paramètres du pare-feu . Ceci peut être réalisé via l'onglet Paramètres du pare-feu sur la page Administration du serveur du portail SQL Azure. Il y a aussi une case à cocher “Allow Microsoft Services access to this server”(autoriser Microsoft services à accéder à ce serveur). Cocher cette case autorise les connexions provenant de vos applications hébergées dans Windows Azure.

Pour plus d'informations sur la configuration du pare-feu, consultez Comment configurer le pare-feu de SQL Azure.

Q : comment puis-je allouer mon accès Web Role vers SQL Azure ?

Vérifiez l'option “Autoriser Microsoft Services à accéder à ce serveur” dans l'onglet Paramètres du pare-feu sur la page Administration du serveur sur le portail.

  

Pour plus d'informations sur la configuration du pare-feu, consultez Comment configurer le pare-feu de SQL Azure.

Q : mes données sont-elles en sécurité sur le réseau ?

SQL Azure force en permanence le chiffrement SSL au niveau des connexions clientes. Toutefois, si votre application cliente ne valide pas de certificats lors de la connexion, votre connexion peut être vulnérable aux « attaques de l'intercepteur ».

Pour plus d'informations sur le chiffrement de connexion, consultez Instructions de sécurité et limitations.

Retour au début

Fonctionnalités prises en charge ou non

Q : SQL Azure prend-il en charge les serveurs liés ? Puis-je activer un serveur lié entre SQL Server sur site et des serveurs SQL Azure ou entre deux instances de serveurs SQL Azure ?

Non. SQL Azure ne prend actuellement pas en charge les serveurs liés. Par conséquent, il n'est pas possible d'activer de serveur lié, que ce soit entre une solution sur site et SQL Azure ou au sein du nuage.

Q : quel est le niveau d'isolation par défaut pris en charge dans SQL Azure ?

L'isolement de capture instantanée de lecture validée (RCSI).

Q : le suivi des modifications est-il pris en charge dans SQL Azure ?

Le suivi des modifications n'est actuellement pas pris en charge dans SQL Azure.

Q : les types de données spatiales sont-ils pris en charge dans SQL Azure ?

La prise en charge des types de données spatiales a été ajoutée dans SU3 (juin 2010).

Q : la copie en blocs est-elle prise en charge dans SQL Azure ?

Oui, l'utilitaire de copie en block (BCP) et SqlBulkCopyAPI sont pris en charge dans SQL Azure. La commande TSQL BULK INSERT n'est pas prise en charge.

Q : si j'inclus une base de données DROP dans une boucle IF...Else, j'obtiens une erreur disant que la base de données DROP n'est pas prise en charge même si je suis connecté à une base de données de référence ?

Il s'agit d'une restriction dans SQL Azure. Une DDL (Data Definition Language) de login doit être la seule instruction du traitement et ne peut être bouclée au sein d'un IF. Instruction ELSE. Reportez-vous aux Instructions et limitations.

Lors de l'exécution des instructions CREATE/ALTER/DROP LOGIN et CREATE/DROP DATABASE dans une application ADO.NET, l'utilisation de commandes paramétrables n'est pas autorisée. Chacune de ces instructions doit être la seule dans le traitement SQL.

Q : SQL Agent est-il pris en charge dans SQL Azure ?

SQL Agent n'est actuellement pas pris en charge dans SQL Azure.

Q : SQL Profiler est-il pris en charge dans SQL Azure ?

SQL Profiler n'est actuellement pas pris en charge dans SQL Azure. Toutefois, certains résolutions des problèmes de vues de gestions dynamiques (DMV) sont activés pour aider à diagnostiquer les problèmes de performance. La liste détaillée des DMV pris en charge est disponible à l'adresse http://msdn.microsoft.com/en-us/library/ee336238.aspx#dmv

Q : Service Broker est-il pris en charge dans SQL Azure ?

Service Broker n'est actuellement pas pris en charge dans SQL Azure.

Q : la réplication est-elle prise en charge dans SQL Azure ? Puis-je répliquer mes données de SQL sur site vers SQL Azure ?

La réplication n'est actuellement pas prise en charge dans SQL Azure. Comme indiqué ci-dessous, peu d'options sont disponibles :

  • [[articles : SQL Azure Data Sync|SQL Azure Data Sync]] peut être utilisé pour synchroniser des données entre un serveur SQL sur site et SQL Azure ainsi qu'entre plusieurs serveurs SQL Azure.
  • SQL Server Integration Services (SSIS), SQL Server Management Studio (SSMS) ou l'utilitaire Bulk Copy (BCP) peuvent être utilisés pour migrer des données entre un serveur SQL sur site et SQL Azure.
  • L'assistant de migration de SQL Azure propose également la migration de données entre SQL Server sur site et SQL Azure ou entre deux instances de serveurs SQL Azure.

Q : Entity Framework est-il pris en charge par SQL Azure ?

Oui. Entity Framework est pris en charge par SQL Azure. Pour plus d'informations, consultez Procédure : se connecter à SQL Azure à l'aide de l'ADO.NET Entity Framework.

Q : Analysis Services et Reporting Services sont-ils pris en charge dans la solution dans le nuage ?

SQL Azure Reporting a été annoncé au PDC 2010 et sortira en tant que version préliminaire CTP (Community Technology Preview). Pour plus d'informations, consultez Introduction à SQL Azure reporting. Vous pouvez vous inscrire au Customer Technical Preview (CTP) en vous inscrivant aux SQL Azure Community Technical Previews.

SQL 2008 R2 (Reporting Services, Analysis Services et SSIS) est également pris en charge et optimisé pour SQL Azure et peut accéder à SQL Azure en tant que source de données à partir de vos projets Business Intelligence sur site.

Q : SQL Azure prend-il en charge le mécanisme de partitionnement automatique de manière à ce que je puisse facilement partitionner mes données sur plusieurs bases de données ?

Il n'existe actuellement aucune prise en charge du partitionnement des bases de données SQL Azure. Les utilisateurs doivent s'occuper du partitionnement de leurs données au sein de leur logique d'application. Pour plus d'informations, consultez Sharding with SQL Azure (partitionnement avec SQL Azure).
SQL Azure Federation a été annoncé mais n'est pas encore disponible. Cette fonctionnalité facilitera le partitionnement et la redistribution de données avec un mécanisme de routage de connexion fiable.

Q : le journal d'erreurs de SQL Server est-il disponible dans SQL Azure ?

Non, le journal d'erreurs de SQL Server n'est pas disponible actuellement dans SQL Azure.

Q : IPV6 est-il pris en charge ?

Non, IPV6 n'est pas disponible actuellement. Si nous constatons que le besoin se fait pressant, nous inclurons une prise en charge pour IPV6.

Q : la connexion à SQL Azure à partir d'Excel est-elle prise en charge ?

La version Office 2010 d'Excel peut utiliser SQL Azure comme source de données. Pour plus d'informations, consultez Connexion de Microsoft Excel à une base de données SQL Azure

Q : le pilote JDBC est-il pris en charge par SQL Azure ?

Oui. Toutefois, une mise à jour spécifique de pilote JDBC Driver 3.0 de SQL Server est nécessaire. Pour plus d'informations, consultez l'article http://support.microsoft.com/kb/2504052

Q : existe-t-il des fournisseurs d'état de session pris en charge par SQL Azure ?

Les fournisseurs d'état de session ne sont pas pris en charge par SQL Azure. Pour plus d'informations, consultez l'article Updated ASP.NET scripts for use with Microsoft SQL Azure (Scripts ASP.NET mis à jour pour une utilisation avec Microsoft SQL Azure).

Q : je dispose de deux bases de données sur le même serveur. La jointure de tableaux de bases de données présentes sur le même serveur est-elle prise en charge ?

La jointure de tableaux de deux bases de données n'est pas prise en charge. Un serveur SQL Azure est un regroupement logique de bases de données. Les bases de données d'un même serveur sont réparties sur les noeuds de l'environnement. Pour réaliser la même fonctionnalité, une requête de distribution ramifiée peut être écrite dans la logique d'application.

Q : SQL Azure prend-il en charge la fonctionnalité d'audit ?

Aucune fonctionnalité d'audite n'est incluse dans la version actuelle de SQL Azure.

Q : puisque la colonne RowGUID n'est pas prise en charge dans SQL Azure, quelle alternative est recommandée aux clients ?

L'alternative consiste à utiliser uniqueidentifier en tant que type de colonne, puis d'utiliser NEWID() pour générer les guids au moment de l'insertion.

CREATE TABLE MonTest ( MonID UNIQUEIDENTIFIER DEFAULT NEWID() 
PRIMARY KEY, Nom VARCHAR(10)) INSERT INTO MonTest (nom) VALUES
('string1') INSERT INTO MonTest VALUES (newid(), 'string2')

 

Q : quel fuseau horaire est utilisé pour les serveurs SQL Azure ?

Quel que soit l'emplacement du centre de données choisi, votre serveur SQL Azure est défini sur le fuseau horaire UTC. La version actuelle de SQL Azure ne prend pas en charge la modification de fuseau horaire.

Q : le nombre de connexions vers une base de données ou un serveur SQL Azure est-il limité ?

Il n'existe pas de limite haute dans le nombre de connexions qui peuvent être établies vers une base de données ou un serveur. Cependant, nous recommandons le Regroupement de connexions pour éviter le coût initial d'établissement de la connexion (recherche, négociation SSL, processus de connexion, etc.) et pour utiliser directement votre connexion.

Q : quelle est la stratégie de mot de passe pour le compte administrateur de service dans SQL Azure ?

Le mot de passe doit comporter au moins 8 caractères et inclure au moins un chiffre, une lettre et un symbole. Les mots de passe ne peuvent pas inclure trois caractères consécutifs dans le nom d'utilisateur.

Q : à l'instar de Windows Azure, puis-je créer plusieurs comptes administrateur pour SQL Azure ?

La version actuelle de SQL Azure ne prend en charge qu'un seul compte administrateur et un seule compte administrateur de service. La fonctionnalité coadministrateur n'est pas encore prise en charge dans SQL Azure. Par conséquent, un coadministrateur voit une liste d'abonnements vide dans le portail SQL Azure. La prise en charge de la fonctionnalité co-admin sera prochainement ajoutée.

Q : puis-je me connecter à SQL Azure sans ouvrir le port 1433 ?

Utilisez le Gestionnaire de base de données pour SQL Azure pour vous connecter et gérer SQL Azure sans ouvrir le port 1433. Il a été conçu spécifiquement pour les développeurs Web et les professionnels des autres technologies en quête de solution directe pour développer, déployer et gérer rapidement leurs applications pilotées par des données dans le nuage.

Retour au début

Migration et sauvegarde/restauration de bases de données

Q : quelles méthodes de migration de données entre SQL Server sur site et SQL Azure sont prises en charge ?

Il existe plusieurs façons de migrer des données entre SQL Server sur site et SQL Azure.

  • SQL Server Integration Services (SSIS) peut être utilisé avec les gestionnaires de connexion ADO.NET, le parallélisme étant activé pour une performance améliorée. Vous pouvez également réaliser un script pour vos données en fonction de la taille et des besoins.
  • Un outil de script non pris en charge, Assistant de migration de SQL Azure, développé par la communauté, est également disponible auprès de Codeplex.
  • Utilitaire Bulk copy (BCP) : utilisez BCP pour migrer vos données d'un serveur SQL sur site vers SQL Azure et vice-versa.
  • Vous pouvez également utiliser l'outil Assistant Générer des scripts avec SQL Server Management Studio 2008 R2 et pour réaliser des scripts pour votre base de données.
  • Dans SQL Server 2008 R2 et ultérieurs, l'assistant Importer ou exporter fourni la prise en charge pour les bases de données SQL Azure utilisant le fournisseur .NET pour SQL Server. Pour plus d'informations, consultez Exportation de données à partir de SQL Azure : assistant importation/exportation.
  • Consultez également la démo sur la migration de données depuis un site vers SQL Azure qui est incluse dans le Kit de Formation Windows Azure.

Q : comment puis-je générer un script compatible SQL Azure à l'aide de SQL Server Management Studio ?

La version de SQL Server Management Studio (SSMS) sorti avec SQL Server 2008 R2 prend totalement en charge SQL Azure en termes de connectivité. L'édition Express de SSMS peut être téléchargée sur le site Microsoft SQL Server 2008 R2 RTM - Management Studio Express. Pour générer un script compatible SQL Azure à l'aide de SSMS, suivez la procédure suivante :

1. dans SSMS, sélectionnez la base de données, effectuez un clic droit, sélectionnez Tâches, puis Générer des scripts.

 

2. Dans Définir les options de script, cliquez sur Avancé, puis définissez Script pour type de moteur de base de données sur Base de données SQL Azure


3. Dans “Définir les options de script”, cliquez sur Avancé, puis définissez “Script pour type de moteur de base de données” sur Base de données SQL Azure

Q : comment puis-je migrer une base de données MySQL vers SQL Azure ?

La boîte à outils SQL Server Migration Assistant tool kit 2008 pour MySQL v1.0 vous aidera dans la migration de vos bases de données de MySQL vers SQL Azure. Dans le cadre d'une migration de MySQL vers SQL Server 2008 et SQL Azure, cet outil réduit l'effort, le coût et le risque de manière drastique. SSMA 2008 pour MySQL v1.0 CTP1 fournit une évaluation des efforts de migration et automatise la migration des schémas et des données.

Q : SQL Azure est-il compatible de manière descendante ? Puis-je migrer mes bases de données SQL Server 2000 ou SQL Server 2005 vers SQL Azure ?

SQL Azure n'est pas exécuté en mode compatibilité descendante. SQL Azure est créé sur une base de code SQL Server 2008. Par conséquent, toutes les fonctionnalités déconseillées dans SQL Server 2000 et SQL Server 2005 ne fonctionnent pas dans SQL Azure. Pour tester la compatibilité de votre base de données avant sa migration vers SQL Azure, utilisez le Conseiller de mise à niveau SQL Server 2008. Pour vérifier la compatibilité entre SQL Server 2008 et SQL Azure, utilisez l'assistant de migration SQL Azure. Cet outil peut également analyser les traces SQL Profiler pour vérifier la compatibilité des instructions T-SQL générées par l'application.

Q : qu'en est-il de la sauvegarde de données stockées dans SQL Azure ? Comment effectuer une récupération après une corruption ou une perte de données ?

De manière générale, la meilleure pratique consiste à utiliser des sauvegardes pour récupérer suite à une perte ou une corruption de données (par exemple après une suppression accidentelle de données par les applications de l'utilisateur). Le service exécute également des sauvegardes de manière périodique ainsi que des vérifications de cohérence pour récupérer suite à un échec matériel, mais ceci n'est disponible qu'au sein du service. Les clients peuvent toutefois utiliser à tout moment l'utilitaire Bulk Copy (BCP) ou SQL Server Integration Services (SSIS) pour copier leurs données vers une base de données SQL Server sur site.

Q : existe-t-il des ateliers pratiques ou des démos disponibles pour la migration de données entre SQL Server sur site et SQL Azure ?

Le Kit de Formation Windows Azure fournit des échantillons, des démonstrations et des présentations sur SQL Azure, y compris sur la migration de bases de données.

Retour au début

Taille de base de données

La taille des données pouvant être créées dans SQL Azure est-elle limitée ?

La limite est de 150 bases de données par serveur. Les clients peuvent demander à ce que cette limite soit supprimée en appelant l'assistance Azure et en suivant un processus de vérification de crédits.

Q : existe-t-il une taille maximum de bases de données prises en charge par les offres ?

Deux éditions sont proposées – Web Edition et Business Edition. Les tailles maximum actuellement autorisées pour des bases de données dans les éditions Web et Business sont, respectivement, de 5 et 50 Go. Cette limite sera augmentée prochainement. Soyez informé des mises à jour grâce au blog de l'équipe SQL Azure

Q : comment le système réagit-il lorsque la taille de la base de données est atteinte ?

Lorsque la taille maximum de l'édition provisionnée est atteinte, un code d'erreur 40544 apparaît. Le comportement est défini par les conditions suivantes :

  • Toutes les opérations d'ajout insert/update/create/alter seront limitées et toute tentative d'ajouter plus de données à la base de données aura pour conséquence l'arrêt de la session.
  • Les lectures continueront de fonctionner
  • Delete/drop/truncate, etc. continueront de fonctionner afin de pouvoir réduire la taille de la base de données en éliminant des tableaux et/ou des index, ou encore en supprimant des données ou en tronquant des tableaux
  • Une fois l'espace libéré, il peut y avoir un délai de 15 minutes avant que de nouvelles données puissent être insérées.

Plus d'informations sont disponible dans les Instructions et limitations.

Q : où puis-je trouver la taille réelle de ma base de données afin de connaître l'espace restant et planifier en conséquence ? Existe-t-il un programme me permettant de connaître la taille de ma base de données ?

La taille de la base de données est calculée d'après le nombre de pages qu'elle contient et dans lesquelles se trouvent ses tableaux, index et objets. Cela ressemble au calcul de la taille d'une base de données dans SQL Server standard – pas l'espace disque consommé par l'instance mais uniquement l'espace consommé par chaque base de données. Certains éléments n'affectent pas la taille :

  • les journaux sont exclus du calcul de la taille
  • la base de données de référence est exclue du calcul de la taille
  • toutes les autres bases de données systèmes et les catalogues des serveurs sont exclus des calculs
  • toutes les répliques de bases de données du client sont exclues des calculs (une seule des trois répliques de la base de données du client est prise en compte)

Notre offre ne prévoit actuellement pas de programme permettant d'obtenir ces informations. Nous travaillons à l'ajout de cette fonctionnalité dans un futur proche. Le portail SQL Azure affiche les chiffres d'utilisation réels.

 

Pour obtenir la taille approximative de la base de données utilisée, utilisez également la vue de gestion de données (DMV) suivante :

SELECT SUM(reservered_page_count)*8.0/1024 as ‘SizeInMB’ FROM 
sys.dm_db_partition_stats

Q : la taille de la base de données prend-elle en compte les journaux ?

Non. La taille de la base de données inclut uniquement les données, les index et les objets. Pour plus d'informations, consultez Comptes et facturation dans SQL Azure.

Retour au début

Facturation et mesures

Q : pouvez-vous m'expliquer votre modèle de facturation au prorata ?

La modèle de facturation pour SQL Azure est très simple. Il est basé sur le nombre total de bases de données et le tarif de leurs éditions et de la bande passante pour la durée concernée. Lorsque vous créez une base de données (de quelque type que ce soit), nous lançons le compteur.  Lorsque vous supprimez la base de données, nous arrêtons le compteur.  Si la base de données existe pendant le mois entier, vous êtes facturé à hauteur de $9.99 pour une base de données Web Edition et de $99.99 pour une Enterprise Edition. Si certaines de vos bases de données n'existent que pendant quelques jours, nous facturons au “jour de base de données”. Pour une base de données Web Edition, cela représente environ $0.30.

Les détails sur l'utilisation de la bande passante sont disponibles via la DMV sys.bandwidth_usage et ceux concernant l'utilisation de la base de données sont disponibles à partir de la DMV sys.database_usage. Pour plus d'informations sur le modèle de tarification, consultez la Tarification SQL Azure.

Q : où puis-je trouver certaines mesures pour mon service SQL Azure ?

Certaines métriques sont stockées dans la base de données de référence. Les détails sur l'utilisation de la bande passante sont disponibles via la DMV sys.bandwidth_usage et ceux concernant l'utilisation de la base de données sont disponibles à partir de la DMV sys.database_usage.

Q : suis-je facturé pour la base de données de référence ?

Non. La base de données de référence est gratuite.

Retour au début

Gestion des abonnements

Q : lorsque je me DÉSabonne d'Azure, la base de données SQL Azure est immédiatement supprimée ? Comme SQL Azure traite les données qui ont été marquées comme devant être supprimées ?

Lorsque vous appelez pour vous DÉSabonner d'Azure, vous annulez de fait l'abonnement à tous les services Azure. Pour SQL Azure en particulier, l'abonnement est changé et passe de l'état Actif à Désactivé. Vos bases de données SQL Azure ne sont pas supprimées immédiatement ; il existe une période de rétention de 90 jours pendant laquelle vous pouvez décider de réactiver votre abonnement sur Azure ou simplement exporter vos bases de données SQL Azure. Une fois cette période de 90 jours écoulée, l'abonnement passe à l'état Déprovisionné et les bases de données SQL Azure sont supprimées de manière définitive.

Q : quelle est la politique de rétention de données et respect de la vie privée de SQL Azure une fois que je me suis DÉSabonné ?

90 jours après vous être DÉSabonné, SQL Azure supprime les bases de données SQL Azure.

Q : puis-je choisir d'annuler uniquement SQL Azure ou un seul des services Azure au lieu de l'ensemble des services ?

L'annulation affecte les 3 services Azure disponibles : Windows Azure, SQL Azure et AppFabric.  Toutefois, puisque les services sont “facturés en fonction de votre utilisation”, si vous désirez conserver l'abonnement sans être facturé pour SQL Azure, alors vous pouvez juste supprimer vos bases de données et vos serveurs.

Q : comment puis-je migrer une base de données d'un abonnement à un autre ?

Vous pouvez utiliser CREATE DATABASE .... AS COPY OF ... Les instructions T-SQL, l'assistant Génération de scripts dans la version 2008 R2 de SQL Server Management Studio(SSMS), SQL Server Integration Services (SSIS) ou l'utilitaire  Bulk Copy  (BCP) peuvent être utilisés pour migrer des données d'un abonnement à un autre. Un serveur SQL Azure étant un serveur logique et le nom du serveur étant automatiquement généré, les chaînes de connexion du client doivent être mises à jour. Si vos abonnements se trouvent dans la même sous-région, vous pouvez contacter l'assistance pour migrer vos serveurs et vos bases de données d'un abonnement à un autre. La version actuelle de SQL Azure ne prend en charge qu'un seul serveur par abonnement.

Q : comment puis-je échanger mes abonnements ou migrer un abonnement vers un autre identifiant Live ID ?

Vous pouvez utiliser l'assistant Génération de scripts dans la version 2008 R2 de SQL Server Management Studio(SSMS), SQL Server Integration Services (SSIS) ou l'utilitaire Bulk Copy (BCP) pour migrer des bases de données d'un abonnement à un autre. Le pare-feu de SQL Azure doit être configuré manuellement sur le nouveau serveur. Le serveur SQL Azure étant un serveur logique et le nom du serveur étant automatiquement généré, les chaînes de connexion du client doivent être mises à jour. Nous travaillons sur un outil, disponible prochainement, qui a pour objet d'aider à migrer des abonnements d'un compte à un autre.

Q : comment puis-je créer plus de serveurs SQL Azure ?

Un serveur SQL Azure est juste le regroupement logique de vos bases de données. SQL Azure fournit un serveur par abonnement. Vous pouvez cependant créer plusieurs abonnements ayant un compte de plate-forme Azure commun. Ceci permet de créer autant de serveurs que nécessaires.

Retour au début

Mises à jour du service

Q : lorsque les mises à jour du service sont transférées, tout le monde utilise-t-il la dernière version ?

Oui. Les mises à jour du service sont transférées pour tous les clients. Ainsi, tout le monde utilise la dernière version.

Q : quelle est la procédure à suivre pour transférer des correctifs de système d'exploitation et des mises à jour de service ?

Les correctifs et les mises à jour de service sont transférés vers tous les ordinateurs dans l'environnement SQL Azure. Nous réalisons des tests et des évaluations pour nous assurer que nos mises à jour sont à compatibilité descendante.

Retour au début

Autres

Q : quelles sont les différentes conditions dans lesquelles ma charge de travail peut être limitée ?

En général, les conditions de limitation peuvent être classées comme suit :

  • la base de donnée atteint le quota en terme de taille – toutes les activités update/insert/create/add sont limitées jusqu'à ce que la taille de la base de données soit réduite.
  • Situation de charge transitoire à court terme -- l'erreur indique que le client doit réessayer.

Pour plus d'informations sur la façon de gérer les erreurs de perte de connexion, voir l'article Gestion des connexions dans SQL Azure dans le Wiki TechNet. Cet article répertorie les raisons des pertes de connexion et fournit des instructions et les meilleures pratiques de programmation pour la gestion du cycle de vie de connexion dans SQL Azure. Lisez aussi la rubrique Dépanner SQL Azure dans la bibliothèque MSDN. 

Q : de quelle manière SQL Azure va-t-il évoluer pour prendre charge des ensembles de données plus importants ?

SQL Azure fournit la plate-forme pour que les clients puissent monter en puissance parallèle avec un potentiel illimité. Les clients peuvent partitionner les données au niveau de l'application. Nous allons prochainement augmenter la taille de base de données autorisée. La prise en charge du partitionnement au niveau de la plate-forme sera prochainement ajoutée.

Q : où puis-je trouver des études de cas pour SQL Azure ?

Des études de cas traitant de SQL Azure sont disponible à l'adresse suivante : Études de cas Windows Azure.

Retour au début