Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

50 câu hỏi phỏng vấn máy chủ SQL hàng đầu bạn phải chuẩn bị vào năm 2022

Trong thời đại mà lượng dữ liệu khổng lồ được tạo ra hàng ngày, dữ liệu đóng một vai trò quan trọng trong việc đưa ra quyết định cho hoạt động kinh doanh. Vì vậy, để xử lý dữ liệu, chúng ta cần cơ sở dữ liệu và điều này cho chúng ta cần phải hiểu các hệ quản trị cơ sở dữ liệu. Với nhiều hệ quản trị cơ sở dữ liệu khác nhau, MS SQL Server là một trong những hệ quản trị cơ sở dữ liệu quan hệ phổ biến nhất. Loại DBMS này sử dụng cấu trúc cho phép người dùng xác định và truy cập dữ liệu trong mối quan hệ đến một phần dữ liệu khác trong cơ sở dữ liệu. Vì vậy, biết MS SQL Server sẽ mở ra cánh cửa để bạn trở thành Quản trị viên cơ sở dữ liệu. Tôi tin rằng bạn đã biết về những sự kiện này và điều này đã khiến bạn đến với bài viết Câu hỏi phỏng vấn MS SQL Server này.

Trong bài viết này về Câu hỏi phỏng vấn Microsoft SQL Server, tôi sẽ thảo luận về những câu hỏi hàng đầu liên quan đến MS SQL Server được hỏi trong các cuộc phỏng vấn của bạn. Những câu hỏi này được thu thập sau khi tham khảo ý kiến ​​của những người có kỹ năng xuất sắc trong lĩnh vực này.

Hãy để chúng tôi bắt đầu!

Q1. Đề cập đến sự khác biệt giữa SQL Server và MySQL.

Máy chủ SQL MySQL

Do Microsoft phát triển

Do Oracle phát triển

Phần mềm được cấp phép

Phần mềm nguồn mở

Hỗ trợ C #, Java C ++, PHP, Visual Basic, Perl, Python, Ruby, v.v.

Hỗ trợ PHP, Perl, Python, Ruby, v.v.

Không cho phép bất kỳ loại thao tác tệp cơ sở dữ liệu nào trong khi chạy

Cho phép thao tác tệp cơ sở dữ liệu trong khi chạy.

Cho phép hủy truy vấn giữa chừng

Không cho phép hủy truy vấn giữa chừng trong quá trình này.

Trong khi sao lưu dữ liệu, Nó không chặn cơ sở dữ liệu

Trong khi sao lưu dữ liệu, nó sẽ chặn cơ sở dữ liệu

Chiếm một lượng lớn không gian lưu trữ hoạt động.

Tốn ít dung lượng lưu trữ hoạt động hơn.

Khả dụng ở chế độ Express và Custom.

Có trong MySQL Community Edition và MySQL Enterprise Edition

Q2. Bạn hiểu gì về SQL Server Agent?

SQL Server Agent là một dịch vụ Windows được sử dụng để lập lịch và thực thi công việc. Ở đây, mỗi công việc chứa một hoặc nhiều bước và mỗi bước chứa một nhiệm vụ. Vì vậy, Server Agent sử dụng SQL Server để lưu trữ thông tin công việc và chạy công việc theo lịch trình.

Các thành phần chính của SQL Server Agent là Công việc, Lịch biểu, Toán tử và Cảnh báo.

Ví dụ:

Nếu doanh nghiệp muốn sao lưu các máy chủ của công ty vào lúc 9:00 tối thứ Sáu hàng tuần, thì bạn rất có thể tự động hóa tác vụ này để lịch trình tự diễn ra . Trong một tình huống, bản sao lưu gặp lỗi, SQL Server Agent ghi lại sự kiện và thông báo cho nhóm tương ứng.

Q3. Đề cập đến các chế độ xác thực khác nhau trong SQL Server.

Trước khi tôi cho bạn biết các chế độ xác thực khác nhau trong SQL Server, hãy để tôi cho bạn biết rằng chế độ xác thực được sử dụng để xác thực người dùng trong SQL Server. Chế độ xác thực được chọn trong khi thiết lập công cụ cơ sở dữ liệu. Vì vậy, nếu bạn muốn biết cách thiết lập Microsoft SQL Server, bạn có thể tham khảo bài viết của tôi.

