我想编写一个存储过程,列出所有服务器及其相应数据库的名称。我知道我可以使用osql / sqlcmd实用程序列出所有服务器。但是'osql -L'不支持任何其他参数,就像另一个可以列出所有数据库的-Q一样。我想使用相同的查询拉出服务器名称和他们的数据库。有办法吗?
答案 0 :(得分:0)
CREATE TABLE #servers(sname VARCHAR(255))
INSERT #servers (sname)
EXEC master..xp_CMDShell 'ISQL -L'
DELETE
FROM #servers
WHERE sname='Servers:'
OR sname IS NULL
SELECT LTRIM(sname)
FROM #servers
DROP TABLE #servers