2012-06-20 43 views
30

Tôi cố gắng làm cho 50-100 bảng sử dụng SYS truy vấnCách tạo bảng bằng truy vấn chọn trong SQL Server?

SELECT windows_release, windows_service_pack_level, 
     windows_sku, os_language_version 
FROM sys.dm_os_windows_info OPTION (RECOMPILE);  -- DEĞİŞİRSE INSERT ETSIN AYNI ISE DEĞİŞMESİN 

-- Gives you major OS version, Service Pack, Edition, and language info for the operating system 

-- SQL Server Services information (SQL Server 2008 R2 SP1 or greater) 
SELECT servicename, startup_type_desc, status_desc, 
last_startup_time, service_account, is_clustered, cluster_nodename 
FROM sys.dm_server_services OPTION (RECOMPILE); 


-- Hardware information from SQL Server 2008 
-- (Cannot distinguish between HT and multi-core) 
SELECT cpu_count AS [Logical CPU Count], hyperthread_ratio AS [Hyperthread Ratio], 
cpu_count/hyperthread_ratio AS [Physical CPU Count], 
physical_memory_in_bytes/1048576 AS [Physical Memory (MB)], 
sqlserver_start_time --, affinity_type_desc -- (affinity_type_desc is only in 2008 R2) 
FROM sys.dm_os_sys_info OPTION (RECOMPILE); 

Làm thế nào để tạo bảng từ các truy vấn bảng SYS dẫn?

+0

Không tạo bảng trên mỗi máy chủ. Tạo một bảng có máy chủ như một cột trong đó và đặt tất cả thông tin trong đó, đánh dấu vào máy chủ –

Trả lời

-2

Tôi biết đó là một câu hỏi cũ nhưng tôi tìm thấy một cái gì đó như thế này và nó làm việc một cách hoàn hảo:

CREATE TABLE resultTable AS(SELECT gdb.song AS vroar, 
gdb.song_description AS vdescription FROM googleDB gdb WHERE 
gdb.song_id = 'KP'); 

cú pháp:

CREATE TABLE <ResultTable_Name> AS(SELECT <actual_table_property1> AS <alias1>, <actual_table_property2> AS <alias2> 
FROM <actual_table_name> WHERE <actual_table_property> = '<value>'); 

Tôi hy vọng điều này sẽ giúp một ai đó.

+0

Bạn có chắc chắn điều này làm việc cho bạn? Tôi đã thử trên SQLServer và nó không thích cú pháp này. Trên thực tế, nó doesn ' t dường như CTAS tồn tại trong SQLServer theo doc? –

+0

Nó hoạt động tốt trong các máy chủ MariaDB và MySQL.Tôi đã không kiểm tra trong các máy chủ khác .. –

+0

Vâng, câu hỏi rõ ràng nói "SQL Server", vì vậy tôi T là một IMO gây hiểu lầm chút. –

52
select <column list> into <table name> from <source> where <whereclause> 
+0

Đây phải là câu trả lời được chấp nhận :-) Nó hoạt động trong SQL Sever, không giống như được chấp nhận ngay bây giờ (và có -1 điểm btw) – Skipper

+0

Giá trị được chấp nhận dường như ít nhiều hợp lệ trong Kho dữ liệu SQL, trên nền tảng Microsoft, nhưng vẫn không có trong SQL Server hoặc Azure SQL>: ( https://docs.microsoft. com/en-us/azure/sql-data-kho/sql-data-warehouse-develop-ctas –

9
select <column list> into <dest. table> from <source table>; 

Bạn có thể làm theo cách này.

SELECT windows_release, windows_service_pack_level, 
     windows_sku, os_language_version 
into new_table_name 
FROM sys.dm_os_windows_info OPTION (RECOMPILE); 
Các vấn đề liên quan