web-dev-qa-db-fra.com

SQL Server - Comment peut-on stocker Varbinary (Max)> 8000 octets?

Dans SQL Server 2005 et 2008 R2, j'appelle une procédure stockée qui a un paramètre OUT défini comme varbinary(max). Le paramètre OUT renvoie 10020 octets selon DATALENGTH.

Cependant, les erreurs SQL Server Si j'essaie de définir un Varbinary avec> 8 000 octets tels que Varbinary (10000). Par exemple.

The size (10000) given to the type 'varbinary' exceeds the maximum allowed for any data type (8000).

Que se passe-t-il ici? Comment le serveur SQL peut-il renvoyer plus d'octets que ceux autorisés dans le type de données? SQL Server utilise-t-il un autre type de données derrière les scènes pour tenir> 8 000 octets?

2
user4321

La taille maximale que vous pouvez Spécifiez est de 8 000. Tout ce qui est plus important doit être spécifié comme (MAX)

Voir https://msdn.microsoft.com/en-us/library/ms188362.aspx pour plus de détails.

7
Max Vernon