Các chế độ xác thực khác nhau được cung cấp bởi SQL SERVER như sau:

  • Chế độ xác thực Windows: Chế độ này được sử dụng để kết nối máy chủ thông qua tài khoản Windows. Tại đây, máy chủ lấy tên người dùng và mật khẩu của máy tính cho mục đích xác thực. Ngoài ra, chế độ xác thực máy chủ SQL bị tắt trong chế độ này.
  • Chế độ hỗn hợp: Chế độ Hỗn hợp được sử dụng để kết nối với một phiên bản của SQL Server bằng cách sử dụng xác thực SQL Server hoặc xác thực Windows. Trong chế độ này, người dùng đặt tên người dùng và mật khẩu cho cơ sở dữ liệu.

Q4. Đề cập đến sự khác biệt giữa bảng tạm thời cục bộ và toàn cầu.

Bảng tạm thời cục bộ Bảng Tạm thời Toàn cầu

Các bảng này chỉ tồn tại trong khoảng thời gian kết nối hoặc thời lượng của câu lệnh đó.

Các bảng này tồn tại vĩnh viễn trong cơ sở dữ liệu và chỉ các hàng bị xóa khi kết nối bị đóng.

Cú pháp: TẠO BẢNG #

Cú pháp: TẠO BẢNG ##

Q5. Làm cách nào để bạn có thể kiểm tra phiên bản của SQL Server?

Để kiểm tra phiên bản của SQL Server, bạn có thể sử dụng lệnh sau:

SELECT @@version

VERSION @@ cung cấp đầu ra dưới dạng một chuỗi nvarchar.

Q6. Chế độ một người dùng là gì và các bước bạn nên làm theo để khởi động SQL Server ở chế độ một người dùng là gì?

Có thể thường xảy ra trường hợp bạn muốn khởi động một phiên bản của SQL Server ở chế độ một người dùng. Bạn có thể làm điều này, khi bạn muốn khôi phục dữ liệu từ các hệ thống cơ sở dữ liệu khác hoặc có thể muốn thay đổi cấu hình máy chủ.

Khi bạn khởi động SQL Server ở chế độ một người dùng, bất kỳ thành viên nào trong nhóm Quản trị viên cục bộ của máy tính đều được kết nối với phiên bản của SQL Server dưới dạng sysadmin.

Các sự kiện sau xảy ra khi khởi động cơ sở dữ liệu ở chế độ một người dùng:

  • Một người dùng duy nhất kết nối với máy chủ.
  • KIỂM TRA quy trình không được thực thi vì nó được thực thi theo mặc định khi khởi động.

Ngoài ra, lưu ý rằng bạn phải dừng dịch vụ SQL Server Agent trước khi kết nối với một phiên bản của SQL Server ở chế độ một người dùng.

  • Để khởi động SQL Server ở chế độ một người dùng, hãy sử dụng lệnh: sqlcmd –m
  • Để kết nối thông qua Trình soạn thảo Truy vấn trong Management Studio, hãy sử dụng: -m"Microsoft SQL Server Management Studio - Query".

Q7. SQL Server Profiler là gì?

Microsoft SQL Server Profiler là một giao diện được sử dụng để tạo và quản lý dấu vết. Nó cũng phân tích và phát lại các kết quả theo dõi. Tại đây, các sự kiện được lưu trong tệp theo dõi, tệp này sau đó sẽ được phân tích hoặc sử dụng để phát lại một loạt các bước cụ thể trong khi gỡ lỗi sự cố.

Bạn có thể sử dụng SQL Server Profiler cho các hoạt động như:

  1. Tìm ra nguyên nhân sâu xa của vấn đề
  2. Giám sát hiệu suất của SQL Server để xử lý khối lượng công việc.
  3. Chẩn đoán các truy vấn chậm
  4. Ghi lại một loạt các câu lệnh SQL gây ra sự cố, để tiếp tục tái tạo sự cố trên máy chủ thử nghiệm, đồng thời khắc phục sự cố.
  5. Nó cũng giúp so sánh giữa các bộ đếm hiệu suất để gỡ lỗi các vấn đề một cách dễ dàng.

