Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Top 50 des questions d'entretien SQL Server que vous devez préparer en 2022

À l'ère où une énorme quantité de données est générée au jour le jour, les données jouent un rôle crucial dans la prise de décision pour les opérations commerciales. Ainsi, pour gérer les données, nous avons besoin de bases de données, ce qui nous oblige à comprendre les systèmes de gestion de bases de données. Avec divers systèmes de gestion de bases de données, MS SQL Server est l'un des systèmes de gestion de bases de données relationnelles les plus populaires. Ce type de SGBD utilise une structure qui permet aux utilisateurs d'identifier et d'accéder aux données en relation à une autre donnée de la base de données. Ainsi, connaître MS SQL Server vous ouvre les portes pour devenir administrateur de base de données. Je crois que vous êtes déjà au courant de ces faits et cela vous a fait atterrir sur cet article MS SQL Server Interview Questions.

Dans cet article sur les questions d'entretien avec Microsoft SQL Server, je discuterai des principales questions liées à MS SQL Server posées lors de vos entretiens. Ces questions sont recueillies après consultation de personnes ayant d'excellentes compétences dans ce domaine.

Commençons !

Q1. Mentionnez les différences entre SQL Server et MySQL.

SQL Server MySQL

Développé par Microsoft

Développé par Oracle

Logiciel sous licence

Logiciel open source

Prend en charge C#, Java C++, PHP, Visual Basic, Perl, Python, Ruby, etc

Prend en charge PHP, Perl, Python, Ruby, etc.

N'autorise aucun type de manipulation de fichier de base de données lors de l'exécution

Permet la manipulation des fichiers de base de données pendant l'exécution.

Autorise l'annulation de la requête à mi-chemin dans le processus

N'autorise pas l'annulation de la requête à mi-parcours du processus.

Lors de la sauvegarde des données, il ne bloque pas la base de données

Lors de la sauvegarde des données, cela bloque la base de données

Occupe une grande quantité d'espace de stockage opérationnel.

Prend moins d'espace de stockage opérationnel.

Disponible en mode express et personnalisé.

Disponible dans MySQL Community Edition et MySQL Enterprise Edition

Q2. Qu'entendez-vous par Agent SQL Server ?

L'Agent SQL Server est un service Windows utilisé pour planifier et exécuter des tâches. Ici, chaque tâche contient une ou plusieurs étapes, et chaque étape contient une tâche. Ainsi, le Server Agent utilise SQL Server pour stocker les informations sur les travaux et exécuter un travail selon un calendrier.

Les principaux composants de l'Agent SQL Server sont les tâches, les planifications, les opérateurs et les alertes.

Exemple :

Si une entreprise souhaite effectuer une sauvegarde des serveurs de l'entreprise à 21 h 00 tous les vendredis, vous pouvez très bien automatiser cette tâche pour laisser la planification se dérouler d'elle-même. . Dans un scénario, la sauvegarde rencontre une erreur, l'Agent SQL Server enregistre l'événement et notifie l'équipe correspondante.

Q3. Mentionnez les différents modes d'authentification dans SQL Server.

Avant de vous parler des différents modes d'authentification dans SQL Server, laissez-moi vous dire que le mode d'authentification est utilisé pour authentifier un utilisateur dans SQL Server. Le mode d'authentification est sélectionné lors de la configuration du moteur de base de données. Donc, si vous voulez savoir comment configurer Microsoft SQL Server, vous pouvez vous référer à mon article.

Les différents modes d'authentification proposés par SQL SERVER sont les suivants :

  • Mode d'authentification Windows : Ce mode est utilisé pour se connecter au serveur via un compte Windows. Ici, le serveur prend le nom d'utilisateur et le mot de passe des ordinateurs à des fins d'authentification. De plus, le mode d'authentification du serveur SQL est désactivé dans ce mode.
  • Mode mixte : Le mode mixte est utilisé pour se connecter à une instance de SQL Server en utilisant soit l'authentification SQL Server, soit l'authentification Windows. Dans ce mode, un nom d'utilisateur et un mot de passe sont définis par l'utilisateur pour la base de données.

Q4. Mentionnez les différences entre les tables temporaires locales et globales.

