0
잘 구성된 XML에서 다음 쿼리를 반환하는 데 문제가 있습니다. 내가 뽑을 수있는 최선의 방법은 AUTO, Elements를 사용하는 것이지만 루트를 리턴하지는 않는다. 어떤 도움을 주셔서 감사합니다. 나는 위의 더 SQL 2005에서 문제 나, SQL 2000 (곧 업그레이드하기됩니다 :))SQL 2000에서 잘 구성된 XML을 처리하는 데 문제가 있습니다
SELECT
dbid AS DatabaseID
,NAME AS DatabaseName
,CASE
WHEN NAME IN ('master','mb','model','tempdb','distribution') THEN 'S'
ELSE 'U'
END AS SysUserType
,cmptlevel AS CompatibilityLevel
,databasepropertyex(NAME, 'Collation') AS CollationName
,CASE databasepropertyex(NAME, 'Status')
WHEN 'ONLINE' THEN 0
WHEN 'RESTORING' THEN 1
WHEN 'RECOVERING' THEN 2
WHEN 'RECOVERY_PENDING' THEN 3
WHEN 'SUSPECT' THEN 4
WHEN 'EMERGENCY' THEN 5
WHEN 'OFFLINE' THEN 6
WHEN 'COPYING' THEN 7
END AS State
,databasepropertyex(NAME, 'Status') AS StateDesc
,CASE databasepropertyex(NAME, 'Recovery')
WHEN 'FULL' THEN 1
WHEN 'BULK_LOGGED' THEN 2
WHEN 'SIMPLE' THEN 3
END AS RecoveryModel
,databasepropertyex(NAME, 'Recovery') AS RecoveryModelDesc
,crdate AS DatabaseCreationDate
,(SELECT MAX(bs.backup_finish_date) FROM msdb.dbo.backupset AS bs WHERE bs.database_name=name) AS LastBackupDate
,(SELECT (SUM(saf.size) * 8/1024) FROM sysaltfiles AS saf WHERE saf.dbid=dbid) AS SizeMB
,(SELECT COUNT(sp.dbid) FROM sysprocesses AS sp WHERE dbid > 0 AND spid >= 51 AND sp.dbid=dbid) AS ActiveDBConnections
,SERVERPROPERTY('Machinename') AS SQLServerName
,CASE
WHEN SERVERPROPERTY('Instancename') IS NULL
THEN 'Default'
ELSE SERVERPROPERTY('Instancename')
END AS SQLServerInstanceName
,SERVERPROPERTY('ProductVersion') AS SQLServerVersion
,SERVERPROPERTY('Edition') AS SQLServerEdition
FROM sysdatabases
ORDER BY DatabaseID
FOR XML AUTO, ELEMENTS
지원되는 소프트웨어로 업그레이드 할 때까지 기다리십시오. –
.NET에서 쿼리를 실행하는 경우 "일반"쿼리를 실행 한 다음 데이터 집합을 XML로 변환하는 것을 고려할 수 있습니다 –