Làm thế nào tôi có thể tìm thấy một bảng trong toàn bộ ví dụ?


7

Tôi đang cố gắng tạo một báo cáo chọn dữ liệu từ một bảng được gọi costomersHR. Tôi không thể tìm thấy nó vì chúng ta có hàng trăm cơ sở dữ liệu trong ví dụ.

Làm thế nào tôi có thể tìm kiếm một bảng trong toàn bộ ví dụ?


3
Có lẽ bạn không biết nhưng khi bạn nhận được câu trả lời thực sự giúp ích cho bạn, bạn có tùy chọn chấp nhận nó một cách chính thức . Bạn có thể làm như vậy cho câu hỏi này cũng như cho bất kỳ hoặc tất cả các câu hỏi trước đây của bạn .
Andriy M

Câu trả lời:


17

Để làm điều đó thông qua mã ...

1) Nếu bạn có thể giả sử rằng bảng này nằm trong dbolược đồ.

SELECT name
FROM   sys.databases
WHERE  CASE
         WHEN state_desc = 'ONLINE' 
              THEN OBJECT_ID(QUOTENAME(name) + '.[dbo].[costomersHR]', 'U')
       END IS NOT NULL 

2) Nếu không, bạn có thể lặp qua tất cả các cơ sở dữ liệu (và truy vấn sys.tablestrong mỗi cơ sở dữ liệu ) với một cái gì đó giống như mã này để có sp_MSforeachdb đáng tin cậy và linh hoạt hơn


@Martin, tôi không thể hiểu cách thức phát biểu trường hợp này .. bạn có thể giúp tôi hiểu nó không .. nhưng vâng, nó còn hơn cả truy vấn tuyệt vời để tìm một đối tượng.
AA.SC

1
Trước hết, nó kiểm tra khi cơ sở dữ liệu ở trạng thái TRỰC TUYẾN và khi đúng, nó cố gắng quay lại OBJECT_IDkết nối với bảng mà chúng ta đang tìm kiếm. Nếu nó trả về giá trị không null, bảng được gọi [dbo].[costomersHR]sẽ được tìm thấy và tên của cơ sở dữ liệu được trả về cho các hàng khớp.
Paweł Tajs

@ PawełTajs làm thế nào để tuyên bố trường hợp này lấy danh sách tất cả các đối tượng chống lại mỗi DB?
AA.SC

2
@ AA.SC - Không. Nó chỉ kiểm tra sự tồn tại của một đối tượng cụ thể. [dbname].[dbo].[costomersHR]cho mỗi cơ sở dữ liệu trực tuyến bằng cách thay thế trong tên cơ sở dữ liệu. Các OBJECT_IDhàm trả về NULLnếu nó không tồn tại.
Martin Smith

@MartinSmith, tôi có thể sửa đổi truy vấn này để tìm kiếm tên DB trên ví dụ có chứa lược đồ 'HR' không?
AA.SC

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.