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

Tìm kiếm đối tượng cơ sở dữ liệu và dữ liệu bảng trong SQL Server

Nếu bạn là quản trị viên hoặc nhà phát triển cơ sở dữ liệu SQL Server, bạn cần thường xuyên tìm kiếm các đối tượng cơ sở dữ liệu cụ thể tên mà bạn chỉ có thể nhớ một phần. Cách tiếp cận thủ công để thực hiện các thao tác tìm kiếm này tốn nhiều thời gian, đặc biệt khi cơ sở dữ liệu có một số lượng lớn các đối tượng.

Một kịch bản khác là một kịch bản mà bạn muốn tìm kiếm dữ liệu cụ thể trong tất cả các bảng cơ sở dữ liệu. Trong trường hợp này, bạn cần chạy câu lệnh SELECT nhiều lần dựa trên số lượng bảng hoặc dạng xem cơ sở dữ liệu mà bạn muốn tìm kiếm hoặc viết một con trỏ phức tạp để lặp và tìm kiếm trong tất cả các bảng cơ sở dữ liệu, điều này đòi hỏi kỹ năng phát triển SQL Server nâng cao.

Trong bài viết này, chúng ta sẽ xem xét các cách khác nhau để tìm kiếm một đối tượng cơ sở dữ liệu hoặc dữ liệu cụ thể trong SQL Server, dần dần từ các phương thức tích hợp sẵn và đi sâu vào công cụ 3 bên giúp nó trở thành một miếng bánh để có được cơ sở dữ liệu được yêu cầu. đối tượng hoặc dữ liệu.

Truy vấn sys.objects

Sys.objects là một dạng xem quản lý động hệ thống SQL Server có thể được sử dụng để liệt kê tất cả các đối tượng được xác định trong một cơ sở dữ liệu cụ thể.

Ví dụ:để liệt kê tất cả các đối tượng cơ sở dữ liệu có "Emp" trong tên của chúng, chúng ta có thể truy vấn DMV của hệ thống sys.objects dựa trên tên đối tượng, như trong truy vấn T-SQL bên dưới:

SELECT NAME AS ObjName
    ,schema_name(schema_id) AS SchemaName
	,type AS ObjType
	,type_desc AS ObjTypeDesc
	,create_date
	,modify_date
	FROM sys.objects
WHERE NAME LIKE '%Emp%'
ORDER BY ObjName ASC, ObjType ASC

Và kết quả trả về từ cơ sở dữ liệu thử nghiệm của tôi, với thông tin đầy đủ về tên đối tượng đầy đủ, loại, dữ liệu tạo và sửa đổi, sẽ như dưới đây:

SQL Server Management Studio Object Explorer

Một phương pháp khác có thể được sử dụng để tìm kiếm một đối tượng cơ sở dữ liệu cụ thể trong cơ sở dữ liệu của bạn là SQL Server Management Studio Object Explorer.

Khi sử dụng SQL Server Management Studio để kết nối và quản trị phiên bản SQL Server của bạn, bạn có thể mở Trình khám phá đối tượng bằng cách chọn tùy chọn Chi tiết của Trình khám phá Đối tượng trong trình đơn Xem hoặc chỉ cần nhấn phím F7 , như hình dưới đây:

Khi Trình khám phá đối tượng được mở, bạn có thể tìm kiếm một đối tượng cơ sở dữ liệu cụ thể theo cách sau:

  • duyệt đến cơ sở dữ liệu bạn muốn tìm kiếm
  • viết tên (đầy đủ hoặc một phần) của đối tượng cơ sở dữ liệu trong Tìm kiếm hộp văn bản
  • nhấn Enter để bắt đầu quá trình tìm kiếm

Danh sách tất cả các đối tượng cơ sở dữ liệu đáp ứng tiêu chí tìm kiếm của bạn sẽ được hiển thị như hình dưới đây:

Để đi đến vị trí của một đối tượng cơ sở dữ liệu cụ thể, từ kết quả tìm kiếm Object Explorer đã mở, nhấp chuột phải vào đối tượng cơ sở dữ liệu đó và chọn Đồng bộ hóa tùy chọn, như được hiển thị bên dưới:

Con trỏ sẽ tự động dẫn bạn đến vị trí của đối tượng đó như được hiển thị bên dưới:

SQL Server Management Studio Filtering

SQL Server Management Studio cung cấp cho chúng tôi một cách khác để tìm kiếm và định vị một đối tượng cơ sở dữ liệu cụ thể bằng cách sử dụng Bộ lọc.

Các đối tượng cơ sở dữ liệu có thể được lọc như sau:

  • duyệt đến cơ sở dữ liệu nơi đặt các đối tượng
  • mở rộng nút cơ sở dữ liệu
  • trỏ đến thư mục chứa đối tượng (chẳng hạn như Bảng, Dạng xem, Thủ tục được Lưu trữ hoặc Hàm)
  • nhấp chuột phải vào nút đó và chọn Cài đặt Bộ lọc trong Bộ lọc danh sách tùy chọn, như được hiển thị bên dưới:

Từ Cài đặt bộ lọc đã mở cửa sổ, chọn tiêu chí tìm kiếm mà bạn sẽ sử dụng để xác định đối tượng cơ sở dữ liệu (ví dụ:tên, lược đồ hoặc chủ sở hữu của đối tượng đó, toán tử sẽ được sử dụng trong bộ lọc tìm kiếm). Ví dụ, bạn có thể tìm kiếm một đối tượng cơ sở dữ liệu có tên bằng, có chứa hoặc không chứa giá trị được cung cấp. Sau khi chỉ định tiêu chí bộ lọc, hãy nhấp vào OK để áp dụng bộ lọc:

Khi bộ lọc được áp dụng, bạn sẽ thấy rằng chỉ các đối tượng cơ sở dữ liệu đáp ứng tiêu chí tìm kiếm bộ lọc mới được liệt kê dưới nút loại đối tượng, như được hiển thị bên dưới:

Để xóa bộ lọc và xem lại tất cả các đối tượng cơ sở dữ liệu, hãy nhấp chuột phải vào nút danh sách các đối tượng cơ sở dữ liệu có liên quan, đó là Bảng trong ví dụ của chúng tôi và chọn Xóa bộ lọc từ danh sách Tùy chọn bộ lọc, và tất cả các đối tượng cơ sở dữ liệu sẽ được hiển thị lại, như được hiển thị bên dưới:

Tìm kiếm dữ liệu trong SQL Server Management Studio

Ngoài việc viết các truy vấn SELECT để tìm kiếm một giá trị cụ thể, SQL Server Management Studio cung cấp cho chúng ta một cách khác để tìm kiếm các giá trị cột và sửa đổi chúng trực tiếp ở cấp đối tượng cơ sở dữ liệu dựa trên các tiêu chí đã chỉ định.

Để tìm kiếm giá trị dữ liệu từ một bảng cụ thể, hãy duyệt đến bảng đó trong SQL Server Management Studio, nhấp chuột phải vào bảng đó và chọn Chỉnh sửa 200 hàng hàng đầu tùy chọn, như được hiển thị bên dưới:

Từ cửa sổ đã mở, nhấp vào biểu tượng Bảng được hiển thị bên dưới để xem cửa sổ lọc:

Trong cửa sổ lọc đã mở, hãy chỉ định điều kiện và (các) cột bạn quan tâm. Trong ví dụ dưới đây, chúng tôi sẽ liệt kê tất cả các hàng nhân viên có ID lớn hơn 10:

Sau khi thiết lập bộ lọc, hãy nhấp chuột phải vào bất kỳ đâu trong vùng trống và chọn Thực thi SQL tùy chọn để áp dụng các điều kiện:

Các hàng đáp ứng các điều kiện được áp dụng sẽ được hiển thị trong lưới kết quả và bạn có thể thực hiện cập nhật dữ liệu này, như được hiển thị bên dưới:

Tìm kiếm công cụ bên thứ 3 của SQL Server