Q8. Cổng TCP / IP mà Máy chủ SQL chạy trên đó là gì?

Cổng TCP / IP mà SQL Server chạy là 1433.

Q9. Truy vấn con trong máy chủ SQL là gì? Giải thích các thuộc tính của nó.

Truy vấn con là một truy vấn bên trong một truy vấn khác trong đó truy vấn được xác định để lấy lại dữ liệu hoặc thông tin từ cơ sở dữ liệu. Trong một truy vấn con, truy vấn bên ngoài được gọi là truy vấn chính trong khi truy vấn bên trong được gọi là truy vấn con. Truy vấn con luôn được thực hiện đầu tiên và kết quả của truy vấn con được chuyển đến truy vấn chính. Nó có thể được lồng vào bên trong một câu lệnh CHỌN, CẬP NHẬT hoặc bất kỳ truy vấn nào khác. Một truy vấn con cũng có thể sử dụng bất kỳ toán tử so sánh nào như>,

Các thuộc tính của truy vấn con như sau:

  • Phải được đặt trong dấu ngoặc đơn vì nó phải được thực thi đầu tiên trước truy vấn chính
  • Có thể đưa vào nhiều truy vấn.
  • Một truy vấn phụ không được có mệnh đề ORDER BY nhưng có thể bao gồm WHERE, GROUP BY và HAVING CLAUSE
  • Truy vấn con phải nằm ở bên phải toán tử so sánh của truy vấn chính
  • Truy vấn con phải bao gồm mệnh đề SELECT và mệnh đề FROM.

Q10. Làm cách nào để bạn bắt đầu chế độ người dùng đơn lẻ trong nhóm cài đặt?

Trong cài đặt theo cụm, Máy chủ SQL sử dụng kết nối có sẵn DLL và do đó chặn mọi kết nối khác tới máy chủ.

Trong trạng thái này, nếu bạn cố gắng đưa tài nguyên SQL Server Agent trực tuyến thì nó có thể bị lỗi khi chuyển tài nguyên SQL đến một nút khác vì nó có thể được định cấu hình thành một nhóm. Vì vậy, để bắt đầu một chế độ người dùng duy nhất trong cài đặt theo nhóm, bạn có thể làm theo các bước sau:

  1. Đi tới thuộc tính nâng cao loại bỏ -m tham số khởi động.
  2. Bây giờ, hãy đặt tài nguyên SQL Server ở chế độ ngoại tuyến.
  3. Đưa ra lệnh sau từ dấu nhắc lệnh và đảm bảo rằng bạn đang ở nút chủ sở hữu hiện tại của nhóm:
    net start MSSQLSERVER /m.
  4. Tiếp theo, bạn phải xác minh từ quản trị viên cụm hoặc không qua bảng điều khiển quản lý cụm rằng tài nguyên SQL Server vẫn ngoại tuyến hay không.
  5. Sau đó, kết nối với SQL Server bằng cách sử dụng lệnh sau và thực hiện thao tác bắt buộc:SQLCMD -E -S<servername>.
  6. Khi một thao tác hoàn tất, bạn phải đóng dấu nhắc lệnh, sau đó đưa SQL và các tài nguyên khác trở lại trực tuyến thông qua quản trị viên cụm.

Q11. Bạn hiểu gì về sao chép trong SQL Server? Đề cập đến các kiểu sao chép khác nhau trong SQL Server.

Sao chép trong Microsoft SQL Server là quá trình đồng bộ hóa dữ liệu trên nhiều máy chủ. Điều này thường được thực hiện bởi một tập hợp bản sao và những tập hợp này cung cấp nhiều bản sao dữ liệu với khả năng dự phòng và tính sẵn sàng cao trên các máy chủ khác nhau.

Không chỉ điều này, mà việc nhân rộng còn cung cấp một cơ chế để phục hồi sau các lỗi. Nó cũng loại bỏ các phần phụ thuộc khỏi một máy chủ để bảo vệ việc mất dữ liệu từ một máy chủ.

