J'essaie de créer des tables 50-100 à l'aide de requêtes SYS
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);
Comment créer une table à partir des résultats des requêtes de tables SYS?
select <column list> into <table name> from <source> where <whereclause>
select <column list> into <dest. table> from <source table>;
Vous pourriez faire de cette façon.
SELECT windows_release, windows_service_pack_level,
windows_sku, os_language_version
into new_table_name
FROM sys.dm_os_windows_info OPTION (RECOMPILE);
Un exemple d'instruction utilisant une sous-sélection:
select * into MyNewTable
from
(
select
*
from
[SomeOtherTablename]
where
EventStartDatetime >= '01/JAN/2018'
)
) mysourcedata
;
notez que la sous-requête doit recevoir un nom .. tout nom .. par ex. L'exemple ci-dessus donne à la sous-requête le nom de mysourcedata. Sans cela, une erreur de syntaxe est générée dans SQL * server 2012.
La base de données doit répondre avec un message du type: (9999 ligne (s) affectée (s))