Table temporaire locale Tableau temporaire global

Ces tableaux n'existent que pour la durée de la connexion ou la durée de cette instruction.

Ces tables existent en permanence dans la base de données et seules les lignes sont supprimées lorsque la connexion est fermée.

Syntaxe : CRÉER TABLE #

Syntaxe : CRÉER TABLE ##

Q5. Comment pouvez-vous vérifier la version de SQL Server ?

Pour vérifier la version de SQL Server, vous pouvez utiliser la commande suivante :

SELECT @@version

Le @@VERSION donne une sortie sous la forme d'une chaîne nvarchar.

Q6. Qu'est-ce que le mode mono-utilisateur et quelles sont les étapes à suivre pour démarrer SQL Server en mode mono-utilisateur ?

Il arrive souvent que vous souhaitiez démarrer une instance de SQL Server en mode mono-utilisateur. Vous pouvez le faire, soit lorsque vous souhaitez récupérer des données à partir d'autres systèmes de base de données, soit lorsque vous souhaitez modifier les configurations du serveur.

Lorsque vous démarrez SQL Server en mode mono-utilisateur, tout membre du groupe d'administrateurs local de l'ordinateur se connecte à l'instance de SQL Server en tant qu'administrateur système.

Les événements suivants se produisent lors du démarrage de la base de données en mode mono-utilisateur :

  • Un seul utilisateur se connecte au serveur.
  • Le POINT DE CONTRÔLE le processus n'est pas exécuté puisqu'il est exécuté par défaut au démarrage.

Notez également que vous devez arrêter le service SQL Server Agent avant de vous connecter à une instance de SQL Server en mode mono-utilisateur.

  • Pour démarrer SQL Server en mode mono-utilisateur, utilisez la commande : sqlcmd –m
  • Pour vous connecter via l'éditeur de requête dans Management Studio, utilisez : -m"Microsoft SQL Server Management Studio - Query".

Q7. Qu'est-ce que le profileur SQL Server ?

Le Microsoft SQL Server Profiler est une interface utilisée pour créer et gérer des traces. Il analyse et rejoue également les résultats de la trace. Ici, les événements sont enregistrés dans un fichier de trace qui sont ensuite analysés ou utilisés pour rejouer une série d'étapes spécifiques lors du débogage d'un problème.

Vous pouvez utiliser SQL Server Profiler pour des activités telles que :

  1. Rechercher la cause première du problème
  2. Surveillance des performances de SQL Server pour gérer les charges de travail.
  3. Diagnostiquer les requêtes lentes
  4. Capturer une série d'instructions SQL à l'origine du problème, pour répliquer davantage le problème sur le serveur de test, tout en déboguant le problème.
  5. Cela aide également à corréler les compteurs de performances pour déboguer facilement les problèmes.

Q8. Quel est le port TCP/IP sur lequel SQL Server s'exécute ?

Le port TCP/IP sur lequel SQL Server s'exécute est 1433.

Q9. Que sont les sous-requêtes dans SQL Server ? Expliquez ses propriétés.

Une sous-requête est une requête à l'intérieur d'une autre requête où une requête est définie pour récupérer des données ou des informations de la base de données. Dans une sous-requête, la requête externe est appelée requête principale tandis que la requête interne est appelée sous-requête. Les sous-requêtes sont toujours exécutées en premier et le résultat de la sous-requête est transmis à la requête principale. Il peut être imbriqué dans un SELECT, UPDATE ou toute autre requête. Une sous-requête peut également utiliser des opérateurs de comparaison tels que>,

Les propriétés des sous-requêtes sont les suivantes :

  • Doit être mis entre parenthèses car il doit être exécuté avant la requête principale
  • Plusieurs requêtes peuvent être incluses.
  • Une sous-requête ne doit pas avoir la clause ORDER BY mais peut inclure WHERE, GROUP BY et HAVING CLAUSE
  • La sous-requête doit être à droite de l'opérateur de comparaison de la requête principale
  • Une sous-requête doit inclure la clause SELECT et une clause FROM.

Q10. Comment démarrer le mode mono-utilisateur en cluster installation ?

