SQL Server 中 varbinary(max) 的最大实际空间

发布于 2024-11-02 06:18:55 字数 287 浏览 1 评论 0原文

我正在使用 varbinary(max) 将文件(任何类型)保存在 SQL 表中,我发现该数据类型的最大使用量是 8000,但是 8000 是什么意思?

在线文档说是 8000 字节。这是否意味着要保存的文件的最大大小为 8000/1024 = 7.8125 KB?

我开始测试,我可以存储的最大文件是 29.9 MB。如果我选择较大的文件,则会出现 SQLException。

字符串或二进制数据将被截断。该声明已 终止。

I am saving files (any type ) in a SQL table, using a varbinary(max), I find out that the max usage of this datatype is 8000, but what does the 8000 mean?

The online documentation says that is 8000 bytes. Does that mean that the maximum size of the file to be save there is 8000/1024 = 7.8125 KB?

I start testing and the maximum file that I can store is 29.9 MB. If I choose a larger file a get a SQLException.

String or binary data would be truncated. The statement has been
terminated.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

无名指的心愿 2024-11-09 06:18:55

在发布时实施 SQL Server 2012(代号 Denali) - 它具有 FileTable 功能 :)

  • varbinary(8000) 受到 8000 字节的限制 - 这是肯定的!
  • varbinary(max) 限制为 2 GB
  • varbinary(max) FILESTREAM 限制为您的文件系统(FAT32 - 2 Gb,NTFS - 16 EB)

Implement SQL Server 2012 (codename Denali) when it's released - it has FileTable feature :)

  • varbinary(8000) is limited by 8000 bytes - that's for sure!
  • varbinary(max) is limited by 2 gigabytes
  • varbinary(max) FILESTREAM is limited by your file system (FAT32 - 2 Gb, NTFS - 16 exabytes)
寄居人 2024-11-09 06:18:55

取自此处:

http://msdn.microsoft.com/en-us/library /ms188362.aspx

max表示最大存储大小为2^1-1字节

即2 147 483 647字节。我不知道为什么它停在 29.9MB。

Taken from here:

http://msdn.microsoft.com/en-us/library/ms188362.aspx:

max indicates that the maximum storage size is 2³¹-1 bytes

which is 2 147 483 647 bytes. I'm not sure why it stops at 29.9MB.

冷血 2024-11-09 06:18:55

您使用什么版本的 SQL Server?

MSDN 上的 SQL Server 2008 的 Varbinary 明确表示 VarBinary(MAX) 是当“列数据条目超过 8,000 字节”时使用。

另外,我还会了解SQL Server 2008 中的文件流功能 如果这是您正在使用的服务器。

What version of SQL Server are you using?

Varbinary on MSDN for SQL Server 2008 explicitly says that VarBinary(MAX) is for use when "the column data entries exceed 8,000 bytes."

Also, I would also take a look at the Filestream Capabilities in SQL Server 2008 if that is the server you are using.

喜爱皱眉﹌ 2024-11-09 06:18:55

当我尝试在 SQL Server 2005 上使用 varbinary(max) 存储 5MB 时,出现“字符串或二进制数据将被截断”错误。增加数据库的自动增长大小解决了该问题。我花了一段时间才弄清楚,所以我想分享一下:)

I got the "String or binary data would be truncated" error when trying to store 5MB using varbinary(max) on SQL Server 2005. Increasing the autogrowth size for the database solved the problem. Took me a while to figure out, so just thought I'd share :)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文