2017-01-11 3 views
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 
+2

지원되는 소프트웨어로 업그레이드 할 때까지 기다리십시오. –

+0

.NET에서 쿼리를 실행하는 경우 "일반"쿼리를 실행 한 다음 데이터 집합을 XML로 변환하는 것을 고려할 수 있습니다 –

답변

0

SQL-서버 2000 모르는 실제 XML 데이터 형식 반환 그냥 문제가 단지이 없다

SELECT N'<root>' + (Your FOR XML AUTO,ELEMENTS query here) + N'</root>'; 

을하지만 ... 테스트를 위해

행운을 2000 서버가없는 : 문자열, 당신은 쉬운 길을 갈 수도 있습니다!