Dans une installation en cluster, le serveur SQL utilise la connexion disponible DLL, et bloque ainsi toute autre connexion au serveur.

Dans cet état, si vous essayez de mettre les ressources de l'Agent SQL Server en ligne, il peut alors basculer les ressources SQL vers un autre nœud car il pourrait être configuré pour un groupe. Ainsi, pour démarrer une installation en mode utilisateur unique en cluster, vous pouvez suivre les étapes ci-dessous :

  1. Aller aux propriétés avancées et supprimez le paramètre de démarrage -m.
  2. Maintenant, mettez la ressource SQL Server hors ligne.
  3. Émettez la commande suivante à partir de l'invite de commande et assurez-vous que vous êtes sur le nœud propriétaire actuel du groupe :
    net start MSSQLSERVER /m.
  4. Ensuite, vous devez vérifier auprès de l'administrateur du cluster ou basculer sur la console de gestion du cluster que la ressource SQL Server est toujours hors ligne ou non.
  5. Ensuite, connectez-vous au serveur SQL à l'aide de la commande suivante et effectuez l'opération requise :SQLCMD -E -S<servername>.
  6. Une fois qu'une opération est terminée, vous devez fermer l'invite de commande, puis remettre le SQL et les autres ressources en ligne via l'administrateur du cluster.

Q11. Qu'entendez-vous par réplication dans SQL Server ? Mentionnez les différents types de réplication dans SQL Server.

La réplication dans Microsoft SQL Server est un processus permettant de synchroniser les données sur plusieurs serveurs. Cela se fait généralement par un ensemble de répliques, et ces ensembles fournissent plusieurs copies de données avec redondance et haute disponibilité sur différents serveurs.

Non seulement cela, mais la réplication fournit un mécanisme pour récupérer des échecs. Il supprime également les dépendances d'un seul serveur pour protéger la perte de données d'un seul serveur.

Voici trois types de réplications dans SQL Server :

  1. Fusionner la réplication : Cette réplication regroupe les données de diverses sources dans une seule base de données centralisée et est utilisée dans l'environnement serveur vers client.
  2. Réplication transactionnelle : Cette réplication est un processus de distribution des données de l'éditeur à l'abonné et est utilisée dans un environnement de serveur à serveur.
  3. Réplication d'instantané : Cette réplication distribue les données exactement telles qu'elles apparaissent à un moment précis et est utilisée pour répliquer les données, qui changent rarement.

Q12. Quelles sont les différences entre MS SQL Server et Oracle ?

MS SQL Server Oracle

Fournit une syntaxe simple et facile.

Se compose d'une syntaxe complexe et comparativement plus efficace.

Utilise transact SQL ou T-SQL.

Utilise PL/SQL

Ne prend pas en charge l'optimisation des requêtes.

Utilise l'optimisation des requêtes en étoile.

Les restaurations ne sont pas autorisées dans le processus de transaction.

Les restaurations sont autorisées pendant le processus de transaction.

Autorise les sauvegardes incrémentielles, partielles et complètes

Autorise les sauvegardes incrémentielles, complètes, au niveau des fichiers et différentielles.

Ne prend pas en charge le clustering.

Offre la prise en charge de la configuration en cluster.

Les instructions telles que INSERT, UPDATE, DELETE sont exécutées en série.

Des instructions telles que INSERT, UPDATE, DELETE, MERGE sont exécutées en parallèle.

Les tâches sont planifiées via l'agent SQL Server

Les tâches sont planifiées via le planificateur Oracle ou OEM

Q13. Qu'entendez-vous par verrous INTENT ?

Microsoft SQL Server utilise une hiérarchie de verrouillage chaque fois que les données sont lues ou que quelque chose est modifié dans les données. Chaque fois qu'une ligne est lue, SQL Server acquiert un verrou partagé. De même, dès que nous modifions une ligne, SQL Server acquiert un verrou exclusif. Ces serrures sont incompatibles entre elles. Ainsi, les verrous INTENT sont utilisés pour indiquer à un niveau supérieur quels verrous sont appliqués dans une hiérarchie de verrous. Il existe principalement trois types de verrous INTENT :

  1. Verrouillage partagé d'intention (IS) : Ce verrou est utilisé lorsque vous avez un verrou partagé au niveau de la ligne.
  2. Verrouillage de mise à jour d'intention (IU) : Le verrou de mise à jour d'intention est utilisé lorsque vous avez un verrou de mise à jour au niveau de la ligne.
  3. Verrou exclusif Intext (IX) : Ce verrou est utilisé lorsque vous avez un verrou exclusif au niveau de la ligne.

