(Возврат на основную страницу)
Код для получения максимальной даты в поле таблицы
Кишор Таллапрагада (Kishore Tallapragada)
Преобразование XML в строку с форматированием
Андрей Солнцев (Andrei Solntsev)
Перечисление всех таблиц и информация о них
Фернандо Касас Осорио (Fernando Casas Osorio)
Перемещение всех индексированных представлений SQL Server в новую файловую
группу
Аарон Бертранд (Aaron Bertrand)
Эксперименты с типом Varbinary
Тимоти А. Вайсман (Timothy A Wiseman)
Код для получения максимальной даты в поле таблицы
Кишор Таллапрагада (Kishore Tallapragada)
Запрос следует выполнить, предварительно заменив значение переменной @Datefield
на имя того поля, для которого рассчитывается максимальная дата.
Преобразование XML в строку с форматированием
Андрей Солнцев (Andrei Solntsev)
Не так давно мне понадобилось отобразить поле типа XML в отчете. У XML имелось
всего несколько меток, но они отличались от строки к строке. Я подумал, что это
не будет проблемой, стоит только включить поле в выходной набор и добавить поле
в таблицу. Но оказалось, что все не так просто. Оказалось, что SQL server
преобразует xml в длинную строку, совершенно нечитаемого вида. Мне же было нужно
представить xml так как это делается в Management Studio, только без цветового
форматирования.
Поиск в Интернете ничего не дал, поэтому пришлось написать собственную функцию,
которая располагает все метки XML на отдельных строках и с соответствующими
отступами. Ниже вы найдете мою функцию. Надеюсь, она окажется полезной.
Перечисление всех таблиц и информация о них
Фернандо Касас Осорио (Fernando Casas Osorio)
Приведенный ниже код я создал для получения списка таблиц в БД и подробной
информации о занятом месте, индексах различных типов для каждой из них; это
полезная информация при необходимости сопровождать рабочие базы данных.
Код протестирован для SQL Server 2005 и 2008 R2. (От редакции. Мы также
протестировали его для SQL Server 2012 SP1)
Перемещение всех индексированных представлений SQL Server в
новую файловую группу
Аарон Бертранд (Aaron Bertrand)
Проблема
С ростом баз данных часто возникает необходимость добавить новые пути
ввода-вывода, чтобы приспособиться к увеличивающемуся пространству. Даже без
роста, который требует такого масштаба, все-таки может быть полезно
задействовать несколько устройств ввода-вывода, чтобы распределить нагрузку.
Один из способов, который позволяет добиться оптимального использования новых
дисковых устройств, – это добавление в базу данных файловой группы и перемещение
в нее определенных объектов (скажем, всех индексированных представлений).
(Фактически, можно было бы создать ситуацию, когда пришлось бы переместить все
пользовательские объекты из файловой группы PRIMARY, но я приберегу его для
другой публикации.)
Эксперименты с типом Varbinary
Тимоти А. Вайсман (Timothy A Wiseman)
Введение
Мне вдруг недавно пришло в голову, что я фактически никогда ни для чего не
использовал поле типа binary или varbinary в SQL Server. Полагаю, отчасти это
объясняется тем, что случаев, когда применение поля varbinary оказывается
наилучшим подходом, немного. По-моему, в большинстве случаев двоичные данные
лучше хранить вне базы данных, оставив в БД только данные о местонахождении
файла. Как известно, в версиях SQL Server 2008 и старше для того, чтобы хранить
данные типа varbinary(max) в файловой системе, можно использовать опцию
FileStream.
Поскольку я в самом деле никогда не пользовался такими полями, но хочу иметь
исчерпывающее представление о SQL Server, я решил создать несколько сценариев
для работы с соответствующими типами и просто посмотреть, как используются
данные типа varbinary. Для эффективного их применения, с данными типа varbinary
необходимо обращаться не так, как с некоторыми другими типами данных.
Большинство других типов данных, используемых в SQL Server, например, int или
varchar, могут быть прочитаны человеком, тогда как данные типа varbinary часто
необходимо подвергнуть некоторого рода преобразованию, чтобы ими можно было
пользоваться.
В этой статье я очень кратко рассматриваю возможные способы использования типа
varbinary и привожу пару примеров, чтобы показать, как эти данные можно
вставить, прочесть и преобразовать в удобный формат. Данная статья предназначена
для начинающих или во всяком случае для тех, кто обладает ограниченным опытом
работы с типом varbinary даже при наличии большого опыта работы с SQL. Примеры,
рассматриваемые в разделе III, слабо связаны друг с другом, и вы вполне можете
рассмотреть только какой-то один из них – для того языка программирования,
который предпочитаете. Кроме того, предлагаемые примеры являются довольно
искусственными, поскольку составлены исключительно ради того, чтобы
продемонстрировать относительную простоту их применения.