Microsoft SQL Server
Thumbnail Logo

SQL Server Enterprise is the SQL database marketed by Microsoft. Since 2017, SQL Server is cross-platform with Linux support.

The robustness of SQL Server no longer needs to be demonstrated and the range of advanced features is very rich: replication, high availability and clustering (AlwaysOn), columnar storage…

Changing the SQL Server 2019 port on Linux and using SQL Server aliases on the client hosts June 1, 2019
Thumbnail LogoMicrosoft SQL Server located in a WAN/DMZ area and running on its default port 1433 is vulnerable to attacks. In this article the port of SQL Server 2019, installed on Linux Ubuntu, is modified with the utility mssql-conf. The (automated) deployment of SQL Server aliases on client hosts when changing the server port drastically reduces negative impacts.
SQL Server 2019 on Linux, configuring SSL connections June 1, 2019
Thumbnail LogoModifying the port of SQL Server installed on a WAN/DMZ area is not enough from a security point of view, it decreases potential attacks but does not prevent some sniffer tools from reading TCP packets. How to encrypt the packets with SSL / TLS 1.2 for SQL Server on Linux ? Steps are easy with openssl and mssql-conf utility. The encryption is initiated and forced by the SQL Server engine using a self-signed certificate.
Microsoft SQL Server 2016, using dbcc clonedatabase June 1, 2019
Thumbnail LogoA new feature has been introduced in SQL Server 2012 : dbcc clonedatabase. This feature has been enhanced in SQL Server 2016 (supported objects). How does it work and what is the purpose of this new feature ? dbcc clonedatabase is very useful to diagnose compatibility level impact on queries in a production environment with real time statistics without modifying directly and immediately the compatibility level of the source database, modification that can generate further issues and must be conducted cautiously.
Microsoft SQL Server 2019 on Ubuntu - SQL Server Agent May 31, 2019
Thumbnail LogoAnd the SQL Server Agent on Linux? Yes, BUT… If the configuration and activation of the SQL Server Agent are very simple with mssql-conf, controlling it is much less. On Linux, the SQL Server Agent is not associated with a dedicated service like on Windows with significant consequences.
Managing SQL Server 2019 service on Ubuntu with systemctl May 31, 2019
Thumbnail LogoIn the default architecture, SQL Server 2019 runs with the account mssql. When trying to stop/start/restart the service mssql-server with systemctl, the password is prompted. We may want to allow mssql to manage its own service without password prompts. 2 solutions are available : defining mssql-server as a user service with the account mssql or granting rights with no password on the system service mssql-server to the user mssql through sudo.
Troubleshooting a startup issue of SQL Server 2019 on Ubuntu linked to user root action error May 31, 2019
Thumbnail LogoALWAYS start the SQL Server engine on Linux with the mssql account. NEVER run the sqlservr binary directly as root. Indeed, the engine can not then be restarted normally with the account mssql. The diagnosis is not as simple as usual in this kind of problem, permissions are altered for hidden binary system files of SQL Server (security.hiv…).
Microsoft SQL Server 2019 on Linux Ubuntu 18.04, installation and configuration May 29, 2019
Thumbnail LogoWho would have believe it in 2009, 10 years ago, Microsoft SQL Server 2019 on Linux platforms ! On Ubuntu 18.04, a SQL Server 2019 instance is installed and configured with mssql-conf. Since the majority of companies implement firewalls to prevent servers from communicating with the outside world, installations are performed in offline mode with the *.deb packages provided by Microsoft. Database files are not created in the default directory. After the installation, 2 tests are first carried out: restoration on SQL Server 2019/Linux of a database from its SQL Server 2016/Windows backup and a table export/import using bcp in native mode from SQL Server 2016/Windows to SQL Server 2019/Linux. These 2 tests will show whether or not it is easy, in this cross-platform context, to migrate databases from SQL Server 2016 on Windows to SQL Server 2019 on Linux.
How to list members of an Active directory group defined in Microsoft SQL Server July 20, 2014
Thumbnail LogoProject managers often directly ask the DBAs to provide the list of accounts belonging to a Microsoft Active Directory group defined in Microsoft SQL Server. Basic command lines exist (net group, net user) to list the members without having to disturb the administrators of the Active Directory domain controller (AD).
No more articles in English. Below, the available articles but in french.
Déplacer la base tempdb avec SQL Server 2008 R2 July 27, 2014
Thumbnail LogoLa base tempdb d’un serveur SQL Server 2008 R2 est déplacée vers un autre disque en 4 étapes grâce à la vue sys.master_files et aux commandes ALTER DATABASE.
Microsoft SQL Server 2008 et la compression de données, benchmarks August 7, 2011
Thumbnail LogoSQL Server 2008 introduit la compression de données pour les tables, indexes et partitions. Diverses stratégies de compression possibles :
  • compression de lignes (ROW).
  • compression de pages par préfixes (prefix compression).
  • compression de pages avec dictionnaire (Dictionary compression).