Q14. Quelles sont les étapes à suivre pour masquer les instances SQL Server ?

Les étapes à suivre pour masquer les instances SQL Server sont les suivantes :

  • Ouvrez le Gestionnaire de configuration SQL Server et développez la Configuration du réseau SQL Server.
  • Allez ensuite dans Protocoles et choisissez l'instance de SQL Server .
  • Plus tard, faites un clic droit sur l'instance et sélectionnez les Propriétés

  • Ensuite, dans la zone Masquer l'instance , accédez à l'onglet Drapeaux , et sélectionnez Oui .
  • Enfin, cliquez sur OK, et fermez la boîte de dialogue.

Q15. Qu'entendez-vous par services de qualité des données dans SQL Server ?

Les services de qualité des données dans SQL Server sont un produit de qualité des données basé sur les connaissances. SQL Server Data Quality Services (DQS) permet à l'utilisateur de construire une base de connaissances et de l'utiliser ensuite pour effectuer des tâches telles que la correction, la déduplication, l'enrichissement, la normalisation des données.

En dehors de cela, DQS fournit également un profilage et vous permet d'effectuer un nettoyage des données à l'aide de services de données basés sur le cloud.

DQS se compose de deux composants :

  • Serveur de qualité des données : Il s'agit d'une fonctionnalité d'instance SQL Server composée de trois catalogues SQL Server avec des fonctionnalités et un stockage de qualité des données
  • Client de qualité des données : Il s'agit d'une fonctionnalité SQL Server que les utilisateurs peuvent utiliser pour effectuer une analyse assistée par ordinateur de la qualité des données et gérer la qualité de leurs données de manière interactive.

Q16. Expliquer les tables magiques dans le serveur SQL

Les tables magiques sont des tables créées automatiquement dans SQL Server et utilisées pour stocker en interne les valeurs insérées et mises à jour pour les opérations DML telles que (SELECT, DELETE, INSERT, UPDATE, etc.).

Q17. Qu'entendez-vous par Modifier la capture de données  ?

Change Data Capture ou plus communément appelé CDC est utilisé pour enregistrer les activités INSERT, UPDATE, DELETE appliquées sur les tables. Ainsi, comme son nom l'indique, Change Data Capture est utilisé pour capturer les données qui ont été modifiées récemment. Les informations de colonne et les métadonnées requises pour appliquer les modifications à l'environnement cible sont capturées pour les lignes modifiées et sont finalement stockées dans les tables de modifications. Ces tables de modifications sont l'image miroir de la structure de colonne d'origine.

Q18. Qu'entendez-vous par déclencheurs et mentionnez-en les différents types ?

Les déclencheurs sont utilisés pour exécuter des lots de code SQL chaque fois que des commandes INSERT, DELETE ou UPDATE sont exécutées sur une table. Donc, fondamentalement, les déclencheurs sont automatiquement exécutés chaque fois que les données sont modifiées en fonction des opérations de manipulation de données.

Les différents types de déclencheurs sont les suivants :

  1. INSÉRER
  2. MISE À JOUR
  3. SUPPRIMER
  4. AU LIEU DE

Q19. Qu'entendez-vous par procédure stockée récursive ?

Une procédure stockée récursive est une méthode de résolution de problèmes grâce à laquelle vous pouvez arriver à la solution encore et encore.

Q20. Expliquez l'envoi de journaux et mentionnez ses avantages.

Le processus d'automatisation de la sauvegarde pour restaurer les bases de données d'un serveur autonome vers un autre serveur de secours autonome est connu sous le nom d'envoi de journaux. Vous pouvez également considérer l'envoi de journaux comme l'une des solutions de reprise après sinistre, car il garantit que même si un serveur tombe en panne, le serveur de secours disposera des mêmes données que celles du serveur lui-même.