Cho đến thời điểm này, chúng ta đã thảo luận về các phương pháp tìm kiếm đối tượng cơ sở dữ liệu và dữ liệu bảng khác nhau. Nhưng những phương pháp này cung cấp cho chúng ta những loại thông tin cụ thể mà chúng ta không thể lọc, sắp xếp hoặc quản lý một cách dễ dàng. Đây là lý do tại sao chúng tôi cần tìm đến các công cụ của 3 bên có sẵn trên thị trường và hy vọng sẽ tìm thấy một công cụ cung cấp tất cả các chức năng tìm kiếm đã thảo luận trong cùng một cửa sổ và cho phép chúng tôi quản lý kết quả dựa trên các yêu cầu của chúng tôi.

Một trong những công cụ hữu ích nhất và thân thiện với người dùng của 3 bên có thể được sử dụng dễ dàng và nhanh chóng để tìm kiếm bất kỳ loại đối tượng hoặc dữ liệu cơ sở dữ liệu nào là dbForge Search for SQL Server của Devart.

dbForge Search for SQL Server là phần bổ trợ SQL Server Management Studio miễn phí cung cấp cho chúng tôi khả năng định vị bất kỳ đối tượng hoặc dữ liệu cơ sở dữ liệu SQL Server nào mà không cần phải xem qua SSMS Object Explorer hoặc nhớ lại vị trí của đối tượng đó. Nó cho phép chúng tôi tìm kiếm trong tất cả các đối tượng cơ sở dữ liệu hoặc thiết lập bộ lọc tìm kiếm của riêng mình để nhanh chóng xác định vị trí các đối tượng hoặc dữ liệu cơ sở dữ liệu và dễ dàng điều hướng chúng trong SSMS Object Explorer. Với dbForge Search for SQL Server, bạn cũng có thể sắp xếp và lọc các kết quả tìm kiếm như mong muốn.

Bạn có thể tải xuống công cụ miễn phí dbForge Search for SQL Server từ trang tải xuống Devart và dễ dàng cài đặt vào máy của bạn bằng cách sử dụng trình hướng dẫn cài đặt chuyển tiếp, như được hiển thị bên dưới:

Trình hướng dẫn cài đặt trước tiên sẽ yêu cầu bạn chỉ định thư mục cài đặt cho dbForge Search for SQL Server:

Sau đó, nó sẽ cho phép bạn chọn phiên bản SQL Server Management Studio được cài đặt trên máy của bạn:

Và cuối cùng, bạn có thể chọn tối ưu hóa khởi động nào sẽ được áp dụng cho công cụ để nâng cao hiệu suất của nó, như được hiển thị bên dưới:

Khi cài đặt dbForge Search for SQL Server bắt đầu, bạn có thể theo dõi quá trình cài đặt thông qua thanh tiến trình cài đặt:

Sau khi hoàn tất quá trình cài đặt bổ trợ dbForge Search for SQL Server, trình hướng dẫn cài đặt sẽ thông báo cho chúng tôi rằng bổ trợ đã được cài đặt thành công cho phiên bản SSMS đã chọn và sẵn sàng sử dụng:

Để bắt đầu sử dụng công cụ dbForge Search, hãy mở SQL Server Management Studio. Bạn sẽ tìm thấy biểu tượng duy nhất của công cụ tìm kiếm, như được hiển thị bên dưới:

Nhấp vào dbForge Search biểu tượng và một cửa sổ mới sẽ được mở ra, cung cấp cho bạn tùy chọn để tìm kiếm cả các đối tượng cơ sở dữ liệu và dữ liệu bảng:

Tìm kiếm đối tượng cơ sở dữ liệu

Giả sử rằng chúng ta cần tìm kiếm tất cả các đối tượng cơ sở dữ liệu có chứa “emp” trong tên của chúng trong cơ sở dữ liệu AdevtureWorks2016.

Nhấp vào DDL ở bên trái để chọn Tìm kiếm các đối tượng cơ sở dữ liệu , viết cụm từ tìm kiếm vào hộp tìm kiếm, sau đó chọn phiên bản SQL Server có chứa cơ sở dữ liệu đó và tên của (các) cơ sở dữ liệu để thực hiện tìm kiếm trên:

Sau đó, chọn loại (các) đối tượng cơ sở dữ liệu bạn muốn tìm kiếm trong Loại đối tượng danh sách thả xuống:

