Guidelines and Limitations

[This document supports a preliminary release of a software product that may be changed substantially prior to final commercial release. This document is provided for informational purposes only.]

This topic describes guidelines and limitations in this release of Microsoft® SQL Data Services (SDS).

Authority Guidelines

  • When creating an authority, the Authority Id must contain only lowercase letters, numbers, or dashes.
  • Authority deletion is not supported in this release.
  • After creating an authority, it make take up to of 10 seconds  for the host name of the authority to be registered with the DNS service.

Container Guidelines

  • Container id is case sensitive. If container id uses any reserved characters (for example ';', '/' '@' and so on), see REST URI Considerations below for related guidelines.
  • A container is limited to 2GB of aggregate non-blob entity data.
  • There is no limit on the aggregate size of blob data, though each individual blob is limited as described below.
  • There is no limit on the number of entities (blob or non-blob) within a container.

Entity Guidelines

  • Entity id is case sensitive. If entity id uses any reserved characters (for example ';', '/' '@' and so on), see REST URI Considerations below for related guidelines.
  • An entity is limited to 2MB.
  • There is no limit on the number of flexible properties within an entity as long as the aggregate size of all flexible properties does not exceed the entity size limit.
  • Only simple scalar types are supported on properties. Nested types and collections are not supported.

REST URI Considerations

The Uri’s used to reference SDS entities should be escaped according to RFC 2396. See this RFC for a definition of reserved and unreserved characters.

Blob Guidelines

  • Only the REST interface over blobs is supported.
  • Each blob is limited to 100MB.
  • User-defined properties are not supported on blob entities.
  • When you create a blob entity in a container, the container stores only blob metadata. The blob content itself is spread in chunks across machines cluster in the service. Spreading blob content in chunk across the cluster helps distribute load and total storage costs evenly across the cluster. It also allows for multi-threaded partial GETs which is not supported in this release.

Properties Guidelines

There are limitations in this release on using metadata and flexible properties. The following table lists the properties and guidelines on using them with authority, container, entity and blob types.

Authority

Container

Entity

Blob

Id

Required

Required

Required

Required

Kind

Not allowed

Not allowed

Optional

Not allowed

Version

Read only

Read only

Read only

Read only

Content

Not allowed

Not allowed

Not Allowed

Required

Flexible properties

Not allowed

Not allowed

Optional

Not allowed

Metrics properties

Read only

Read only

Not Allowed

Not Allowed

Note:

  • Id is limited to 64 characters.
  • Flexible properties can only be simple types and are limited to string, binary, boolean, decimal, and datetime. Neither nested types nor collections are supported.
  • Only the first 256 bytes of flexible properties are indexed.
  • For more information on metrics properties, see Understanding Metrics Metadata on Authorities and Containers.

Query guidelines

  • Join Queries are supported.
  • TOP/Take and Skip operators are not supported.
  • Cross container queries are not supported.
  • Only predicates of the form <property> <op> <constant> are supported, although multiple predicates can be combined with AND and OR.
  • Only a finite set of comparison and logical operators are supported. For details, see Querying SQL Data Services.
  • You can use the >, <, <=, >= operators to compare Id metadata. The comparisons performed on the Id property, unlike other properties, are case sensitive and use Unicode ordinal comparison rules (binary collation).
  • Query results are sorted by entity Id. Order by is not supported in this implementation.

Content Type Guidelines

SDS supports new content type, application/x-ssds+xml, for storing non-blob entities. For entities with blob content appropriate MIME type that best reflects the blob data should be used.

To make the browser aware of the new content type, add registry entry as follows:

Important

This section contains steps that tell you how to modify the registry. However, serious problems might occur if you modify the registry incorrectly. Therefore, make sure that you follow these steps carefully. For added protection, back up the registry before you modify it. Then, you can restore the registry if a problem occurs. For more information about how to back up and restore the registry, see article at http://support.microsoft.com/kb/322756/

  1. In Registry go to "HKEY_CLASSES_ROOT\MIME\Database\Content Type"

  2. Add new key "application/x-ssds+xml".

  3. Add following value to the registry key.

    Name Type Value

    Extension

    String

    .xml

Note

The existing application/xml content type is being phased out.

Security guidelines

  • A valid user name and password are required for all service interactions. User credentials must be obtained from the SQL Data Services management portal before accessing the service.
  • When using SSL (e.g. HTTPS), both credentials and data are encrypted on the wire.

Interface guidelines

  • The maximum size of a request/response message to the server is 2MB. The default SOAP proxy generated by Add Service Reference enforces smaller limits. To change the proxy limit for your application, update the app.config file, which is generated by Add Service Reference, and set these values.

    maxBufferSize="2097152" 
    maxBufferPoolSize="0" 
    maxReceivedMessageSize="2097152"
    maxArrayLength="2097152"
    
  • Because the interface is limited to incoming and outgoing requests whose maximum payload is 2MB, non-blob entities cannot exceed 2MB.

Quota Guidelines

In this beta release, there are limits to the amount of storage used. The quota guidelines are:

  • 50 GB of storage across all authorities.
  • 1000 containers per authority
  • 1 GB of blob entities per container
  • 100 MB of flexible entities per container
  • Individual blob entities are limited to 100 MB in size.

See Also

Concepts

Getting Ready to Use SQL Data Services
SDS Data Model Overview (Authorities, Containers, Entities and Flexible Entities)
Examples of Using SOAP and REST Interfaces with the SQL Data Services
Understanding Metrics Metadata on Authorities and Containers