Les avantages du Log Shipping sont les suivants :

  • Nécessite peu d'entretien et est facile à configurer
  • La base de données secondaire créée est utilisée en lecture seule.
  • Vous pouvez créer plusieurs serveurs de secours secondaires
  • Autorise un délai spécifié par l'utilisateur pour le temps entre le serveur principal sauvegarde le journal de la base de données principale lorsque les serveurs secondaires restaurent (appliquent) la sauvegarde du journal.

Q21. Que sont les indicateurs de trace et mentionner quelques indicateurs de trace courants utilisés avec SQL Server ?

Ces indicateurs sont utilisés pour modifier le comportement du serveur ou définir les caractéristiques du serveur. Quelques indicateurs de trace courants utilisés avec SQL Server sont les suivants

  • 1204, 1205, 1222 – Ces drapeaux sont utilisés pour les informations sur les interblocages.
  • 174 – Cet indicateur de trace augmente le nombre de buckets de cache de plan du moteur de base de données SQL Server de 40 009 à 160 001 sur les systèmes 64 bits.
  • 1118 – Force des allocations d'étendue uniformes au lieu d'allocations de pages mixtes - (SQL 2005 et 2008) pour réduire les conflits TempDB.
  • 652 – Cet indicateur de trace désactive les analyses de prélecture de page.
  • 2566 – Utilisé pour exécuter la commande DBCC CHECKDB sans vérification de la pureté des données, sauf si l'option DATA_PURITY est spécifiée.

Q22. Mentionnez les différences entre SUBSTR et CHARINDEX dans SQL Server.

SUBSTR CHARINDEX

Utilisé pour renvoyer une partie spécifique de la chaîne dans une chaîne donnée

Utilisé pour renvoyer une position de caractère dans une chaîne spécifiée donnée

Exemple :

SOUS-CHAINE(‘Edureka’,1,4)

Sortie :

Édur

Exemple :

CHARINDEX(‘r’,’Edureka’,1)

Sortie :

4

Q23. Qu'entendez-vous par Analysis Services dans SQL Server ?

Analysis Services dans Microsoft SQL Server est un moteur de données analytiques utilisé dans l'analyse commerciale et l'aide à la décision. Ce service fournit des modèles sémantiques de niveau entreprise pour les applications clientes et les rapports tels que Power BI, Microsoft Excel et d'autres outils de visualisation.

Analysis Services est disponible sur des plateformes telles que :

  1. Services d'analyse Azure
  2. Power BI Premium
  3. Services d'analyse SQL Server

Q24. Qu'entendez-vous par Mirroring et mentionnez les avantages du Mirroring ?

La mise en miroir dans SQL Server est conçue pour maintenir un serveur de secours, qui est cohérent avec le serveur principal en termes de transaction. En outre, les enregistrements du journal des transactions sont envoyés du serveur principal au serveur secondaire.

Voici les avantages de la mise en miroir :

  1. Comprend un mécanisme de basculement automatique.
  2. Plus efficace que l'envoi de journaux et plus robuste.
  3. Le serveur principal est synchronisé avec le serveur secondaire en temps réel

Q25. Quand pensez-vous qu'un développeur devrait utiliser des curseurs basés sur SQL Server ?

Les curseurs basés sur SQL Server sont utilisés lorsque vous souhaitez travailler sur un enregistrement à tout moment, plutôt que de prendre toutes les données d'une table en masse. Cependant, il n'est pas préférable d'utiliser les curseurs lorsque de grands volumes de données sont présents car cela affecte les performances. Dans un scénario où il n'est pas possible d'éviter les curseurs, essayez de réduire le nombre d'enregistrements à traiter en utilisant une table temporaire, puis construisez éventuellement le curseur à partir de celle-ci.

Q26. Quel rôle la conception de la base de données joue-t-elle dans les performances d'une application basée sur SQL Server ?

