MS SQL Questions

Windows, .NET, Database Questions
This is a set of more than a hundered Microsoft SQL Server question. Some questions are open-ended, and some do not have answers.
Q1. What is normalization?
Ans: A relational database is basically composed of tables that contain related data. The process of organizing this data into the tables is referred to as normalization
Q2. What is a Stored Procedure?
Ans: It is a set of T-SQL statements combined to perform a single task of several tasks. Its basically like a Macro, when you invoke the stored procedure, you actually run a set of statements
Q3. Can you give an example of Stored Procedure?
Ans: sp_helpdb, sp_who2, sp_renamedb are a set of system defined stored procedures. We can also have user defined stored procedures which can be called in similar way
Q4. What is a trigger?
Ans: Triggers are basically used to implement business rules. Triggers is also similar to stored procedures. The difference is that it can be activated when the data is added or edited or deleted from a table in a database
Q5. What is a View?
Ans: If we have several tables in a db and we want to view only specific columns from specific tables we can go for views. it would suffice the needs of security some times allowing specific users to see only specific columns based on the permission that we configure on the view. Views also reduce the effort that is required for writing queries to access specific columns every time.
Q6. What is an Index?
Ans: When queries are run against a db, an index on that db basically helps in the way the data is sorted to process the query for faster and data retrivals are much faster when we have index
Q7. What are the types of Index available with SQL server?
Ans: There are basically two types of Indexes that we use with the SQL Server. Clustered and the non-clustered
Q8. What is the basic difference between clustered and non-clustered index?
Ans: Clustered Index: It is unique for any given table and we can have only one clustered index on a table. The leaf of a clustered index is the actual data is resorted in case of clustered index.
Non-clustered Index: The leaf level is actually a pointer to the data in rows so we can have have as many non-clustered index as we can on the db
Q9. What are cursors?
Ans: Cursors helps to do an operation on a set of data that we retreieve by commands such as select columns from table. For an example: If we have duplicate records in a tble we can remove it by declaring which would check the records during retrevial one and remove rows which have duplicate values
Q10. When do we use UPDATE_STATISTICS coomand?
Ans: This command is basically used when we do a large processing of data. If we do a large amount of deletions any modification or bulk copy into the tables, we need to basically update the indexes to take these changes into account. UPDATE_STATISTICS updates the indexes on these tables accordingly
Q11. Which TCP/IP port does SQL run on?
Ans: SQL Server runs on port 1433 but can also change it for better security
Q12. From where can you change the default port?
Ans: From the Network Utility TCP/IP properties --> Port number. Both on client and the server
Q13. What are the difference between DELETE & TRUNCATE commands?
Ans: Delete command removes the rows from a table based on the condition that we provide with a WHERE clause. Truncate will actually removes all the rows from a table and there will be no data in the table after we run the truncate command
Q14. Can we use truncate command on a table which is referenced by foreign key?
Ans: No. We cannot use truncate command on a table with foreign key because of referential integrity
Q15. What is the use of DBCC commands?
Ans: DBCC stands for database consistency checker. We use these commands to check the consistency of the datases, i.e, maintenance, validation task and status checks
Q16. Can you give some DBCC command options? 
Ans: (Database consistency check) DBCC CHECKDB - Ensures that tables in the db and the indexes are correctly linked and DBCC CHECKALLOC - To check that all pages in a db are correctly allocated. DBCC SQLPERF - It gives report on current usage of transaction log in percentage. DBCC CHECKFLEGROUP - Checks all group for any damage
Q17. What command do we use to rename a db?
Ans: sp_renamedb 'oldname', 'newname' 
Q18. Sometimes sp_renamedb may not work because if someone is using db it will not accept this command. What do you think you can do in such cases?
Ans: In such cases we can first bring to db to single user using sp_dboptions and then we can rename that db and then we can rerun the sp_dboptions command to remove the single user mode
Q19. What is the difference between a HAVING CLAUSE and a WHERE CLAUSE?
Ans: Having Clause is basically used only with the GROUP BY function in a query. WHERE Clause is applied to each row before they are part of the GROUP BY function in a query
Q20. What is meant by COLLATION?
Ans: Collation is basically the sort order. There are three types of sort order Dictionary case sensitive, Dictonary -case insensitive and Binary
Q21. What is Join in SQL Server?
Ans: Join puts data from two or more tables into a single result set
Q22. Can you explain the types of joins that we can have with Sql Server?
Ans: There are three types of joins: Inner Join, Outer Join, Cross Join
Q23. When do ou use SQL Profiles?
Ans: SQL Profiler utility allows us to basically track connections to the SQL Server and also determine activities such as which SQL Scripts are running, failed jobs etc.,
Q24. What are Linked Server?
Ans: Linked Servers is a concept in SQL Server by which we can add other SQL Server to a Group and query both the SQL Server dbs using T-SQL statements
Q25. Can you link only other SQL Servers or any database servers such as Oracle?
Ans: We can link any server provided we have the OLE-DB provider from Microsoft to allow link. For Oracle we have OLE_DB provider for oracle that Microsoft provides to add it as a linked server to the sql server group
Q26. Which stored procedure will you be running to add a linked server?
Ans: sp_addlinkedserver, sp_addlinkedsrvlogin
Q27. What are the OS services that the SQL Server installation adds?
Ans: MS SQL SERVER SERVICE, SQL AGENT SERVICE, DTC (Distribution transac coordinator)
Q28. Can you explain the role of each server?
Ans: SQL SERVER - It is for running the databases
SQL AGENTIt is for automation such as Jobs, DB Maintaince
Backups DTC - It is for linking and connecting to other SQL Servers
Q29. How do you troubleshoot SQL Server if its running very slow?
Ans: First check the processor and memory usage to see that processor is not above 80% utilization and memory not above 40-45% utilization then check the disk utilization using performance monitor. Secondly, use SQL profiler to check for the users and current SQL activites and jobs running which might be a problem. Third would be to run UPDATE_STATISTICS command to update the indexes
Q30. Lets say due to Network or security issues client is not able to connect to server or vice versa. How do you troubleshoot?
Ans: First, I will look to ensure that port settings are proper on server and client network utility for conncetions. ODBC is properly configured at client end for connection - Makepipe & readpipe are utilities to check for connections. Makepipe is to run on server and readpipe on client to check any conncetion issues
Q31. What are the authentication modes in SQL Server? 
Ans: Windows mode and mixed mode (SQL & Windows)
Q32. Where do you think the users names and passwords will be stored in sql server?
Ans: They get stored in master db in the sysxlogins table
Q33. What is log shipping? Can we do logshipping with SQL Server 7.0?
Ans: Logshipping is a new feature of SQL Server 2000. We should have two SQL Server - Enterprise Editions. From Enterprise Manager we can configure the logshipping. In logshipping the transactional log file from one server is automatically updated into the backup database on the other server. If one server fails, the other server will have same db and we can use this as the DR (disaster recovery) plan.
Q34. Let us say the SQL Server crashed and you are rebuilding the databases including the master database. What procedure do you follow?
Ans: For restoring the master db we have to stop the SQL Server first and then from command line we can type SQLSERVER -m which will basically bring it into the maintaenance mode after which we can restore the master db
Q35. Let us say master db itself has no backup. Now you have to rebuild the db so what kind of action do you take?
Ans: I am not sure - but I think we have a command to do it
Q36. What is BCP? When do we use it?
Ans: BulkCopy is a tool used to copy huge amount of data from tables and views. But it won't copy the structures of the same.
Q37. What should we do to copy the tables, schema and views from one SQL Server to another?
Ans: We have to write some DTS packages for it.
-- No Answers from here. Sorry! --
Q38. What are the different joins and what does each do?
Q39. What are the four main query statements?
Q40. What is a sub-query? When would you use one?
Q41. What is a NOLOCK?
Q42. What are three SQL keywords used to change or set someone's permissions?
Q43. What is referential integrity? What are the advantages of it?
Q44. What is database normalization?
Q45. Which command using Query Analyzer will give you the version of SQL server and operating system?
Q46. Using query analyzer name three ways to get an accurate count of the number of records in a table?
Q47. What is one of the first things you would do to increase performance of a query?
For example, Boss tells you that "A query that ran yestarday took thirty seconds, but today it takes six minutes"
Q48. What is an execution plan? When would you use it? How would you view the execution plan?
Q49. What is the STUFF function and how does it differ from REPLACE function?
Q50. What does it mean to have quoted_identifier on? What are the implications of having it off?
Q51. What are the different types of replication? How are they used?
Q52. What is the difference between a local and a global variable?
Q53. What is the difference between local temporary and global temporary table? How is each one used?
Q54. What is the purpose of UPDATESTATICS?
Q55. How do you use DBCC statements to monitor various aspects of a SQL server installation?
Q56. How do you load large data to the SQL server database?
Q57. How do you check the performance of a query and how do you optimize it?
Q58. How do SQL server 2000 and XML linked? Can XML be used to access data?
Q59. What is SQL server agent?
Q60. What is the difference between server.tansfer and server.execute method?
Q61. Can we rewrite sub queries into simple select statements or with joins? Can you give an example?
Q62. What is afunction? Give some example
Q63. What is the difference between Function and Procedure in general?
Q64. What is the difference between Function and Stored Procedure?
Q65. Can a stored procedure call another stored procedure? If yes what level and can it be controlled?
Q66. Can a stored procedure call itself (recursive). If yes what level can it be controlled?
Q67. How do you find the number of rows in a table?
Q68. What is a table called, if it does not have neither cluster nor non-clustered Index?
Q69. Explain DBMS, RDBMS?
Q70. Explain basic SQL queries with SELECT from where order by, group by-having?
Q71. Explain the basic concepts of SQL server architecture?
Q72. Explain features of SQL Server (Scalability, Availability, Integration with internet, etc.,)
Q73. Explain the features of SQL server 2000
Q74. How do we upgrade from SQL server 6.5 to 7.0 to 2000
Q75. What is the basic functions for master, msdb, tempdb databases?
Q76. What is a job?
Q77. What are tasks?
Q78. What are primary keys and foreign keys?
Q79. How would you update the rows which are divisible by 10, given a set of numbers in column?
Q80. If a stored procedure is taking a table data type, how does it looks?
Q81. How m-m relationships are implemented?
Q82. How do you know which index a table is using?
Q83. How will you test the stored procedure taking two parameters namely first name and last name returning full name?
Q84. How do you find the error, how can you know the number of rows effected by last SQL statement?
Q85. How can you get @@error and @@rowcount at the same time?
Q86. What are sub-queries? Give example. In which case sub-queries are not feasible?
Q87. Which virtaul table does a trigger use?
Q88. How do you measure the performance of a stored procedure?
Q89. If there is failure during updation of certain rows, what will be the state?

No comments:

Post a Comment