En discutant avec un de mes clients, il me demandait s’il fallait forcément supprimer une base de données existante avant de la restaurer. La réponse est évidemment non. En effet, il est possible d’utiliser l’option REPLACE avec la commande RESTORE mais celui-ci se demandait alors s’il y avait au final une différence entre faire une suppression de bases de données via la commande DROP DATABASE suivie d’une restauration et une restauration directe via la commande RESTORE et l’option REPLACE mis à part une simplification du code à écrire. Il y a en effet une voir plusieurs mais nous n’en traiterons qu’une seule dans ce billet et qui peut ne pas être négligeable dans certains cas.
Archives pour la catégorie SQL Server 2012
Changer la connexion locale ou le propriétaire d’un plan de maintenance après sa migration
our ceux qui ont déjà tenté l’expérience, la migration d’un plan de maintenance sous SQL Server réserve quelques surprises. En effet, la connexion locale associée au package n’est pas modifiable et il faut à posteriori créer une nouvelle connexion et modifier les tâches du plan en conséquence pour qu’elles prennent en compte la nouvelle connexion. Il va sans dire que cela n’est pas forcément pratique et bien souvent on préfère recréer le plan de maintenance sur le nouveau serveur soit "from scratch" soit avec des copier-coller. De la même manière si on veut changer le propriétaire d’un job lié à un plan de maintenance on se retrouve rapidement confronté à quelques difficultés. Le fait de changer le propriétaire d’un job est plutôt facile en soi mais si on modifie et revalide le plan de maintenance par la suite celle-ci écrase notre changement de propriétaire. L’astuce consiste à changer le propriétaire du package SSIS associé au plan de maintenance concerné. Voici une procédure qui vous permettra de changer rapidement ces 2 paramètres après migration.
SQL Server et sécurité : Autoriser et sécuriser les accès cross-databases à l’aide des propriétaires de bases de données
Je travaille de plus en plus souvent dans des environnements dans lesquels la sécurité est devenue primordiale. L’accès entre différentes bases de données dans une instance SQL Server par exemple est plutôt simple à mettre en place dans un cas classique. Il suffit de donner les droits adéquats pour le compte de connexion sur les 2 bases de données concernées au travers des utilisateurs associés. Seulement les choses se compliquent si l’on veut sécuriser ces accès « cross-databases ». En d’autres termes si on veut que ce même compte de connexion ne puisse accéder aux objets de la base de données B qu’au travers d’objets dans la base de données A sans que celui-ci ne possède de droits explicites dans la base de données B il va falloir utiliser d’autres outils que proposent SQL Server.
Performance du stockage SQL Server en milieu virtualisé : HBA Queue Depth et VMKernel Outstanding
Je profite d’un petit moment de libre pour écrire un billet sur un problème de performance que j’ai pu constater il y a quelques avec SQL Server et une baie SAN HP EVA 4000 dans un milieu virtualisé et VMWARE. Je place rapidement le décor : je dois intervenir pour un problème de performance SQL Server. Le client m’explique un peu son architecture et me dit que son instance SQL Server est virtualisée. Les applications qui tournent sur ce serveur ont visiblement des temps de réponse assez important.
Nouveau modèle de certification Microsoft et SQL Server pour 2012
Peut-être avez-vous entendu parler du nouveau programme de certification que propose Microsoft. Celui-ci a quelque peu changé. Je vous propose de voir dans les grandes lignes ces changements.
Réinitialiser le mot de passe du compte SA ou augmenter les privilèges d’un compte de connexion sans être sysadmin avec SQL Server 2008 ou plus
Il existe quelques situations cocasses dans la vie d’un DBA ou d’un développeur SQL. Parmi celles-ci l’oubli du mot de passe du compte SA et aucun compte de connexion de type Windows existant sur le serveur SQL en tant que sysadmin … autant dire que l’on se retrouve coincé ! Que faire lorsque cela arrive ? Visiblement la solution n’est pas si évidente car je vois beaucoup de demande sur le forum developpez.com ou plus récemment un de mes collègues qui se reconnaitra si celui-ci lit ce billet.
MVP SQL Server : Troisième chapitre pour l’année 2012
SQL Server 2012 en version finale et SQL Server Data Tools (SSDT) disponible en téléchargement
La version finale de SQL Server 2012 est enfin disponible en téléchargement en version d’évaluation et en version finale pour les abonnés msdn / technet. C’est également l’occasion de téléchargement SSDT le nouvel environnement de développement pour SQL Server. Les téléchargements sont les suivants :
SQL Server 2012 : Installation avec Windows 8 Server
Après la sortie annoncée de la version RTM de SQL Server 2012, je n’ai pas pu m’empêcher de tester l’installation de cette dernière sur un Windows 8 Server (en Beta). Cette nouvelle mouture de Windows promet quelques améliorations comme la prise en charge native du Teaming pour les cartes réseaux ou encore la prise en charge par SQL Server 2012 des partages réseaux en SMB2.2. Il existe bien entendu d’autres améliorations au niveau de la virtualisation par exemple ou encore la gestion multiserver plus poussée dans cette nouvelle version mais cela ne sera pas notre propos aujourd’hui. Il faut noter également l’installation en mode core par défaut.
Changer le nom du serveur dans la chaîne de connexion par défaut dans un plan de maintenance
Lorsque l’on change le nom d’une instance SQL Server celui-ci ne se propage dans les connexions des plans de maintenance. Pour rappel, un plan de maintenance n’est ni plus ni moins qu’un package SSIS lié à un job SQL Server. C’est donc ce package SSIS qui contient la définition des sources de données. Cependant lorsqu’on tente de modifier la source de données par défaut associée au plan de maintenance on s’aperçoit vite qu’il est impossible de la modifier. On ne peut qu’en ajouter et modifier en conséquence chaque tâche qui compose le plan avec la nouvelle connexion. Autant dire que l’opération devient rapidement fastidieuse. Alors comment changer directement la source de données par défaut ?