La conception physique et logique joue un rôle important dans les performances des applications basées sur SQL Server. Nous devons nous assurer que les données correctes sont capturées dans les tables appropriées, que les éléments de données ont des relations appropriées entre eux et que la redondance des données est réduite. Je suggérerais également que pendant que vous concevez une base de données, assurez-vous qu'il s'agit d'un processus itératif pour atteindre tous les objectifs système requis et qu'il est sous observation constante. Une fois la conception de la base de données définie, il est très difficile de modifier la conception en fonction des besoins. Vous pouvez uniquement ajouter de nouvelles relations et éléments de données.

Q27. Qu'entendez-vous par fonction définie par l'utilisateur dans SQL Server et expliquez-vous les étapes pour créer et exécuter une fonction définie par l'utilisateur dans SQL Server ?

Une fonction définie par l'utilisateur est une fonction écrite selon les besoins de l'utilisateur en implémentant une logique. Dans ces types de fonctions, l'utilisateur n'est pas limité aux fonctions prédéfinies et simplifie le code complexe de la fonction prédéfinie en écrivant un code simple. Cette fonction renvoie une valeur scalaire ou un tableau.

Pour créer une fonction définie par l'utilisateur, reportez-vous à l'exemple suivant :

CREATE FUNCTION samplefunc(@num INT)
RETURNS TABLE
AS
RETURN SELECT * FROM customers WHERE CustId=@num

Pour exécuter la fonction créée ci-dessus, reportez-vous à la commande suivante :

SELECT * FROM samplefunc(10)

Q28. Comment pouvez-vous vous assurer que la base de données et l'application basée sur SQL Server fonctionnent correctement ?

Un développeur doit vérifier le type d'informations stockées, le volume de données et les données qui seront accessibles.

Dans un scénario où vous mettez à niveau un système existant, vous devez analyser les données actuelles, les volumes de données existants se produire et vérifier la méthode par laquelle les données sont accessibles, pour vous aider comprendre les problèmes de conception.

Dans un scénario où vous utilisez un nouveau système, vous devez conserver les informations sur les données qui seront capturées, et quels sont les constituants des données, et la relation entre les éléments de données.

Q29. Que sont les relations et mentionnez les différents types de relations dans le SGBD

Une relation dans le SGBD est le scénario dans lequel deux entités sont liées l'une à l'autre. Dans un tel scénario, la table constituée de clés étrangères fait référence à celle d'une clé primaire de l'autre table.

Les différents types de relations dans le SGBD sont les suivants :

  • Relation individuelle – Utilisé lorsqu'une seule ligne du tableau A est liée à une seule ligne du tableau B.
  • Relation un-à-plusieurs – Utilisé lorsqu'une seule ligne du tableau A est liée à plusieurs lignes du tableau B.
  • Relation plusieurs-à-plusieurs – Utilisé lorsque plusieurs lignes du tableau A peuvent être liées à plusieurs lignes du tableau B.
  • Relation d'auto-référence – Utilisé lorsqu'un enregistrement dans la table A est lié à un enregistrement dans la même table.

Q30. Que sont les jointures en SQL et quels sont les différents types de jointures ?

Une clause JOIN est utilisée pour combiner des lignes de deux tables ou plus, en fonction d'une colonne liée entre elles. Il est utilisé pour fusionner deux tables ou en récupérer des données. Il existe 4 jointures en SQL à savoir :

  • Jointure interne
  • Rejoindre à droite
  • Joindre à gauche
  • Joindre complet

Q31. A quoi sert la commande DBCC CHECKDB ?

La commande DBCC CHECKDB est utilisée pour vérifier l'intégrité physique et logique de tous les objets de la base de données mentionnée. Pour cela, il effectue les opérations suivantes :

  • Exécute DBCC CHECKALLOC sur la base de données mentionnée.
  • Sur chaque table et vue de la base de données, le DBCC CHECKTABLE la commande est exécutée.
  • Exécute DBCC CHECKCATALOG sur la base de données.
  • Ensuite, il a validé le contenu de chaque vue indexée dans la base de données mentionnée.
  • Il valide également la cohérence au niveau des liens entre les répertoires du système de fichiers et les métadonnées des tables tout en stockant les données varbinary (max) dans le système de fichiers à l'aide de FILESTREAM.
  • Enfin, il valide les données Service Broker dans la base de données.