Sau đây là ba kiểu sao chép trong SQL Server:

  1. Nhân rộng Hợp nhất: Bản sao này nhóm dữ liệu từ nhiều nguồn khác nhau vào một cơ sở dữ liệu tập trung duy nhất và được sử dụng trong máy chủ với môi trường khách.
  2. Sao chép Giao dịch: Bản sao này là một quá trình phân phối dữ liệu từ nhà xuất bản đến người đăng ký và được sử dụng trong môi trường máy chủ đến máy chủ.
  3. Sao chép Ảnh chụp nhanh: Bản sao này phân phối dữ liệu chính xác như nó xuất hiện tại một thời điểm cụ thể và được sử dụng để sao chép dữ liệu, dữ liệu này không thường xuyên thay đổi.

Q12. Sự khác biệt giữa MS SQL Server và Oracle là gì?

MS SQL Server Oracle

Cung cấp cú pháp đơn giản và dễ dàng.

Bao gồm cú pháp phức tạp và tương đối hiệu quả hơn.

Sử dụng SQL giao dịch hoặc T-SQL.

Sử dụng PL / SQL

Không hỗ trợ tối ưu hóa truy vấn.

Sử dụng tối ưu hóa truy vấn theo dấu sao.

Không cho phép khôi phục trong quá trình giao dịch.

Được phép khôi phục trong quá trình giao dịch.

Cho phép sao lưu gia tăng, từng phần và toàn bộ

Cho phép sao lưu gia tăng, đầy đủ, cấp độ tệp và chênh lệch.

Không hỗ trợ phân nhóm.

Cung cấp hỗ trợ cho cấu hình theo nhóm.

Các câu lệnh như INSERT, UPDATE, DELETE được thực thi tuần tự.

Các câu lệnh như INSERT, UPDATE, DELETE, MERGE được thực thi song song.

Công việc được lên lịch thông qua SQL Server Agent

Công việc được lên lịch thông qua bộ lập lịch Oracle hoặc OEM

Q13. Bạn hiểu gì về khóa INTENT?

Microsoft SQL Server sử dụng phân cấp khóa bất cứ khi nào dữ liệu được đọc hoặc có điều gì đó được thay đổi trong dữ liệu. Bất cứ khi nào một hàng được đọc, SQL Server nhận được một khóa chia sẻ. Tương tự, ngay sau khi chúng tôi thay đổi một hàng, SQL Server có được một khóa Độc quyền. Các ổ khóa này không tương thích với nhau. Vì vậy, khóa INTENT được sử dụng để chỉ ra ở cấp cao hơn những khóa nào được áp dụng trong hệ thống phân cấp khóa. Chủ yếu có ba loại khóa INTENT:

  1. Khóa Chia sẻ Ý định (IS): Khóa này được sử dụng khi bạn có một khóa dùng chung ở cấp hàng.
  2. Khoá Cập nhật Ý định (IU): Khóa cập nhật Ý định được sử dụng khi bạn có khóa cập nhật ở cấp hàng.
  3. Khóa Độc quyền Intext (IX): Khóa này được sử dụng khi bạn có một khóa riêng ở cấp hàng.

Q14. Các bước bạn phải làm theo để ẩn các phiên bản SQL Server là gì?

Các bước bạn phải làm theo để ẩn các phiên bản SQL Server như sau:

  • Mở Trình quản lý Cấu hình Máy chủ SQL và mở rộng Cấu hình Mạng Máy chủ SQL.
  • Sau đó, chuyển đến Giao thức chọn phiên bản của SQL Server .
  • Sau đó, nhấp chuột phải vào phiên bản và chọn Thuộc tính

  • Tiếp theo, trong hộp Ẩn Phiên bản , chuyển đến trên tab Cờ và chọn .
  • Cuối cùng, nhấp vào OK, và đóng hộp thoại.

Q15. Bạn hiểu gì về các dịch vụ chất lượng dữ liệu trong SQL Server?

Dịch vụ chất lượng dữ liệu trong SQL Server là sản phẩm chất lượng dữ liệu theo hướng tri thức. Dịch vụ chất lượng dữ liệu SQL Server (DQS) cho phép người dùng xây dựng cơ sở kiến ​​thức và sau đó sử dụng nó để thực hiện các tác vụ như sửa chữa, sao chép, bổ sung, chuẩn hóa dữ liệu.

