varchar(max) MS SQL Server 2000, problems?

前端 未结 4 1262
傲寒
傲寒 2021-01-02 01:52

I\'ve inherited a asp.net website project that currently runs SQL Server 2000 as its backend.

I\'ve been doing some databases changes on a local copy of the db using

4条回答
  •  生来不讨喜
    2021-01-02 02:25

    VARCHAR(Max) was introduced in SQL Server 2005, and will not work on SQL Server 2000. You need to use either VARCHAR(8000) assuming that will be big enough. Otherwise you will need to use TEXT

    Edit

    Also if you switch to VARCHAR(8000) keep in mind there is a limit that a single row cannot have more then 8060 bytes. So if you fill up a varchar(8000) table and have a bunch of other large columns you will get an error. This is where Text comes in.

    Text has performance implication because by default it is stored in a separate location, and they keep a pointer in a table. There is a set option which changes this behavior so that text types are kept in the table until they reach a certain size. If you have mostly small blobs you might want to enable this.

提交回复
热议问题