Dans cette étude qui se concentre sur l’impact des types de compression lors des opérations de sélections et de mises à jour pour des tables classiques et partitionnées, les benchmarks réalisés montrent que cette nouveauté, bien que très séduisante, doit être appliquée à bon escient. En bonus, quelques requêtes et procédures systèmes utiles propres à la compression.
Migration de Microsoft SQL Server 2008 vers SQL Server 2008 R2 en mode silencieux May 9, 2011
Thumbnail LogoIndustrialiser les installations de Microsoft SQL Server avec le mode silencieux est de plus en plus courant, en revanche les migrations en mode silencieux le sont beaucoup moins, les migrations avec l’interface graphique sont encore préférées actuellement. Et pourtant la migration en mode silencieux d’une instance "standalone" SQL Server 2008 vers SQL Server 2008 R2 diffère très peu de l’installation dans ce même mode.
Installation et utilisation à distance en ligne de commandes du conseiller de migration Microsoft SQL 2008 R2 (upgrade advisor) May 3, 2011
Thumbnail LogoLes distributions de Microsoft SQL Server 2005 et 2008/2008 R2 proposent un conseiller de migration ou "Upgrade Advisor" qui diagnostique au préalable les éventuels problèmes et incompatibilités pour une migration d’une instance Microsoft SQL Server. Le conseiller de migration est exploitable en lignes de commandes et à distance pour préparer la migration d’une instance. L’analyse d’un parc de serveurs à migrer est tout à fait possible grâce aux fichiers de configuration donnés à l'utilitaire UpgradeAdvisorWizardCmd.
Miroirs de bases SQL Server 2008 R2 avec témoin, guide pratique April 18, 2011
Thumbnail LogoLe "mirroring" (ou miroir) est une fonctionnalité qui, depuis SQL Server 2005, maintient une base de données "standby" inactive à des fins de DR (Disaster/Recovery) et/ou de bascule automatique en cas d’échec (automatic failover). Dans ce guide pratique : une solution de miroir SQL Server 2008 R2 avec bascule automatique grâce à une instance témoin (witness). Son implémentation est réalisée et industrialisée en utilisant les variables de scripts, fonctionnalité de l’utilitaire SQLCMD introduite avec SQL Server 2005. De chaleureux remerciements sont d’ailleurs adressés à Richard PRADE pour cette version industrialisée. Au delà de l’industrialisation de l’installation du miroir, sont également abordés :
  • des exemples de bascules automatiques et manuelles
  • la prise en charge du mirroring par les couches clientes ODBC, OLE DB, ADO.NET et JDBC avec la propriété Failover Partner
  • les aspects performances et la mesure de la latence vers le miroir (sp_dbmmonitorchangealert et sp_dbmmonitorresults)
Microsoft SQL Server - Export et import de données avec l’utilitaire bcp, guide pratique March 7, 2011
Thumbnail LogoL’utilitaire bcp dans le client Microsoft SQL Server permet d’exporter et importer des données en mode natif ou en mode caractères. Voici un guide pratique qui s’adresse aux administrateurs et concepteurs qui prennent en main pour la première fois cet outil natif d’export/import de données. Parmi les points abordés :
  • l’export des données d’une table et d’une vue avec bcp out ainsi que l’export de requêtes ou d’un jeu de résultats retourné par une procédure stockée avec bcp queryout.
  • l’import de données dans une table depuis un fichier avec bcp in. La gestion des erreurs, des colonnes identity et du journal des transactions lors des imports est soulignée.
Installation silencieuse d’un cluster SQL Server 2008 R2 en mode failover sur Windows 2003 Server February 21, 2011
Thumbnail LogoUn précédent article paru au mois de novembre 2010 présente l’installation silencieuse d’une instance SQL Server 2008 R2 : Microsoft SQL Server 2008 R2 - Installation silencieuse. Attardons nous à présent sur les paramètres spécifiques aux installations silencieuses d’un cluster SQL Server 2008 R2 en mode failover sur Windows 2003 SP2 64 bits. En préambule, l’utilitaire cluster pour naviguer dans un cluster et la terminologie propre aux clusters Microsoft (groupes, groupes de ressources…) sont présentés puis l’installation des nœuds MS SQL Server en mode silencieux est réalisée (InstallFailoverCluster, AddNode). La bascule d’un groupe de ressources MS SQL Server avec l’option moveTo de l’utilitaire cluster et la suppression d’un nœud (RemoveNode) sont également abordées.
Microsoft SQL Server 2000 et l’erreur 3628 floating point exception January 17, 2011
Thumbnail LogoDes traitements avec SQL Server 2000 peuvent remonter des erreurs avec le message 3628 (a floating point exception occurred), message caractéristique de l’injection d’une donnée incohérente (Not A Number) dans une colonne de type float. 3 méthodes pour détecter les lignes et colonnes contenant ces incohérences :
  • backup/restore vers SQL Server 2005 pour utiliser l’option with data_purity de la commande dbcc checktable
  • interrogations dynamiques des colonnes de type float grâce aux tables systèmes syscolumns et systypes
  • utilisation du binaire bcp d’export des données