Ngoài ra, DQS cũng cung cấp cấu hình và cho phép bạn thực hiện làm sạch dữ liệu với sự trợ giúp của các dịch vụ dữ liệu dựa trên đám mây.

DQS bao gồm hai thành phần:

  • Máy chủ Chất lượng Dữ liệu: Đây là một tính năng phiên bản SQL Server bao gồm ba danh mục SQL Server với chức năng và lưu trữ chất lượng dữ liệu
  • Ứng dụng khách Chất lượng Dữ liệu: Đây là một tính năng của SQL Server mà người dùng có thể sử dụng để thực hiện phân tích chất lượng dữ liệu do máy tính hỗ trợ và quản lý chất lượng dữ liệu của họ một cách tương tác.

Q16. Giải thích Magic Tables trong máy chủ SQL

Magic Tables là các bảng được tạo tự động trong SQL Server được sử dụng để lưu trữ nội bộ các giá trị được chèn, cập nhật cho các hoạt động DML như (CHỌN, XÓA, CHÈN, CẬP NHẬT, v.v.).

Q17. Bạn hiểu gì bằng Thay đổi thu thập dữ liệu ?

Change Data Capture hay thường được gọi là CDC được sử dụng để ghi lại các hoạt động CHÈN, CẬP NHẬT, XÓA được áp dụng trên bảng. Vì vậy, như tên cho thấy, Change Data Capture được sử dụng để thu thập dữ liệu đã được thay đổi gần đây. Thông tin cột và siêu dữ liệu cần thiết để áp dụng các thay đổi cho môi trường đích được ghi lại cho các hàng đã sửa đổi và cuối cùng được lưu trữ trong các bảng thay đổi. Các bảng thay đổi này là hình ảnh phản chiếu của cấu trúc cột ban đầu.

Q18. Bạn hiểu gì về trình kích hoạt và đề cập đến các loại khác nhau của nó?

Trình kích hoạt được sử dụng để thực thi hàng loạt mã SQL bất cứ khi nào các lệnh INSERT, DELETE hoặc UPDATE được thực thi trên một bảng. Vì vậy, về cơ bản các trình kích hoạt được thực thi tự động bất cứ khi nào dữ liệu được sửa đổi dựa trên các hoạt động thao tác dữ liệu.

Các loại trình kích hoạt khác nhau như sau:

  1. CHÈN
  2. CẬP NHẬT
  3. XÓA
  4. INSTEAD OF

Q19. Bạn hiểu gì bằng thủ tục lưu trữ đệ quy?

Thủ tục được lưu trữ đệ quy là một phương pháp giải quyết vấn đề mà qua đó bạn có thể đi đến giải pháp nhiều lần.

Q20. Giải thích Vận chuyển Nhật ký và đề cập đến những ưu điểm của nó.

Quá trình tự động hóa sao lưu để khôi phục cơ sở dữ liệu từ một máy chủ độc lập này sang một máy chủ dự phòng độc lập khác được gọi là Log Shipping. Bạn cũng có thể hiểu Vận chuyển nhật ký là một trong những giải pháp khôi phục thảm họa, vì nó đảm bảo rằng ngay cả khi một máy chủ bị lỗi, máy chủ dự phòng sẽ có cùng dữ liệu với dữ liệu của chính máy chủ đó.

Những ưu điểm của Vận chuyển bằng Log như sau:

  • Yêu cầu bảo trì thấp và dễ thiết lập
  • Cơ sở dữ liệu thứ cấp đã tạo được sử dụng cho mục đích chỉ đọc.
  • Bạn có thể tạo nhiều máy chủ dự phòng phụ
  • Cho phép thời gian trễ do người dùng chỉ định trong khoảng thời gian giữa máy chủ chính sao lưu nhật ký của cơ sở dữ liệu chính khi máy chủ phụ khôi phục (áp dụng) sao lưu nhật ký.

Q21. Cờ theo dõi và là gì đề cập đến một số cờ theo dõi phổ biến được sử dụng với SQL Server?