Ainsi, il vous suffit d'exécuter la commande DBCC CHECKDB, et automatiquement, les commandes DBCC CHECKALLOC, DBCC CHECKTABLE ou DBCC CHECKCATALOG sont exécutées.

Notez également que DBCC est pris en charge sur les bases de données qui contiennent des tables à mémoire optimisée, mais ne fournit pas d'options de réparation. Cela implique que vous devez régulièrement sauvegarder les bases de données et tester ces sauvegardes.

Q32. Qu'entendez-vous par contrainte CHECK dans SQL Server ?

La contrainte CHECK dans SQL Server est utilisée pour limiter les valeurs ou le type de données stockées dans une colonne. Une fois que vous avez appliqué la contrainte CHECK sur une seule colonne, vous pouvez continuer et appliquer des valeurs spécifiques pour cette colonne particulière.

Exemple :

CREATE TABLE Customer (&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;Cust_ID int NOT NULL,&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;FirstName varchar(255),&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;Age int,&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;City varchar(255),&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;CONSTRAINT CHK_Customer CHECK (Age>20 AND City= 'Hyderabad')&nbsp;&nbsp;
);&nbsp;&nbsp;

Q33. Que faire vous entendez par COALESCE dans SQL Server ?

Cette fonction est utilisée pour renvoyer la première expression non nulle dans les arguments. La commande COALESCE est utilisée pour renvoyer une valeur non nulle à partir de plusieurs colonnes dans les arguments.

Exemple :

SELECT COALESCE(CustID, CustName, Amount) from Customers;

Q34. Expliquez l'utilisation de la fonction FLOOR dans SQL Server.

La fonction FLOOR est utilisée pour arrondir une valeur non entière à la plus petite valeur entière précédente. Cette fonction renvoie une valeur unique après avoir arrondi les chiffres.

Syntaxe :

FLOOR(expression)

Exemple :

FLOOR(7.3)

Q35. Quelle est la commande utilisée pour vérifier les verrous dans Microsoft SQL Server ?

Pour vérifier les verrous dans la base de données, vous pouvez utiliser la procédure stockée intégrée sp_lock.

Syntaxe

sp_lock [ [ @spid1 = ] 'session ID1' ] [ , [@spid2 = ] 'session ID2' ]
[ ; ]

Exemple :

Pour répertorier tous les verrous actuellement détenus dans une instance du moteur de base de données, utilisez la commande suivante :

USE SampleDB;  
GO  
EXEC sp_lock;  
GO  

Q36. Mentionnez les 3 façons d'obtenir le décompte du nombre d'enregistrements dans une table.

Voici trois façons de compter le nombre d'enregistrements dans la table :

SELECT * FROM TableName;
SELECT COUNT(*) FROM TableName;
SELECT rows FROM indexes WHERE id = OBJECT_ID(TableName) AND indexid< 2;

Q37. A quoi sert la fonction SIGN ?

Cette fonction est utilisée pour déterminer si le nombre mentionné est zéro, positif et négatif. Ainsi, il renverra soit 0, +1, -1.

Syntaxe :

SIGN(number)

Exemple :

SIGN (0)  returns 0
SIGN (21)  returns 1
SIGN (-21)  returns -1

Q38. Écrire une requête SQL pour trouver le premier jour de la semaine du mois ?

Pour trouver le premier jour de la semaine du mois, vous pouvez écrire une requête comme suit :

SELECT DATENAME(dw, DATEADD(dd, – DATEPART(dd, GETDATE()) + 1, GETDATE())) AS FirstDay;

Q39. Mentionnez la commande utilisée pour renommer la base de données.

Pour renommer une base de données, vous devez utiliser la commande sp_renamedb de la manière suivante :

sp_renamedb 'OldDatabaseName', 'NewDatabaseName';

Q40. Write a query to find 5th highest amount paid from the Customer table.

To find the 5th highest amount paid from the customers’ table, you can write a query as below:

SELECT TOP 1 amount FROM (SELECT DISTINCT TOP 5 amount FROM customers ORDER BY amount DESC) ORDER BY amount;

Q41. How can we delete a table in SQL Server?

To delete a table in SQL Server, use the Delete command.