Cela peut faire sourire en 2011, mais le parc SQL Server 2000 est difficile à migrer (DTS…) et encore très très présent mondialement, la fin de support de cette version a même été repoussée à décembre 2013, donc encore beaucoup de support sur cette version…
Installation silencieuse de Microsoft SQL Server 2008 R2 November 29, 2010
Thumbnail LogoPrincipale évolution avec SQL Server 2008 R2 lors des installations silencieuses : la surcharge de toutes les valeurs stockées dans le fichier de configuration est désormais possible par passage de paramètres à setup.exe. Chaque déploiement peut dès lors être personnalisé et d’un point de vue sécurité, cette nouveauté évite de stocker des mots de passe sensibles dans le fichier de configuration. Un script modèle DOS est une très bonne option pour l’automatisation et la personnalisation des installations silcencieuses.
Activation et influence sur les performances des files d’audit SQL Server 2008 - Audit trail September 28, 2010
Thumbnail LogoMicrosoft SQL Server 2008 introduit un nouvel outil souple permettant d’auditer les opérations en base en complément du Profiler : SQL Server Audit Trail 2008. Voici quelques clés pour mettre en place l’audit trail SQL Server 2008 et l’exploiter avec fn_get_audit_file. L’audit SQL Server 2008 doit être utilisé avec précaution et dûment justifiée pour les applications stratégiques : 25 à 30% de pertes de performances sont constatées lors de benchmarks réalisés, les applications travaillant en ligne à ligne et non en mode ensembliste étant les plus impactées.
Benchmark de la compression des sauvegardes avec SQL Server 2008 September 6, 2010
Thumbnail LogoMS SQL Server 2008 introduit la compression des sauvegardes. Des benchmarks ont été réalisés pour observer les gains en espace, les performances en temps d’exécution et la surconsommation CPU engendrée par la compression des sauvegardes. Le cas des bases encryptées avec l’option TDE (Transparent Data Encryption) et l’influence de la compression lors des opérations de restauration sont inclus dans le périmètre de ces benchmarks.
MS SQL Server 2005 et l’option WITH DATA_PURITY des commandes DBCC CHECKDB et DBCC CHECKTABLE March 8, 2010
Thumbnail LogoSQL Server 2005 n’est plus permissif sur le stockage de données hors intervalle dans les colonnes de type float : NaN (Not a Number), INF (Infinity). SQL Server 2005 introduit donc la nouvelle option WITH DATA_PURITY dans les commandes de vérification d’intégrité DBCC CHECKDB et DBCC CHECKTABLE. L’option WITH DATA_PURITY vérifie la pureté des données et s’avère particulièrement utile pour corriger les données dans des bases créées avec les versions antérieures à SQL Server 2005 (SQL Server 2000 - 7.0).
Déplacer les bases systèmes SQL Server 2005 November 26, 2009
Thumbnail LogoGuide pratique pour déplacer les bases systèmes SQL Server 2005 avec les commandes ALTER DATABASE MODIFY FILE.
Miroirs de bases SQL Server 2005 (mirroring), guide pratique September 24, 2009
Thumbnail LogoUn guide pratique sur la mise en miroir (mirroring) de bases de données SQL Server, nouveauté SQL Server 2005. Les principes généraux du miroir SQL Server 2005 sont rapidement présentés (prérequis, mode de recovery, safety…), puis les commandes utiles sont proposées à travers un cas pratique de création d’un miroir en mode safety off. La bascule manuelle (failover), la suspension/reprise (suspend/resume), la suppression d’un miroir et les vues systèmes de monitoring d’un miroir sont abordés.
SQL Server 2005 - Reconstruction d’une base à partir d’un simple fichier mdf (rebuild log) June 4, 2009
Thumbnail LogoDe plus en plus souvent autour de MS SQL Server, les éditeurs de progiciels fournissent uniquement le fichier de données mdf et non plus des sauvegardes. Lorsque le journal des transactions est omis dans la livraison, la commande sp_attach_db devient dès lors inutilisable. Malgré tout, la commande ALTER DATABASE REBUILD LOG de SQL Server 2005 permet de reconstruire une base de données uniquement à partir de son fichier de données mdf. La reconstruction d'un journal de transactions d'une base de données SQL Server 2005 est présentée dans cet article.
MS SQL Server et les serveur liés, performances entre ODBC et OLEDB June 8, 2006
Thumbnail LogoMS SQL Server peut accèder à des serveurs distants hétérogènes (Sybase, Oracle…) via ODBC, OLEDB. Ce document étudie l'accès aux données distantes Sybase depuis un serveur MS SQL 2000, en particulier d'une point de vue des performances. La couche d'accès ODBC ou OLE-DB est étudiée ainsi que les méthodes d'interrogation (select from openquery…).
osql et la gestion des codes retour avec la commande RAISERROR September 1, 2005
Thumbnail LogoFiche pratique sur la gestion des codes retour du binaire osql avec la commande T-SQL RAISERROR. Afin de pouvoir tester correctement les codes retour d'un traitement batch avec SQL Server dans une commande DOS ou bien au travers d'un ordonnanceur comme ControlM, le cas pratique s'attarde sur comment bien combiner les paramètres de la commande T-SQL RAISERROR (severity, state) avec l'utilisation du binaire osql.
Triggers Instead Of avec MS SQL Server pour les vues en mise à jour June 22, 2005
Thumbnail LogoArticle sur les triggers "Instead of Update / insert" utilisés comme alternative aux vues en mise à jour reposant sur plusieurs tables et présentant des problèmes de comportement lors de la mise à jour. Cet article présente également le principe d'utilisation de la fonction columns_updated( ) dans les triggers.
Groupes de fichiers SQL Server - Localisation des objets (sysindexes) November 12, 2004
Thumbnail LogoActuellement, la localisation des objets sur les groupes de fichiers SQL Server n'est pas aisée, aussi cet article présente les requêtes permettant en interrogeant sysindexes et sysfilegroups de localiser les tables avec ou sans indexes clusterisés, les indexes non clusterisés et les champs textes.
Marquer une procédure stockée en mode système (sp_MS_MarkSystemObject) November 9, 2004
Thumbnail LogoArticle sur la méthode permettant de marquer une procédure stockée comme étant une procédure stockée système (sp_MS_MarkSystemObject), ce qui permet d'exécuter la procédure stockée depuis n'importe quelle base en conservant la base de données courante.
Reconstruction d’un serveur SQL Server 2000 (rebuild master) October 29, 2004
Thumbnail LogoReconstruction d'un serveur SQL Server 2000 : utilisation des exécutables rebuildm.exe, sqlservr.exe, mode single user -m pour reconstruire un serveur SQL Server à la suite d'une corruption de la base master ou bien pour changer les collations settings / sort order (jeux de caractères / ordre de tri).
Logins sous SQL Server - Reverse October 29, 2004
Thumbnail LogoArticle sur les logins sous SQL Server avec quelques informations pratiques sur la table sysxlogins. Cet article propose par ailleurs un script de génération automatique des logins avec conservation des bases de données et des langages par défaut, des SIDs et des mots de passe.
Resynchronisation des users SQL Server 2000 et sp_change_users_login October 28, 2004
Thumbnail LogoArticle sur la resynchronisation des users SQL Server 2000 et l'utilisation de la procédure stockée système sp_change_users_login (option Report, Auto_Fix, Update_One).
Création d’instances nommées SQL Server 2000 July 19, 2004
Thumbnail LogoDocumentation technique sur la création et la désinstallation d'instances nommées avec SQL Server 2000 en mode silencieux avec des fichiers d'initialisation (unattended installations).
Commandes DBCC SQL Server pour le tuning July 2, 2003
Thumbnail LogoToutes les commandes DBCC de MS SQL Server documentées et non documentées pour le tuning (dbcc cachestats, dbcc sqlperf, dbcc opentran, dbcc pintable, dbcc unpintable…).
La fragmentation dans MS SQL Server 7.0 - dbcc showcontig July 1, 2003
Thumbnail LogoAprès quelques généralités en introduction sur le stockage des données et indexes dans MS SQL Server 7.0 et 2000 (pages, extents…), l'article présente la commande DBCC SHOWCONTIG, commande qui apporte une aide précieuse pour comprendre et analyser des éventuels problèmes de performances liés à la fragmentation des données dans une table. Quelques pistes sont donnés pour réduire la fragmentation (paramètre fillfactor, dbcc dbreindex) après l'interprétation détaillée des résultats de la commande dbcc showcontig.