L'entretien est l'étape la plus importante du recrutement d'un administrateur de base de données SQL. Au cours de l'entretien, une personne technique ou un intervieweur pose des questions sur l'expérience technique d'un candidat. Le but de ces questions est de comprendre l'expérience du candidat sur SQL Server. Les réponses aux questions mesureront vos connaissances et votre expérience. Si vous ne pouvez pas prouver votre expérience lors de cet entretien, la décision concernant votre emploi sera très probablement négative. Tout d'abord, vous devez être calme pendant l'entretien. Ce conseil est la clé la plus importante du succès. La première question d'un entretien porte sur votre expérience passée et vos compétences. Pour répondre à cette question, vous devez décrire vos responsabilités et compétences professionnelles anciennes et actuelles. Vous devez vous assurer que vous démontrez toutes vos connaissances et votre expérience à l'intervieweur. Parce que cette introduction a le premier impact sur votre employeur potentiel.
En dehors de cela, il sera utile de revérifier certains détails techniques sur SQL Server. Parce que l'intervieweur peut poser des questions sur certaines rubriques que vous utilisez plusieurs fois, mais ne vous souciez pas des détails techniques de cette rubrique. Comme "Quelle est la différence entre varchar et nvarchar?" Un autre conseil à propos de l'entretien technique est de rechercher sur Google "SQL server dba interview questions" et d'étudier ces questions. Après cette pratique, analysez vos points forts et vos points faibles. Si vous le souhaitez, vous pouvez appuyer cette analyse avec l'approche SWOT (Strengths, Weaknesses Opportunities, and Threats). L'analyse SWOT est très utile pour comprendre vos forces et vos faiblesses. (Selon Wikipedia :l'analyse SWOT est un outil pour découvrir les forces, les faiblesses, les opportunités et les menaces auxquelles on peut s'attendre dans un projet ou dans une entreprise commerciale ou dans quelque chose de similaire. Cela signifie que l'environnement marketing (interne et externe à l'organisation ou à l'individu) est examinée).
La communication est le problème commun lors de l'entretien. Essayez de bien communiquer avec l'intervieweur. Parce que ce sentiment affecte la décision de l'intervieweur. Je tiens à souligner que cette personne peut être votre collègue ou votre chef d'équipe si vous êtes embauché. De plus, vous devez être sincère mais ne pas être irrespectueux. Ainsi, vous pouvez mieux communiquer avec l'intervieweur. En conséquence, votre processus d'entretien sera plus détendu et sans stress. Si votre processus d'entretien se déroule dans une vidéoconférence, assurez-vous que l'éclairage de l'environnement est suffisant pour une caméra. Ainsi, vos gestes et mimiques feront le bon effet.
L'intervieweur peut poser les questions dont vous ne connaissez peut-être pas les réponses. Dans ce cas, essayez de trouver la réponse avec votre expérience, vous pouvez être sûr que l'intervieweur vous aidera. N'oubliez pas que le but de l'enquêteur est de mesurer vos connaissances. Si on résume tout ça :
- Présentez-vous bien.
- Soyez calme et détendu.
- Bonne communication.
- Étudiez et analysez vos compétences.
- Soyez sincère.
- Essayez de trouver une réponse que vous ne connaissez pas.
Après cette section, je partagerai quelques questions d'entretien qui peuvent être posées dans SQL Server Interviews. Ces questions vous aideront à comprendre un type de questions d'entretien technique SQL Server DBA.
Pourriez-vous décrire une différence entre les indicateurs de requête NOLOCK et READPAST ?
LeNolock indice lit toutes les pages modifiées dans SQL Server. L'indice Nolock est également connu sous le nom de Readuncommited. L'indice Readpast ignore les pages non validées et ne lit pas les pages modifiées.
Nous allons maintenant faire une preuve de cette réponse. Tout d'abord, nous allons créer une table de test et remplir des données synthétiques.
DROP TABLE IF EXISTS TestForHint CREATE TABLE TestForHint (ID INT IDENTITY(1,1) PRIMARY KEY, FruitName VARCHAR(100), Amount INT) INSERT INTO TestForHint VALUES ('Apple',20),('Orange',10),('Banana',50) In this step we will create an open transaction and observe Nolock and Readpast behaviors. The below query will create an open transaction in Apple row. BEGIN TRAN UPDATE TestForHint SET Amount='10000' WHERE FruitName='Apple'
Dans cette étape, nous allons exécuter deux requêtes avec des indices différents.
select * from TestForHint WITH(NOLOCK) go select * from TestForHint WITH(READPAST)
Cette démonstration nous a montré quelle est la différence entre les indices ReadPast et Nolock. En conséquence, ces deux conseils ont des avantages et des inconvénients. Pour cette raison, réfléchissez bien et faites quelques tests avant d'utiliser ces conseils de requête dans vos requêtes d'environnement de production.
Qu'est-ce que une base de données autonome ?
Une base de données autonome est une base de données isolée des autres bases de données et de l'instance de SQL Server/SQL Database (et de la base de données master) qui héberge la base de données. SQL Server prend en charge les utilisateurs de bases de données autonomes pour l'authentification Windows et SQL Server.
Nous allons maintenant créer une base de données autonome.
Dans cette première étape, nous allons vérifier l'option d'authentification de la base de données contenue. Si cette valeur d'option est 0, nous devons modifier ce paramètre.
SP_CONFIGURE 'contained database authentication
SP_CONFIGURE 'contained database authentication',1 GO RECONFIGURE GO SP_CONFIGURE 'contained database authentication'
Ou vous pouvez modifier ce paramètre sous l'onglet Options avancées de SQL Server.
Nous allons maintenant créer une base de données autonome. Nous allons définir le type de confinement option comme Partiel .
Dans cette étape, nous allons créer un utilisateur qui ne dépend pas de SQL Server. Ce type d'utilisateurs est appelé en tant qu'utilisateur confiné. Imaginez que nous effectuons une sauvegarde de la base de données contenue et restaurons une autre instance de SQL Server. Nous pouvons connecter cette base de données avec l'utilisateur contenu.
Astuce :Si vous obtenez l'erreur lors de l'opération de restauration de la base de données contenue, vous pouvez consulter ce message.
La requête suivante renverra une liste des utilisateurs contenus.
SELECT name, type_desc, authentication_type, authentication_type_desc FROM sys.database_principals where (type='S' or type = 'U') and authentication_type=2
Quelle est la différence entre CHECKPOINT et LAZY WRITER ?
Le processus de point de contrôle écrit les pages modifiées qui existent sur le Buffer Cache sur le disque. En même temps, la commande CHECKPOINT peut être exécutée manuellement.
CHECKPOINT [ checkpoint_duration ]
Lorsque vous définissez une valeur pour le paramètre de durée du point de contrôle, SQL Server tente d'effectuer le point de contrôle dans la durée demandée.
Le but de l'écrivain paresseux est de libérer la mémoire du pool de mémoire tampon sous la pression de la mémoire. Mécanisme d'écriture différée géré par SQL Server Engine. Lorsque SQL Server a besoin de beaucoup de mémoire, le rédacteur paresseux libère les pages inutilisées.
Quelle est la différence entre le paramètre Secondaire lisible Oui et l'intention de lecture uniquement ?
Intention de lecture uniquement
Seules les connexions en lecture seule sont autorisées aux bases de données secondaires de ce réplica. La ou les bases de données secondaires sont toutes disponibles pour l'accès en lecture.
Vous pouvez trouver ces options secondaires lisibles sous les propriétés du groupe de disponibilité.
Lorsque vous modifiez vos paramètres Readable Secondary sur Read-intent only, nous devons apporter quelques modifications aux paramètres de connexion de SQL Server Management Studio. Nous devons ajouter le ApplicationIntent=ReadOnly paramètre aux Paramètres de connexion supplémentaires paramétrage de Management Studio.
Cette option nous aide à canaliser les connexions en lecture seule vers le réplica secondaire.
Oui
Toutes les connexions sont autorisées aux bases de données secondaires de cette réplique, mais uniquement pour l'accès en lecture. La ou les bases de données secondaires sont toutes disponibles pour l'accès en lecture.
Non
Aucune connexion utilisateur n'est autorisée aux bases de données secondaires de ce réplica. Ils ne sont pas disponibles pour l'accès en lecture. Il s'agit du paramètre par défaut.
Pourquoi utiliseriez-vous SQL Agent ?
SQL Agent est le mécanisme de planification des travaux dans SQL Server. Les travaux peuvent s'exécuter à une date et une heure spécifiées. Ce mécanisme nous aide notamment à planifier les sauvegardes et autres opérations de maintenance de la base de données. Vous pouvez trouver de nombreuses options sous le nœud SQL Server Agent.
Pouvez-vous nommer certaines des nouvelles fonctionnalités de SQL Server 2017 ?
- Base de données de graphes
- Prise en charge de Python
- Traitement adaptatif des requêtes
- Correction automatique des plans
Conclusion
Dans cet article, mon objectif est de donner des conseils d'entretien aux administrateurs de bases de données. Vous pouvez google diverses questions d'entrevue, mais vous devez faire attention à certains points autres que les questions. Parce que ces points nous mènent au succès.
Références
- Points de contrôle de la base de données (SQL Server)
- Correction automatique des plans dans SQL Server 2017
- Traitement adaptatif des requêtes dans les bases de données SQL