2011-08-07 12 views

cevap

27

kullanıyorum text ve image gibi kullanımdan kaldırılmıştır. Microsoft, bunları sırasıyla nvarchar(max), varchar(max) ve varbinary(max) ile değiştirmenizi önerir.

nvarchar(max) kullanın.

Referans:

1

DEPARTMENTNAME (MAX) için varsayılan ayar, metnin çift 4000 8.000 bayt (fazla olmadığı sürece, Tablo yapısındaki yazı değeri saklamak için bir -bayt chars), hangi noktada bir NTEXT gibi davranır ve LOB içindeki metin değerini saklar ve tablodaki metne bir işaretçi kaydeder - bu da çok daha kötü bir performans sağlar.

Kısacası, 8K uzunluğunda bayt kaybetmemeniz koşuluyla NVARCHAR(4000)'a gidin.

+2

maksimum açık sınırı 4000. 8000' varchar' içindir geçerli:

nmetin bakınız ayrıca nvarchar (MAX) lehine gelecekte kaldırılacaktır muhtemeldir. –

+0

thx. Bunu yansıtmak için düzenlenmiş cevabı (yani 8K = 4K çift bayt chars) – Bohemian

+2

Verileri kaybetmek için ne zaman "OK" olur? –

7

Nvarchar (MAX) kullanmanın avantajları, nvarchar'daki (MAX) Replace, Left, Len vb. Gibi işlevleri çalıştırabilmeniz, ancak ntext'te bulunmamasıdır. ntext yerel değişkenler de depolanmış prosedürlerde oluşturulamaz ancak nvarchar (MAX) yapabilir. nvarchar` `için

ntext, text, and image

İlgili konular