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

3 cách lấy danh sách cơ sở dữ liệu trong SQL Server (T-SQL)

Dưới đây là ba cách chúng ta có thể sử dụng T-SQL để trả về danh sách cơ sở dữ liệu trong SQL Server.

sp_databases Thủ tục được lưu trữ

Trong SQL Server, sp_databases thủ tục được lưu trữ liệt kê các cơ sở dữ liệu nằm trong một phiên bản của SQL Server hoặc có thể truy cập được thông qua cổng cơ sở dữ liệu.

Dưới đây là một ví dụ về việc thực hiện quy trình này:

sp_databases;

Kết quả ví dụ:

+-----------------------+-----------------+-----------+
| DATABASE_NAME         | DATABASE_SIZE   | REMARKS   |
|-----------------------+-----------------+-----------|
| KrankyKranes          | 16384           | NULL      |
| master                | 6848            | NULL      |
| model                 | 16384           | NULL      |
| msdb                  | 79040           | NULL      |
| Music                 | 16384           | NULL      |
| NarrowNationExporters | 147456          | NULL      |
| tempdb                | 24576           | NULL      |
| WideWorldImporters    | 3575808         | NULL      |
| World                 | 81920           | NULL      |
+-----------------------+-----------------+-----------+

Nếu câu lệnh không phải là câu lệnh đầu tiên trong một lô, bạn sẽ cần thêm tiền tố tên thủ tục bằng EXEC hoặc EXECUTE .

Vì vậy, ba lệnh sau là tương đương:

sp_databases;
EXEC sp_databases;
EXECUTE sp_databases;

Nhưng câu lệnh đầu tiên chỉ có thể được sử dụng nếu đó là câu lệnh đầu tiên trong một lô.

sys.databases Xem

sys.databases dạng xem chứa một hàng cho mỗi cơ sở dữ liệu trong phiên bản SQL Server.

Dưới đây là một ví dụ về truy vấn chế độ xem này:

SELECT name  
FROM sys.databases;

Kết quả ví dụ:

+-----------------------+
| name                  |
|-----------------------|
| master                |
| tempdb                |
| model                 |
| msdb                  |
| Music                 |
| KrankyKranes          |
| WideWorldImporters    |
| World                 |
| NarrowNationExporters |
+-----------------------+

Chế độ xem này chứa nhiều cột và bạn có thể kết hợp nó với các chế độ xem / bảng khác, vì vậy đây là một tùy chọn lý tưởng khi bạn cần thêm thông tin ngoài sp_databases thủ tục trả về.

sys.sysdatabases Bảng / Chế độ xem

sys.sysdatabases tương đương với sys.databases .

Vì vậy, chúng tôi chỉ cần hoán đổi sys.databases trong ví dụ trên với sys.sysdatabases để có được kết quả tương tự:

SELECT name  
FROM sys.sysdatabases;

Kết quả:

+-----------------------+
| name                  |
|-----------------------|
| master                |
| tempdb                |
| model                 |
| msdb                  |
| Music                 |
| KrankyKranes          |
| WideWorldImporters    |
| World                 |
| NarrowNationExporters |
+-----------------------+

Tuy nhiên, bạn nên tránh tùy chọn này.

Bảng hệ thống SQL Server 2000 này được bao gồm trong các bản phát hành SQL Server hiện tại như một dạng xem để tương thích ngược. Nó sẽ bị xóa trong phiên bản Microsoft SQL Server trong tương lai. Microsoft khuyến nghị chúng tôi nên tránh sử dụng tính năng này trong công việc phát triển mới và có kế hoạch sửa đổi các ứng dụng hiện đang sử dụng tính năng này.

Vì vậy, nếu bạn gặp một tập lệnh cũ tham chiếu đến sys.sysdatabases , bạn nên nghĩ đến việc thay đổi thành sys.databases .

Máy chủ được liên kết

Nếu bạn cần lấy danh sách cơ sở dữ liệu từ máy chủ được liên kết, hãy sử dụng sp_catalogs trong khi chuyển tên của máy chủ được liên kết.

Xem Liệt kê Tất cả Cơ sở dữ liệu từ Máy chủ được Liên kết trong SQL Server để biết thêm thông tin và ví dụ.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL:Tốt hơn là một Bit hoặc một ký tự (1)

  2. Xóa cấu hình thư cơ sở dữ liệu trong SQL Server (T-SQL)

  3. CTE để nhận tất cả các con (con cháu) của một phụ huynh

  4. Sau khi bế tắc một giao dịch trên các phiên bản SQL Server

  5. Câu lệnh xóa SQL Server:Cách xóa một hoặc nhân hàng khỏi bảng