我们能够使用以下请求URL列出与特定订阅对应的所有数据库服务器。列出SQL Azure数据库
https://management.database.windows.net:8443/SunscriptionID/servers
X-MS-版本= 1.0。
想知道,是否有任何可用于获取每个特定服务器内数据库列表的宁静服务。
我们能够使用以下请求URL列出与特定订阅对应的所有数据库服务器。列出SQL Azure数据库
https://management.database.windows.net:8443/SunscriptionID/servers
X-MS-版本= 1.0。
想知道,是否有任何可用于获取每个特定服务器内数据库列表的宁静服务。
您可以连接到每个SQL Azure的服务器的主数据库和查询sys.databases中
SELECT * FROM sys.databases
可以使用SOAP管理服务这一点。首先,您需要获得一个认证令牌(使用基本身份验证的用户名的服务器/密码):
GET https://MYSERVERNAME.database.windows.net/v1/ManagementService.svc/GetAccessToken HTTP/1.1
sqlauthorization: Basic smafizjfpafijpoazjeoijfamz=
Host: MYSERVERNAME.database.windows.net
的回应将验证令牌连同饼干:
Set-Cookie: .SQLSERVERMANAGEMENT=fmazoijfazmojf==;
<string xmlns="http://schemas.microsoft.com/2003/10/Serialization/">ffmjjzoipfjpozajfpzofjjmoezafjimozafjoamfjiazfamzofijzmfoijzafjoizafazamijfiiozfmozafjozamfjzmofjizmfozjfohfomzaifjzaomfjizamofzijamofjafmozafjmzafojzmijfzoifzajoimfzaijomfmoizaj==</string>
然后你可以使用cookie和身份验证令牌来获取数据库列表特定服务器:
GET https://MYSERVERNAME.database.windows.net/v1/ManagementService.svc/Server2('MYSERVERNAME')/Databases HTTP/1.1
AccessToken: ffmjjzoipfjpozajfpzofjjmoezafjimozafjoamfjiazfamzofijzmfoijzafjoizafazamijfiiozfmozafjozamfjzmofjizmfozjfohfomzaifjzaomfjizamofzijamofjafmozafjmzafojzmijfzoifzajoimfzaijomfmoizaj==
x-ms-client-session-id: e5a2b587-930f-4cb1-82bc-2be5385f6ad1-2012-11-26 20:12:14Z
x-ms-client-request-id: 1ac2599c-c4dc-4a66-822b-15f81ba8216b-2012-11-26 20:12:14Z
Accept: application/atom+xml,application/xml
Accept-Charset: UTF-8
Host: MYSERVERNAME.database.windows.net
Cookie: .SQLSERVERMANAGEMENT=fmazoijfazmojf==
和响应将是数据库的列表:
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<feed xml:base="https://MYSERVERNAME.database.windows.net/v1/ManagementService.svc/Server2('MYSERVERNAME')/" xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices" xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata" xmlns="http://www.w3.org/2005/Atom">
<title type="text">Databases</title>
<id>https://MYSERVERNAME.database.windows.net/v1/ManagementService.svc/Server2('MYSERVERNAME')/Databases</id>
<updated>2012-11-26T20:19:32Z</updated>
<link rel="self" title="Databases" href="Databases" />
<entry>
<id>https://MYSERVERNAME.database.windows.net/v1/ManagementService.svc/Server2('MYSERVERNAME')/Databases(1)</id>
<title type="text"></title>
<updated>2012-11-26T20:19:32Z</updated>
<author>
<name />
</author>
<link rel="edit" title="Database" href="Databases(1)" />
<link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/Server" type="application/atom+xml;type=entry" title="Server" href="Databases(1)/Server" />
<link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/DatabaseMetrics" type="application/atom+xml;type=entry" title="DatabaseMetrics" href="Databases(1)/DatabaseMetrics" />
<category term="Microsoft.SqlServer.Management.Server.Domain.Database" scheme="http://schemas.microsoft.com/ado/2007/08/dataservices/scheme" />
<content type="application/xml">
<m:properties>
<d:Id m:type="Edm.Int32">1</d:Id>
<d:Name>master</d:Name>
<d:Edition>Web</d:Edition>
<d:MaxSizeGB m:type="Edm.Int32">5</d:MaxSizeGB>
<d:CollationName>SQL_Latin1_General_CP1_CI_AS</d:CollationName>
<d:CreationDate m:type="Edm.DateTime">2012-11-26T14:36:41.387</d:CreationDate>
<d:IsSystemObject m:type="Edm.Boolean">true</d:IsSystemObject>
<d:Status m:type="Edm.Int32">1</d:Status>
<d:IsFederationRoot m:type="Edm.Boolean">false</d:IsFederationRoot>
<d:SizeMB m:type="Edm.Decimal">-1.00</d:SizeMB>
<d:IsRecursiveTriggersOn m:type="Edm.Boolean">false</d:IsRecursiveTriggersOn>
<d:IsReadOnly m:type="Edm.Boolean">false</d:IsReadOnly>
</m:properties>
</content>
</entry>
</feed>
为什么没有REST服务的原因是什么?两种选择似乎都会去下一个城市购买面包和牛奶 – f0x
不知道,也许是因为您可以通过简单的查询获取此信息(请参阅@Igorek的答案)但是,在很多情况下,REST服务将更加清洁(主要是在工作时机智h非.NET技术,你需要搞砸SQL驱动程序等)。 –
据我所知,目前没有可以做到这一点的REST服务。在任何API文档中都没有提及。 – f0x
因此,没有宁静的服务列举数据库在蔚蓝.. ..? :( –
看起来很奇怪,就像在API中间的一个洞一样,根据我所知,并不存在。在这里列出一个建议:http://www.mygreatwindowsazureidea.com/forums/34192-windows- azure-feature-voting/suggestions/3389016-rest-service-for-the-enumeration-of-sql-azure-data – f0x