Các cờ này được sử dụng để thay đổi hành vi của máy chủ hoặc thiết lập các đặc tính của máy chủ. Một số cờ theo dõi phổ biến được sử dụng với SQL Server như sau

  • 1204, 1205, 1222 - Các cờ này được sử dụng cho Thông tin về bế tắc.
  • 174 - Cờ theo dõi này tăng số lượng nhóm bộ nhớ cache của kế hoạch SQL Server Database Engine từ 40,009 lên 160,001 trên hệ thống 64 bit.
  • 1118 - Buộc phân bổ phạm vi thống nhất thay vì phân bổ trang hỗn hợp - (SQL 2005 và 2008) Để giảm bớt sự tranh chấp TempDB.
  • 652 - Cờ theo dõi này vô hiệu hóa tính năng quét tìm nạp trước của trang.
  • 2566 - Được sử dụng để chạy lệnh DBCC CHECKDB mà không cần kiểm tra độ tinh khiết của dữ liệu, trừ khi tùy chọn DATA_PURITY được chỉ định.

Q22. Đề cập đến sự khác biệt giữa SUBSTR và CHARINDEX trong SQL Server.

SUBSTR CHARINDEX

Được sử dụng để trả về một phần cụ thể của chuỗi trong một chuỗi đã cho

Được sử dụng để trả về vị trí ký tự trong một chuỗi được chỉ định nhất định

Ví dụ:

SUBSTRING (‘Edureka’, 1,4)

Đầu ra:

Người chỉnh sửa

Ví dụ:

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

Đầu ra:

4

Q23. Bạn hiểu gì về Dịch vụ Phân tích trong SQL Server?

Dịch vụ Phân tích trong Microsoft SQL Server là một công cụ dữ liệu phân tích được sử dụng trong phân tích kinh doanh và hỗ trợ quyết định. Dịch vụ này cung cấp các mô hình ngữ nghĩa cấp doanh nghiệp cho các ứng dụng khách và báo cáo như Power BI, Microsoft Excel và các công cụ trực quan hóa khác.

Dịch vụ Phân tích có sẵn trên các nền tảng như:

  1. Dịch vụ Phân tích Azure
  2. Power BI Premium
  3. Dịch vụ phân tích máy chủ SQL

Q24. Bạn hiểu gì về Mirroring và nêu những ưu điểm của Mirroring?

Phản chiếu trong SQL Server được thiết kế để duy trì một máy chủ chờ nóng, phù hợp với máy chủ chính về mặt giao dịch. Ngoài ra, các bản ghi nhật ký giao dịch được gửi từ máy chủ chính đến máy chủ phụ.

Sau đây là những ưu điểm của Phản chiếu:

  1. Bao gồm cơ chế tự động sửa lỗi.
  2. Hiệu quả hơn Vận chuyển bằng nhật ký và mạnh mẽ hơn.
  3. Máy chủ chính được đồng bộ hóa với máy chủ phụ trong thời gian thực

Q25. Bạn nghĩ khi nào nhà phát triển nên sử dụng con trỏ dựa trên SQL Server?

Con trỏ dựa trên SQL Server được sử dụng khi bạn muốn làm việc trên bản ghi bất kỳ lúc nào, thay vì lấy hàng loạt dữ liệu từ một bảng. Tuy nhiên, con trỏ không được ưu tiên sử dụng khi có khối lượng lớn dữ liệu vì nó ảnh hưởng đến hiệu suất. Trong trường hợp không thể tránh được con trỏ, hãy cố gắng giảm số lượng bản ghi cần xử lý bằng cách sử dụng bảng tạm thời và cuối cùng tạo con trỏ từ bảng này.

Q26. Phần thiết kế cơ sở dữ liệu đóng vai trò gì trong hiệu suất của ứng dụng dựa trên SQL Server?

Thiết kế vật lý và logic đóng một phần quan trọng trong hiệu suất của các ứng dụng dựa trên SQL Server. Chúng ta cần đảm bảo rằng dữ liệu chính xác được ghi lại trong các bảng thích hợp, các mục dữ liệu có mối quan hệ thích hợp giữa chúng và giảm bớt sự dư thừa dữ liệu. Tôi cũng đề nghị rằng trong khi bạn thiết kế cơ sở dữ liệu, hãy đảm bảo rằng đó là một quá trình lặp đi lặp lại để đạt được tất cả các mục tiêu hệ thống cần thiết và luôn được quan sát. Một khi thiết kế cơ sở dữ liệu đã được thiết lập, rất khó để thay đổi thiết kế theo yêu cầu. Bạn chỉ có thể thêm các mối quan hệ và các mục dữ liệu mới.

