I den tid då enorma mängder data genereras dagligen, spelar data en avgörande roll i beslutsfattandet för affärsverksamheten. Så för att hantera data behöver vi databaser och detta ger oss behovet av att förstå databashanteringssystem. Med olika databashanteringssystem är MS SQL Server ett av de mest populära relationsdatabashanteringssystemen. Denna typ av DBMS använder en struktur som tillåter användare att identifiera och komma åt data i relation till en annan del av data i databasen. Så att känna till MS SQL Server öppnar dörrarna för dig att bli en databasadministratör. Jag tror att du redan är medveten om dessa fakta och detta har fått dig att landa på den här artikeln om MS SQL Server-intervjufrågor.
I den här artikeln om Microsoft SQL Server-intervjufrågor kommer jag att diskutera de vanligaste frågorna relaterade till MS SQL Server som ställs i dina intervjuer. Dessa frågor samlas in efter samråd med personer som har utmärkta kunskaper inom detta område.
Låt oss komma igång!
F1. Nämn skillnaderna mellan SQL Server och MySQL.
SQL-server | MySQL |
Utvecklad av Microsoft | Utvecklad av Oracle |
Licensierad programvara | Öppen källkod |
Stöder C#, Java C++, PHP, Visual Basic, Perl, Python, Ruby, etc | Stöder PHP, Perl, Python, Ruby, etc |
Tillåter inte någon form av databasfilmanipulation under körning | Tillåter databasfilmanipulation under körning. |
Tillåter avbrytning av sökfråga mitt i processen | Tillåter inte avbrytning av sökfråga mitt i processen. |
När du säkerhetskopierar data blockerar den inte databasen | När man säkerhetskopierar data blockerar den databasen |
Tar en stor mängd operativt lagringsutrymme. | Tar mindre operativt lagringsutrymme. |
Tillgänglig i Express- och Custom-läge. | Tillgänglig i MySQL Community Edition och MySQL Enterprise Edition |
F2. Vad förstår du med SQL Server Agent?
SQL Server Agent är en Windows-tjänst som används för att schemalägga och köra jobb. Här innehåller varje jobb ett eller flera steg, och varje steg innehåller en uppgift. Så serveragenten använder SQL Server för att lagra jobbinformation och köra ett jobb enligt ett schema.
Huvudkomponenterna i SQL Server Agent är jobb, scheman, operatörer och varningar.
Exempel:
Om ett företag vill ta en säkerhetskopia av företagets servrar kl. 21.00 varje fredag, kan du mycket väl automatisera denna uppgift för att låta schemat ske på egen hand . I ett scenario stöter säkerhetskopieringen på ett fel, SQL Server Agent registrerar händelsen och meddelar motsvarande team.
F3. Nämn de olika autentiseringslägena i SQL Server.
Innan jag berättar om de olika autentiseringslägena i SQL Server, låt mig berätta att autentiseringsläget används för att autentisera en användare i SQL Server. Autentiseringsläget väljs när du ställer in databasmotorn. Så om du vill veta hur du ställer in Microsoft SQL Server kan du hänvisa till min artikel.
De olika autentiseringslägena som erbjuds av SQL SERVER är följande:
- Windows-autentiseringsläge: Detta läge används för att ansluta servern via ett Windows-konto. Här tar servern datorernas användarnamn och lösenord för autentiseringsändamål. Dessutom är SQL-serverautentiseringsläget inaktiverat i det här läget.
- Blandat läge: Det blandade läget används för att ansluta till en instans av SQL Server med antingen SQL Server-autentisering eller Windows-autentisering. I det här läget ställs ett användarnamn och lösenord in av användaren för databasen.
F4. Nämn skillnaderna mellan lokala och globala tillfälliga tabeller.
Lokal tillfällig tabell | Global tillfällig tabell |
Dessa tabeller existerar endast under anslutningens varaktighet eller varaktigheten av det uttalandet. | Dessa tabeller finns permanent i databasen och endast raderna tas bort när anslutningen stängs. |
Syntax: SKAPA TABELL # | Syntax: SKAPA TABELL ## |
F5. Hur kan du kontrollera versionen av SQL Server?
För att kontrollera versionen av SQL Server kan du använda följande kommando:
SELECT @@version
@@VERSION ger utdata som en nvarchar-sträng.
F6. Vad är enanvändarläge och vilka är stegen du bör följa för att starta SQL Server i enanvändarläge?
Det kan ofta hända att du vill starta en instans av SQL Server i enanvändarläget. Du kan göra detta, antingen när du vill återställa data från andra databassystem eller kanske vill ändra serverkonfigurationer.
När du startar SQL Server i enanvändarläget ansluts alla medlemmar i datorns lokala administratörsgrupp till instansen av SQL Server som sysadmin.
Följande händelser inträffar när databasen startas i enanvändarläge:
- En enskild användare ansluter till servern.
- KONTROLLPUNKT processen exekveras inte eftersom den exekveras som standard vid uppstart.
Observera att du måste stoppa tjänsten SQL Server Agent innan du ansluter till en instans av SQL Server i enanvändarläget.
- För att starta SQL Server i enanvändarläge använd kommandot:
sqlcmd –m
- För att ansluta via frågeredigeraren i Management Studio använd:
-m"Microsoft SQL Server Management Studio - Query".
Fråga 7. Vad är SQL Server Profiler?
Microsoft SQL Server Profiler är ett gränssnitt som används för att skapa och hantera spår. Den analyserar och spelar också upp spårningsresultaten. Här sparas händelser i en spårningsfil som senare analyseras eller används för att spela upp en specifik serie steg samtidigt som ett problem felsöks.
Du kan använda SQL Server Profiler för aktiviteter som:
- Hitta grundorsaken till problemet
- Övervaka prestanda för SQL Server för att hantera arbetsbelastningen.
- Diagnostisera långsamma frågor
- Fånga en serie SQL-satser som orsakar problem, för att ytterligare replikera problemet på testservern samtidigt som man felsöker problemet.
- Det hjälper också till att korrelera prestandaräknare för att enkelt felsöka problem.
F8. Vilken är TCP/IP-porten som SQL Server körs på?
TCP/IP-porten som SQL Server körs på är 1433.
Fråga 9. Vad är underfrågor i SQL-server? Förklara dess egenskaper.
En underfråga är en fråga inuti en annan fråga där en fråga definieras för att hämta data eller information tillbaka från databasen. I en underfråga kallas den yttre frågan som huvudfrågan medan den inre frågan kallas för underfrågan. Undersökningar exekveras alltid först och resultatet av underfrågan skickas vidare till huvudfrågan. Det kan kapslas in i en SELECT, UPDATE eller någon annan fråga. En underfråga kan också använda valfri jämförelseoperator som>, Egenskaperna för delfrågor är följande: I klustrad installation använder SQL-servern en tillgänglig DLL-anslutning och blockerar därmed alla andra anslutningar till servern. I det här tillståndet, om du försöker koppla SQL Server Agent-resurser online, kan det misslyckas över SQL-resurser till en annan nod eftersom den kan konfigureras till en grupp. Så för att starta ett enskilt användarläge i klustrad installation kan du följa stegen nedan: Replikering i Microsoft SQL Server är en process för att synkronisera data över flera servrar. Detta görs vanligtvis av en replikuppsättning, och dessa uppsättningar ger flera kopior av data med redundans och hög tillgänglighet på olika servrar. Inte bara detta, utan replikering tillhandahåller en mekanism för att återställa från fel. Det tar också bort beroenden från en enda server för att skydda förlusten av data från en enda server. Följande är tre typer av replikeringar i SQL Server: Ger enkel och enkel syntax. Består av komplex och jämförelsevis mer effektiv syntax. Använder transact SQL eller T-SQL. Använder PL/SQL Stöder inte frågeoptimering. Använder stjärnfrågeoptimering. Återkallningar är inte tillåtna i transaktionsprocessen. Återkallningar är tillåtna under transaktionsprocessen. Tillåter inkrementella, partiella och fullständiga säkerhetskopieringar Tillåter inkrementella , fullständiga, filnivå- och differentiella säkerhetskopieringar. Stöder inte klustring. Erbjuder stöd för klustrad konfiguration. Påståenden som INSERT, UPDATE, DELETE körs i serie. Påståenden som INSERT, UPDATE, DELETE, MERGE exekveras parallellt. Jobb schemaläggs via SQL Server Agent Jobben schemaläggs via Oracle Scheduler eller OEM Microsoft SQL Server använder en låshierarki närhelst data läses eller något ändras i data. Närhelst en rad läses får SQL Server ett delat lås. På samma sätt, så snart vi byter en rad, får SQL Server ett exklusivt lås. Dessa lås är inkompatibla med varandra. Så, INTENT-låsen används för att på en högre nivå indikera vilka lås som tillämpas inom en låshierarki. Det finns huvudsakligen tre typer av INTENT-lås:
Stegen du måste följa för att dölja SQL Server-instanser är följande:
Datakvalitetstjänsterna i SQL Server är en kunskapsdriven datakvalitetsprodukt. SQL Server Data Quality Services (DQS) gör det möjligt för användaren att bygga en kunskapsbas och därefter använda den för att utföra uppgifter som korrigering, deduplicering, anrikning, standardisering av data. Förutom detta tillhandahåller DQS även profilering och gör att du kan utföra datarensning med hjälp av molnbaserade datatjänster. DQS består av två komponenter: Magiska tabeller är tabeller som skapas automatiskt i SQL Server som används för att internt lagra de infogade, uppdaterade värdena för DML-operationer som (SELECT, DELETE, INSERT, UPDATE, etc). Change Data Capture eller oftast känd som CDC används för att spela in INSERT, UPDATE, DELETE-aktiviteter som tillämpas på tabellerna. Så, som namnet antyder, används Change Data Capture för att fånga data som nyligen har ändrats. Kolumninformationen och metadata som krävs för att tillämpa ändringarna på målmiljön samlas in för de modifierade raderna och lagras så småningom i ändringstabellerna. Dessa ändringstabeller är spegelbilden av den ursprungliga kolumnstrukturen. Triggers används för att köra batcher av SQL-kod närhelst INSERT-, DELETE- eller UPDATE-kommandon körs mot en tabell. Så i princip exekveras utlösare automatiskt när data ändras baserat på datamanipuleringsoperationerna.
De olika typerna av utlösare är följande: En rekursiv lagrad procedur är en problemlösningsmetod genom vilken du kan komma fram till lösningen om och om igen. Processen med automatisering av säkerhetskopiering för att återställa databaser från en fristående server till en annan fristående standby-server kallas Log Shipping. Du kan också förstå loggsändning som en av katastrofåterställningslösningarna, eftersom den ser till att även om en server misslyckas kommer standbyservern att ha samma data som själva servern.
Fördelarna med stockfrakt är följande: Dessa flaggor används för att ändra serverbeteende eller ställa in serveregenskaper. Några vanliga spårningsflaggor som används med SQL Server är följande Används för att returnera en specifik del av strängen i en given sträng Används för att returnera en teckenposition i en given specificerad sträng Exempel: SUBSTRING('Edureka',1,4) Utdata: Edur Exempel: CHARINDEX('r','Edureka',1) Utdata: 4 Analystjänster i Microsoft SQL Server är en analysdatamotor som används i affärsanalys och beslutsstöd. Den här tjänsten tillhandahåller semantiska modeller av företagsklass för klientapplikationer och rapporter som Power BI, Microsoft Excel och andra visualiseringsverktyg. Analysetjänsterna är tillgängliga på plattformar som : Spegling i SQL Server är utformad för att upprätthålla en varm standby-server, som överensstämmer med den primära servern vad gäller en transaktion. Transaktionsloggposterna skickas också från huvudservern till den sekundära servern. Följande är fördelarna med spegling: SQL Server-baserade markörer används när du vill arbeta med en post när som helst, snarare än att ta all data från en tabell som en bulk. Det är dock inte att föredra att markörer används när stora mängder data finns eftersom det påverkar prestandan. I ett scenario där det inte är möjligt att undvika markörer, försök sedan minska antalet poster att bearbeta genom att använda en temporär tabell och sedan så småningom bygga markören från denna. Den fysiska och logiska designen spelar en viktig roll i prestanda för SQL Server-baserade applikationer. Vi måste se till att korrekt data fångas in i korrekta tabeller, att dataposterna har korrekta relationer mellan dem och dataredundansen minskar. Jag skulle också föreslå att medan du designar en databas, se till att det är en iterativ process för att uppnå alla systemmål som krävs och att den är under konstant observation. När databasdesignen väl är inställd är det mycket svårt att ändra designen enligt kraven. Du kan bara lägga till nya relationer och dataobjekt. F27. Vad förstår du med användardefinierad funktion i SQL Server och förklarar stegen för att skapa och köra en användardefinierad funktion i SQL Server? En användardefinierad funktion är en funktion skriven enligt användarens behov genom att implementera logik. I dessa typer av funktioner är användaren inte begränsad till fördefinierade funktioner och förenklar den komplexa koden för fördefinierade funktioner genom att skriva enkel kod. Denna funktion returnerar ett skalärt värde eller en tabell. För att skapa en användardefinierad funktion, se följande exempel:
För att utföra den ovan skapade funktionen, se följande kommando: En utvecklare måste kontrollera vilken typ av information som lagras, datavolym och data som kommer att nås. I ett scenario, där du uppgraderar ett befintligt system, bör du analysera nuvarande data, befintliga datavolymer uppstår och kontrollera metoden för åtkomst till data för att hjälpa dig förstå problemområdena för design. I ett scenario, där du använder ett nytt system, måste du behålla informationen om vilken data som kommer att fångas in och vad som är beståndsdelarna i data, och förhållandet mellan dataposterna. En relation i DBMS är scenariot där två enheter är relaterade till varandra. I ett sådant scenario refererar tabellen som består av främmande nyckel till den för en primärnyckel i den andra tabellen. De olika typerna av relationer i DBMS är följande:
En JOIN-sats används för att kombinera rader från två eller flera tabeller, baserat på en relaterad kolumn mellan dem. Den används för att slå samman två tabeller eller hämta data därifrån. Det finns 4 kopplingar i SQL nämligen: Kommandot DBCC CHECKDB används för att kontrollera den fysiska och logiska integriteten för alla objekt i den nämnda databasen. För att göra det utför den följande operationer: Så, du behöver bara köra kommandot DBCC CHECKDB och automatiskt körs kommandona DBCC CHECKALLOC, DBCC CHECKTABLE eller DBCC CHECKCATALOG. Observera att DBCC stöds på databaser som innehåller minnesoptimerade tabeller men inte ger reparationsalternativ. Detta innebär att du regelbundet måste säkerhetskopiera databaser och testa dessa säkerhetskopior. Kontrollbegränsningen i SQL Server används för att begränsa värdena eller typen av data som lagras i en kolumn. När du har tillämpat CHECK-begränsningen på en enskild kolumn kan du gå framåt och tillämpa specifika värden för den specifika kolumnen. Denna funktion används för att returnera det första icke-nulluttrycket i argument. COALESCE-kommandot används för att returnera ett icke-nullvärde från mer än en kolumn i argument. FLOOR-funktionen används för att runda upp ett icke-heltalsvärde till det föregående minsta heltalsvärdet. Denna funktion returnerar ett unikt värde efter avrundning av siffrorna.
Syntax:
Exempel: För att kontrollera lås i databasen kan du använda den inbyggda lagrade proceduren sp_lock.
För att lista alla lås som för närvarande finns i en instans av databasmotorn, använd följande kommando:
Följande är tre sätt att räkna antalet poster i tabellen:
Denna funktion används för att avgöra om det nämnda talet är noll, positivt och negativt. Så det kommer antingen att returnera 0, +1, -1.
För att hitta den första veckodagen i månaden kan du skriva en fråga enligt följande: För att byta namn på en databas måste du använda kommandot sp_renamedb på följande sätt:
To find the 5th highest amount paid from the customers’ table, you can write a query as below:
To delete a table in SQL Server, use the Delete command. 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.
Obs! Whenever GROUP BY is not used, HAVING behaves like a WHERE clause. 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.
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. These are few encryption mechanisms in SQL Server to encrypt data in the database:
The READ_COMMITED_SNAPSHOT option and the ALLOW_SNAPSHOT_ISOLATION option must be set to allow the usage of optimistic models.
The common performance issues in SQL Server are as follows: 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-certifieringsutbildning 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. Har du en fråga till oss? 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.
F10. Hur startar du enanvändarläge i klustrade installationer?
net start MSSQLSERVER /m.
SQLCMD -E -S<servername>.
F11. Vad förstår du med replikering i SQL Server? Nämn de olika typerna av replikering i SQL Server.
F12. Vilka är skillnaderna mellan MS SQL Server och Oracle?
MS SQL Server Oracle F13. Vad förstår du med INTENT-lås?
F14. Vilka är stegen du måste följa för att dölja SQL Server-instanser?
F15. Vad förstår du med datakvalitetstjänsterna i SQL Server?
F16. Förklara magiska tabeller i SQL-server
F17. Vad förstår du med Ändra datafångst ?
F18. Vad förstår du med triggers och nämner de olika typerna av det?
F19. Vad förstår du med rekursiv lagrad procedur?
F20. Förklara logfrakt och nämn dess fördelar.
F21. Vad är spårningsflaggor och nämner några vanliga spårningsflaggor som används med SQL Server?
F22. Nämn skillnaderna mellan SUBSTR och CHARINDEX i SQL Server.
SUBSTR CHARINDEX F23. Vad förstår du med Analysis Services i SQL Server?
F24. Vad förstår du med Mirroring och nämner fördelarna med Mirroring?
F25. När tycker du att en utvecklare ska använda SQL Server-baserade markörer?
F26. Vilken roll spelar databasdesign en roll för prestanda för en SQL Server-baserad applikation?
CREATE FUNCTION samplefunc(@num INT)
RETURNS TABLE
AS
RETURN SELECT * FROM customers WHERE CustId=@num
SELECT * FROM samplefunc(10)
F28. Hur kan du säkerställa att databasen och SQL Server-baserad applikation fungerar bra?
F29. Vad är relationer och nämn olika typer av relationer i DBMS
F30. Vad är joins i SQL och vilka är de olika typerna av joins?
F31. Vad används kommandot DBCC CHECKDB för?
F32. Vad förstår du med CHECK-begränsning i SQL Server?
Exempel:
CREATE TABLE Customer (
Cust_ID int NOT NULL,
FirstName varchar(255),
Age int,
City varchar(255),
CONSTRAINT CHK_Customer CHECK (Age>20 AND City= 'Hyderabad')
);
F33. Vad gör förstår du med COALESCE i SQL Server?
Exempel:
SELECT COALESCE(CustID, CustName, Amount) from Customers;
F34. Förklara användningen av FLOOR-funktionen i SQL Server.
FLOOR(expression)
FLOOR(7.3)
F35. Vilket kommando används för att kontrollera lås i Microsoft SQL Server?
Syntax
sp_lock [ [ @spid1 = ] 'session ID1' ] [ , [@spid2 = ] 'session ID2' ]
[ ; ]
Exempel:
USE SampleDB;
GO
EXEC sp_lock;
GO
F36. Nämn de tre sätten att få en räkning av antalet poster i en tabell.
SELECT * FROM TableName;
SELECT COUNT(*) FROM TableName;
SELECT rows FROM indexes WHERE id = OBJECT_ID(TableName) AND indexid< 2;
F37. Vad är användningen av SIGN-funktionen?
Syntax:
SIGN(number)
Exempel:
SIGN (0) returns 0
SIGN (21) returns 1
SIGN (-21) returns -1
F38. Skriv en SQL-fråga för att hitta första veckodagen i månaden?
SELECT DATENAME(dw, DATEADD(dd, – DATEPART(dd, GETDATE()) + 1, GETDATE())) AS FirstDay;
F39. Nämn kommandot som används för att byta namn på databasen.
sp_renamedb 'OldDatabaseName', 'NewDatabaseName';
F40. Skriv en fråga för att hitta det femte högsta beloppet som betalats från Kundtabellen.
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?
Syntax:
DELETE TableName
Exempel:
DELETE Customers;
Q42. What is the purpose of UPDATE STATISTICS and SCOPE_IDENTITY() function ?
Q43. What do you understand by PHYSICAL_ONLY option in DBCC CHECKDB?
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?
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 Q46. What do you understand by integration services in SQL Server?
Q47. What do you understand by Hotfixes and Patches in SQL Server?
Q48. Can you name a few encryption mechanisms in SQL server?
Q49. What are the options which must be set to allow the usage of optimistic models?
Q50. What are the common performance issues in SQL Server?