Мы меняем тип данных одного из столбцов в нашей базе данных SQL Server 2008 с varchar (900) на nvarchar (900). Это приведет к изменению размера данных столбца с 900 до 1800 байт.
Этот столбец включен в индекс, и когда мы вносим изменение в индекс, мы получаем предупреждение
* Внимание! Максимальная длина ключа составляет 900 байтов. Индекс INX_SomeTable имеет максимальную длину 1800 байт. Для некоторой комбинации больших значений операция вставки / обновления завершится неудачей. *
Мы планируем решить эту проблему, уменьшив размер поля с nvarchar (900) до nvarchar (450). Я хотел бы убедиться, что в поле не вставляются столбцы, длина которых превышает 450 символов.
Как я могу запросить системные таблицы или DMV, чтобы найти все символьные поля (varchar или nvarchar), которые превышают определенный размер?