Q27. Bạn hiểu gì về hàm do người dùng xác định trong SQL Server và giải thích các bước để tạo và thực thi một hàm do người dùng xác định trong SQL Server?

Hàm do người dùng xác định là một hàm được viết theo nhu cầu của người dùng bằng cách triển khai logic. Trong các loại chức năng này, người dùng không bị giới hạn ở các chức năng được xác định trước và đơn giản hóa mã phức tạp của chức năng được xác định trước bằng cách viết mã đơn giản. Hàm này trả về một giá trị vô hướng hoặc một bảng.

Để tạo một hàm do người dùng xác định, hãy tham khảo ví dụ sau:

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

Để thực hiện hàm được tạo ở trên, hãy tham khảo lệnh sau:

SELECT * FROM samplefunc(10)

Q28. Làm cách nào bạn có thể đảm bảo rằng cơ sở dữ liệu và ứng dụng dựa trên SQL Server hoạt động tốt?

Nhà phát triển phải kiểm tra loại thông tin được lưu trữ, khối lượng dữ liệu và dữ liệu sẽ được truy cập.

Trong trường hợp bạn đang nâng cấp hệ thống hiện có, bạn nên phân tích dữ liệu hiện tại, khối lượng dữ liệu hiện có xảy ra và kiểm tra phương pháp mà dữ liệu được truy cập, để giúp bạn hiểu các lĩnh vực vấn đề cho thiết kế.

Trong một tình huống, khi bạn đang sử dụng một hệ thống mới, bạn phải giữ thông tin về dữ liệu nào sẽ được thu thập cũng như các thành phần của dữ liệu và mối quan hệ giữa các mục dữ liệu.

Q29. Mối quan hệ là gì và đề cập đến các loại mối quan hệ khác nhau trong DBMS

Mối quan hệ trong DBMS là tình huống mà hai thực thể có liên quan với nhau. Trong trường hợp như vậy, bảng bao gồm các tham chiếu khóa ngoại đến khóa chính của bảng khác.

Các kiểu quan hệ khác nhau trong DBMS như sau:

  • Mối quan hệ 1-1 - Được sử dụng khi một hàng trong Bảng A có liên quan đến một hàng trong Bảng B.
  • Mối quan hệ Một-Nhiều - Được sử dụng khi một hàng trong bảng A có liên quan đến nhiều hàng trong bảng B.
  • Mối quan hệ Nhiều-Nhiều - Được sử dụng khi nhiều hàng trong bảng A có thể liên quan đến nhiều hàng trong bảng B.
  • Mối quan hệ tự tái hội nghị - Được sử dụng khi một bản ghi trong bảng A có liên quan đến bản ghi trong cùng một bảng.

Q30. Các phép nối trong SQL là gì và các loại phép nối khác nhau là gì?

Mệnh đề JOIN được sử dụng để kết hợp các hàng từ hai hoặc nhiều bảng, dựa trên một cột có liên quan giữa chúng. Nó được sử dụng để hợp nhất hai bảng hoặc lấy dữ liệu từ đó. Có 4 phép nối trong SQL là:

  • Tham gia nội bộ
  • Tham gia phù hợp
  • Tham gia còn lại
  • Tham gia đầy đủ

Q31. Lệnh DBCC CHECKDB được sử dụng để làm gì?

Lệnh DBCC CHECKDB được sử dụng để kiểm tra tính toàn vẹn vật lý và logic của tất cả các đối tượng trong cơ sở dữ liệu được đề cập. Để làm điều đó, nó thực hiện các hoạt động sau:

  • Chạy DBCC CHECKALLOC trên cơ sở dữ liệu được đề cập.
  • Trên mọi bảng và dạng xem trong cơ sở dữ liệu, DBCC CHECKTABLE lệnh được thực thi.
  • Chạy DBCC CHECKCATALOG trên cơ sở dữ liệu.
  • Sau đó, nó xác thực nội dung của mọi chế độ xem được lập chỉ mục trong cơ sở dữ liệu được đề cập.
  • Nó cũng xác nhận tính nhất quán ở cấp độ liên kết giữa các thư mục hệ thống tệp và siêu dữ liệu bảng trong khi lưu trữ dữ liệu varbinary (max) trong hệ thống tệp bằng FILESTREAM.
  • Cuối cùng, nó xác thực dữ liệu Service Broker trong cơ sở dữ liệu.

