SQL Server中varchar(MAX)的大小限制

问题描述 投票:2回答:1

我有一行包含定义为varchar(MAX)的字段。我对字段的限制感到困惑:在某些地方,我读到varchar(MAX)的大小限制为8K,而在其他地方,似乎限制为2GB。

我有一个要保存到数据库的字符串;大约是22万我正在使用linq-to-sql,当写入查询提交到数据库时,该行将被写入而不会生成任何异常。但是,当我在SSMS中打开数据库表时,应包含长字符串的单元格为空。为什么会这样,我如何利用我所读到的2GB限制?

这是linq-to-sql模型中的属性:

<< img src =“ https://image.soinside.com/eyJ1cmwiOiAiaHR0cHM6Ly9pLnN0YWNrLmltZ3VyLmNvbS9rc3h2MC5wbmcifQ==” alt =“在此处输入图像描述”>“ >>

我有一行包含定义为varchar(MAX)的字段。我对字段的限制感到困惑:在某些地方,我读到varchar(MAX)的大小限制为8K,而在其他地方,似乎是...

c# sql-server linq-to-sql
1个回答
5
投票

所有MAX数据类型-VARCHAR(MAX),NVARCHAR(MAX)和VARBINARY(MAX)-的限制为2 GB。您不需要做任何特别的事情。如果不指定MAX,则VARCHAR和VARBINARY的限制为8000,NVARCHAR的限制为4000(由于NVARCHAR为双字节)。如果您根本看不到任何数据,则说明正在进行其他操作。

© www.soinside.com 2019 - 2024. All rights reserved.