Và cuối cùng, chỉ định loại tìm kiếm bạn sẽ thực hiện. Bạn có thể tìm kiếm các đối tượng cơ sở dữ liệu với cách viết hoa từ được cung cấp chính xác, các đối tượng khớp với toàn bộ từ được cung cấp hoặc sử dụng các ký tự đại diện (ví dụ:‘%’) để trả về các đối tượng có tên chứa cụm từ được cung cấp:

Sau khi nhấp vào nút tìm kiếm gần văn bản được cung cấp, bạn sẽ thấy kết quả hiển thị trong hai phần. Phần đầu tiên chứa đầy đủ chi tiết về tất cả các đối tượng cơ sở dữ liệu đáp ứng các tiêu chí tìm kiếm được cung cấp. Trong phần thứ hai, bạn sẽ tìm thấy câu lệnh T-SQL được sử dụng để tạo đối tượng cơ sở dữ liệu đã chọn:

Ngoài khả năng sắp xếp kết quả trả về dựa trên bất kỳ cột nào, công cụ dbForge Search cung cấp cho chúng tôi khả năng nhóm kết quả tìm kiếm theo loại đối tượng. Để nhóm kết quả tìm kiếm theo từng đối tượng cơ sở dữ liệu, hãy nhấp vào biểu tượng Nhóm, như bạn có thể thấy bên dưới:

Kết quả tìm kiếm sẽ được nhóm theo các loại đối tượng cơ sở dữ liệu, giúp dễ dàng định vị và quản lý các đối tượng bạn quan tâm:

Sau khi chọn đối tượng cơ sở dữ liệu cần thiết từ kết quả tìm kiếm, bạn có thể dễ dàng định vị đối tượng đó trong Trình khám phá đối tượng SSMS bằng cách nhấp chuột phải vào đối tượng đó và chọn Tìm trong Trình khám phá đối tượng tùy chọn:

Tìm kiếm dữ liệu

Công cụ dbForge Search cũng cho phép chúng tôi tìm kiếm một giá trị văn bản hoặc số cụ thể trong các bảng hoặc dạng xem cơ sở dữ liệu. Để thay đổi chế độ tìm kiếm từ tìm kiếm đối tượng cơ sở dữ liệu sang tìm kiếm dữ liệu, hãy nhấp vào Dữ liệu nút tìm kiếm ở bên trái cửa sổ, chọn phiên bản SQL Server nơi cơ sở dữ liệu của bạn được lưu trữ và (các) cơ sở dữ liệu, Bảng và Chế độ xem để tìm kiếm dữ liệu. Sau khi chỉ định tiêu chí và bộ lọc tìm kiếm dữ liệu, hãy ghi giá trị dữ liệu mà bạn sẽ tìm kiếm và nhấp vào biểu tượng tìm kiếm gần văn bản được cung cấp, như được hiển thị bên dưới:

Một lần nữa, kết quả sẽ được hiển thị trong hai phần. Phần đầu tiên hiển thị thông tin đầy đủ về vị trí của giá trị trả về và phần thứ hai hiển thị hàng đầy đủ chứa giá trị đó:

Từ các ví dụ trước, chúng ta có thể thấy rõ ràng công cụ dbForge Search dễ dàng và nhanh chóng như thế nào trong việc tìm kiếm và định vị bất kỳ đối tượng hoặc dữ liệu cơ sở dữ liệu nào, lưu ý rằng quá trình tìm kiếm sẽ nhanh hơn khi chúng tôi cung cấp các tiêu chí tìm kiếm chính xác và có phạm vi hẹp. Hãy thử nó cho chính mình!


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tập lệnh nhanh trả về tất cả các thuộc tính từ SERVERPROPERTY () trong SQL Server 2017/2019

  2. Ưu điểm và nhược điểm của việc triển khai môi trường đám mây kết hợp

  3. 3 cách trả về hàng chứa ký tự chữ và số trong SQL Server

  4. Làm cách nào để đổi tên thứ gì đó trong SQL Server có dấu ngoặc vuông trong tên?

  5. Các cách khác nhau để giám sát máy chủ SQL luôn có sẵn nhóm