Vì vậy, bạn chỉ cần thực hiện lệnh DBCC CHECKDB và tự động các lệnh DBCC CHECKALLOC, DBCC CHECKTABLE hoặc DBCC CHECKCATALOG sẽ được thực thi.

Ngoài ra, lưu ý rằng DBCC được hỗ trợ trên cơ sở dữ liệu có chứa các bảng được tối ưu hóa bộ nhớ nhưng không cung cấp các tùy chọn sửa chữa. Điều này ngụ ý rằng bạn phải thường xuyên sao lưu cơ sở dữ liệu và kiểm tra các bản sao lưu đó.

Q32. Bạn hiểu gì về ràng buộc KIỂM TRA trong SQL Server?

Ràng buộc CHECK trong SQL Server được sử dụng để giới hạn các giá trị hoặc kiểu dữ liệu được lưu trữ trong một cột. Khi bạn áp dụng ràng buộc KIỂM TRA trên một cột, bạn có thể tiếp tục và áp dụng các giá trị cụ thể cho cột cụ thể đó.

Ví dụ:

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. Làm gì bạn hiểu bằng COALESCE trong SQL Server?

Hàm này được sử dụng để trả về biểu thức không rỗng đầu tiên trong các đối số. Lệnh COALESCE được sử dụng để trả về một giá trị không rỗng từ nhiều hơn một cột trong các đối số.

Ví dụ:

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

Q34. Giải thích cách sử dụng hàm FLOOR trong SQL Server.

Hàm FLOOR được sử dụng để làm tròn một giá trị không phải số nguyên thành giá trị nguyên nhỏ nhất trước đó. Hàm này trả về một giá trị duy nhất sau khi làm tròn các chữ số.

Cú pháp:

FLOOR(expression)

Ví dụ:

FLOOR(7.3)

Q35. Lệnh nào được sử dụng để kiểm tra khóa trong Microsoft SQL Server?

Để kiểm tra các ổ khóa trong cơ sở dữ liệu, bạn có thể sử dụng quy trình được lưu trữ sẵn sp_lock.

Cú pháp

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

Ví dụ:

Để liệt kê tất cả các ổ khóa hiện đang được giữ trong một phiên bản của Công cụ cơ sở dữ liệu, hãy sử dụng lệnh sau:

USE SampleDB;  
GO  
EXEC sp_lock;  
GO  

Q36. Đề cập đến 3 cách để đếm số lượng bản ghi trong bảng.

Sau đây là ba cách để đếm số lượng bản ghi trong bảng:

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

Q37. Việc sử dụng hàm SIGN là gì?

Hàm này được sử dụng để xác định xem số được đề cập là số 0, số dương và số âm. Vì vậy, nó sẽ trả về 0, +1, -1.

Cú pháp:

SIGN(number)

Ví dụ:

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

Q38. Viết Truy vấn SQL để tìm ngày trong tuần đầu tiên của tháng?

Để tìm ngày của tuần đầu tiên của tháng, bạn có thể viết một truy vấn như sau:

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

Q39. Đề cập đến lệnh được sử dụng để đổi tên cơ sở dữ liệu.

Để đổi tên cơ sở dữ liệu, bạn phải sử dụng lệnh sp_renameb theo cách sau:

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.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm cách nào để chèn một bản ghi chỉ có các giá trị mặc định?

  2. Cách trả lại giá trị chuyển đổi hàng hiện tại cho cơ sở dữ liệu máy chủ SQL (Ví dụ T-SQL)

  3. Xóa cấu hình thư cơ sở dữ liệu (SSMS)

  4. Cách tạo khóa ngoại tổng hợp trong SQL Server (Ví dụ T-SQL)

  5. Bộ xử lý có thể mở rộng Intel Xeon và SQL Server 2017