Syntax:

DELETE TableName

Example:

DELETE Customers;

Q42. What is the purpose of UPDATE STATISTICS and SCOPE_IDENTITY() function ?

  • UPDATE _STATISTICS is used to update the information used by indexes such as the distribution of key values for one or more statistic groups in the mentioned indexed view or table.
  • SCOPE_IDENTITY is used to create identity value for tables in the current execution scope.

Q43. What do you understand by PHYSICAL_ONLY option in DBCC CHECKDB?

  • The PHYSICAL_ONLY option is used to limit check to the integrity of the physical structure of the record headers, page, and also the allocation consistency of the database.
  • The PHYSICAL_ONLY check is used to provide a small overhead check of the physical consistency of the database.
  • Also, the PHYSICAL_ONLY option causes a shorter run-time for DBCC CHECKDB on large databases. So, it is generally recommended for frequent use on production systems.

Q44. Can you explain how long are locks retained within the REPEATABLE_READ and SERIALIZABLE isolation levels, during a read operation with row-level locking?

With REPEATABLE_READ and SERIALIZABLE isolation levels, locks are held during the transaction. But, if you consider READ_COMMITTED, then locks are held for isolation level.

Q45. Mention the differences between HAVING and WHERE clause.

HAVING WHERE
Used only with SELECT statement Used in a GROUP BY clause
Used with the GROUP BY function in a query Applied to each row before they are a part of the GROUP BY function in a query

Note: Whenever GROUP BY is not used, HAVING behaves like a WHERE clause.

Q46. What do you understand by integration services in SQL Server?

Integration services is a platform offered by Microsoft to build enterprise-level data transformation solutions and integration. These services solve complex business problems by loading data warehouses, perform data wrangling, copy or download files, and manage SQL Server objects.

Also, integration services can extract and transform data from a wide variety of sources such as relational data sources, XML data files, load the data into more than a single database. So, basically, you can use the integration services to create solutions without coding, code complex tasks, program the extensive integration object model to create packages.

The integration services include good set of built-in tasks and transformations, graphical tools used for building packages and also contain the Catalog database to store, run and manage packages.

Q47. What do you understand by Hotfixes and Patches in SQL Server?

Hotfixes are single, cumulative software packages applied to live systems. This includes one or more files used to address a problem in a software product. Patches are a programs installed on the machines to rectify the problem occurred in the system and ensured the security of the system. So, basically hotfixes are a kind of patch offered by Microsoft SQL Server to address specific issues.

Q48. Can you name a few encryption mechanisms in SQL server?

These are few encryption mechanisms in SQL Server to encrypt data in the database:

  1. Transparent Data Encryption
  2. Symmetric Keys
  3. Asymmetric Keys
  4. Transact SQL functions
  5. Certificates

Q49. What are the options which must be set to allow the usage of optimistic models?

The READ_COMMITED_SNAPSHOT option and the ALLOW_SNAPSHOT_ISOLATION option must be set to allow the usage of optimistic models.

  • The READ_COMMITTED_SNAPSHOT option is used for the read committed optimistic model.
  • ALLOW_SNAPSHOT_ISOLATION option is used for the snapshot isolation level.

Q50. What are the common performance issues in SQL Server?

The common performance issues in SQL Server are as follows:

  • Fragmentation
  • Input/Output bottlenecks
  • Blocking Queues
  • Deadlocks
  • Missing and unused indexes

So this brings us to the end of the SQL Server Interview Questions article. I hope this set of SQL Server Interview Questions will help you ace your job interview. All the best for your interview!

Check out this MySQL DBA Certification Training by Edureka, a trusted online learning company with a network of more than 250,000 satisfied learners spread across the globe. This course trains you on the core concepts &advanced tools and techniques to manage data and administer the MySQL Database. It includes hands-on learning on concepts like MySQL Workbench, MySQL Server, Data Modeling, MySQL Connector, Database Design, MySQL Command line, MySQL Functions, etc. End of the training you will be able to create and administer your own MySQL Database and manage data.

Got a question for us? Please mention it in the comments section of this “SQL Server Interview Questions” article and we will get back to you as soon as possible.