小编web*_*oob的帖子

Varchar(max) 字段在 8000 个字符后截断数据

我有一个字段来存储一些数据,该字段声明为varchar(max). 据我所知,这应该是存储2^31 - 1字符,但是当我输入超过 8000 个字符的内容时,它会切断其余部分。

我已经验证所有数据都包含在我的更新语句中,并且查询在其他地方看起来都很好,但是当我选择数据时,它已被切断。

当我在我的网站上显示数据以及使用 SSMS 到select content from table.

select DATALENGTH (content) from table 返回 8000。

我使用这个设置数据:update table set content = 'my long content' where id = 1。内容确实有很多 HTML,但我看不出这会导致问题。我唯一能看到的是我正在做的事情是替换所有内容"''因为这是用户输入的内容(不记得我现在为什么这样做了)。

我确实通过删除内容中的所有单引号设法使内容正确输入,所以我认为我的数据而不是数据库发生了一些奇怪的事情。

我应该对查询做一些特别的事情来使用一个varchar(max)字段吗?

使用:SQL Server 2008 (10.50) 64 位。

sql-server-2008 sql-server varchar

29
推荐指数
1
解决办法
6万
查看次数

死锁错误不返回死锁 SQL

Transaction (Process ID) was deadlocked on lock resources with another process and has been chosen as the deadlock victim. Rerun the transaction.

当我的一个网站忙碌时,我会随机收到此错误。我大致知道它发生在哪些表集上,但根据我使用其他程序的经验,我通常会在发生死锁的地方返回 SQL。是否有我应该打开的标志来允许这种情况发生?

我将尝试将死锁本身作为一个单独的问题进行调试,因为这是我目前的主要问题。

我使用的是 SQL Server 2008 标准版。

sql-server-2008 deadlock

13
推荐指数
2
解决办法
9354
查看次数

标签 统计

sql-server-2008 ×2

deadlock ×1

sql-server ×1

varchar ×1