Re[2]: Вопросы для Григория Погульского \ SQL Server \ SDE/T
От:
Аноним
Дата:
16.06.05 00:45
Оценка:
По поводу "потерь" в T_SQL SQL 2005 .
Как таковой, список находится в работе. Т.е. не завершен. К моменту выхода все должно быть задокументировано.
Мы готовим к выходу "Upgrade Advisor", который будет сканировать базы данных (+ скритпы и traces, если таковые припасены) на предмет изменений.
Последний публичный CTP релиз включает в себя пока довольно ограниченную весрию Upgrade Advisor.
Самые большие изменения связаны с каталогом. Если вы делали какие-либо манипуляции с системными таблицами и другими объектами (кроме чтения), то возможны трудности.
Большинство изменений носят пограничный характер (трудно достижимый).
Есть изменения и в языке. Остается уровень совместимости 80, на котором весь старый код должен работать.
Есть изменения в других местах. (например длина именя fulltext catalog должна быть меньше 120 символов).
Вообще, в этом релизе Upgrade уделяется большое внимание.
Re[2]: Вопросы для Григория Погульского \ SQL Server \ SDE/T
От:
Аноним
Дата:
11.08.05 10:49
Оценка:
А почему большое количество классов в SMO объявленно sealed
Спрашиваю потому, что пишу сравниватель структур БД и приходится буквально для каждого класса (Table, Column, ForeignKey...) делать что-то типа обёртки, вместо этого можно было бы просто напросто отнаследоваться, например от Table и реализовать метод сравнения с другим Table.
Надеюсь вопрос не слишком глупый
Re[2]: Вопросы для Григория Погульского \ SQL Server \ SDE/T
От:
Аноним
Дата:
18.08.05 06:53
Оценка:
Рад, что вы откликнулись
Если Вам интересно, то вот несколько проблем с которыми я столкнулся при использовании SMO в разработке
сравнивателя схем БД:
1. невозможность унаследовать от классов SMO, например Table, Column и т.п. (об этом я уже писал)
2. как следствие: невозможно использовать protected методы, например
protected override void ScriptCreate(StringCollection queries, ScriptingOptions so);
и других подобных методов.
невозможно добавлять функциональность сравнения объектов и преобразования объектов одного в другой
3. неудобный и очень медленный объект Scripter. Не могу понять почему он настолько медленный
дизассемблировав (только для сравнения скорости работы) алгоритмы скриптования (таблицы и столбца)
из SMO получил несравненно более высокую скорость, чем при использовании Scripter
4. как следствие: приходится писать свои методы скриптования, хотя, если бы можно было использовать [1] и [2], то
вопрос отпал бы сам собой
5. возможно я не совсем разобрался, но я не смог соскриптовать отдельный столбец в DDL-инструкцию.
Конечно, возможно это всё и специфично для моего проекта, но, опять таки если бы не [1] и [2], то пришлось бы
гораздо меньше писать кода, а SMO, как раз и делается для того чтобы сокращать писанину
Пока всё
Спасибо за внимание
С уважением, Константин Савельев
Re[2]: Вопросы для Григория Погульского \ SQL Server \ SDE/T
От:
Аноним
Дата:
18.08.05 21:25
Оценка:
Короткий ответ от разработчика
1) SMO classes are not extensible in this release — by design
2) ditto
3) Scripter can be tuned to the application, e.g., by using prefetch or defaultinitfields, but I need to know the exact scenario to give recommendation.
К сожалению ничего не могу добавить по поводу 1).
По поводу 3) — если есть больше деталей, то можно спросить у них, чего они думают по этому поводу.
Re[2]: Вопросы для Григория Погульского \ SQL Server \ SDE/T
От:
Аноним
Дата:
19.08.05 10:21
Оценка:
1) Жаль. Но, всё же интересно почему SMO спроектирована, как не расширяемая!?
3) На PrefetchObjects, к сожалению не обратил должного внимания. Да и не было возможности.
В локальной документации это свойство не описано, а насайте MSDNпро SMO вообще ни слова. Понимаю, что бета
А вот про "defaultinitfields" я не понял, что имеется в виду и как это использовать для ускорения скриптования
или для ускорения загрузки объектов.
Если можно поясните, пожалуйста, поподробнее, или может ссылочку какую-нибудь покажите
Проверку я проводил следующим образом:
Создал WinForms проект положил в него TreeView заполнил его списком таблиц и скриптовал таблицы при выборе их в
TreeView. Cкриптовать все объекты разом слишком долго (хотя я подумываю над тем, чтобы выделить скриптование в
отдельный поток, чтобы не тормозить UI).
Ну и вот, если пользоваться объектом Scripter, то задержка при скриптовании получалась значительная (уже попробовал
с PrefetchObjects=true — разницы не заметил). Пробовал рефлектором выдернуть методы скриптования из объектов Column
и Table и использовать их. Вышло быстрее, хотя не на много и всё равно заметна задержка.
в предыдущем посте я писал "получил несравненно более высокую скорость" — похоже, это происходило из-за того, что я
запускал своё скриптование на уже полностью загруженных объектах SMO, которые до этого скармливал Scripter'у. Каюсь
Re[2]: Вопросы для Григория Погульского \ SQL Server \ SDE/T
От:
Аноним
Дата:
24.08.05 06:44
Оценка:
А вот про "defaultinitfields" я не понял, что имеется в виду и как это использовать для ускорения скриптования
или для ускорения загрузки объектов.
Если можно поясните, пожалуйста, поподробнее, или может ссылочку какую-нибудь покажите
Re[2]: Вопросы для Григория Погульского \ SQL Server \ SDE/T
От:
Аноним
Дата:
22.12.05 11:09
Оценка:
Не совсем по теме но может есть какая то у Вас информация на этот вопрос....
Обнаружилось препятствие в разработке под Фреймворк 2. Оказалось что существует достаточно большое количество Decision Makers которые считают что загружать и устанавливать ФВ 2 50% енд-юзеров не захотят (целевая группа — ХР). Поэтому разрешение на разработку не дают.
Вопрос — когда МС включит ФВ 2 куда нибудь откуда он может быть установлен без особого на то желания/знания юзера (сервис пак или обязательное обновление для ХР) ?
Я так понимаю что летом должен выйти релиз Авалона и Индиго и Офис 12 и насколько опять же я понимаю они будут требовать ФВ 2.. Так? Как МС собирается provide upgrade?
Ранее использовали для одного из проектов SQL Server 2005 BetaX. Ранее и в документации и в инете было заявлено, что Full-Text Search Engine будет поддерживать русский язык. Т.е. можно было бы пользоваться полнотекстовым поиском с учётом морфологии русского языка. И действительно в бетах это работало . Но вот сегодня, наконец-то уже, дошли руки до перевода именно этого проекта на релизную версию. В итоге оказалось, что русского языка больше нет в списке поддерживаемых. Как же так? Что случилось? И в Books Online про это ни слова
Нужна помощь!
Re[2]: Вопросы для Григория Погульского \ SQL Server \ SDE/T
Господа не сталкивался ли кто с такой проблемой?
Вопрос касается SMO реализации:
Приложение неимоверно долго работает из-за просмотра DefaultConstraint, для ускорение выборки данных пытался сделать таким образом:
SelectedServer.SetDefaultInitFields(typeof(Microsoft.SqlServer.Management.Smo.Column),//true);
new string[] { "Name", "DataType", "Nullable", "Default","DefaultConstraint" });
Но дело в том,что при обращении в данном случае к столбцу(Column),вылетает Exception с сообщением что данного поля просто нет.В MSDN написано что это публичное свойства. В PropertyGrid это свойство показывается, но почему то только для чтения(возможно из-за этого и проблемы) и в самой студии...В виду этого вопрос: как можно выяснить с помошью smo имеет ли столбец значение по умолчанию,так что бы это не замедляло весь процесс.
Данная реализация безумно тормазит:
if (oColumn.DefaultConstraint !=null)
{
...
}
Re: Вопросы для Григория Погульского \ SQL Server \ SDE/T \
От:
Аноним
Дата:
24.04.06 22:44
Оценка:
Попробуйте перед началом вызвать
PrefetchObjects(typeof(Table), new ScriptingOptions())
Здравствуйте, Grigory Pogulsky [MSFT], Вы писали: GPM>Попробуйте перед началом вызвать GPM>PrefetchObjects(typeof(Table), new ScriptingOptions())
все бы хорошо,но ScriptingOptions нарушает работу SetDefaultInitFields со свойствами IsFullTextIndexed,InPrimaryKey столбца таблицы.Опрос этих свойств замедляется.Эксперементы с объектом ScriptingOptions,мало что дали,возможно я не там копал?
Re: Вопросы для Григория Погульского \ SQL Server \ SDE/T \
У меня вот тут в процессе общения с другом, на затронутую им тему, возникло желание задать вопрос: планируется ли в перспективе использовать технолонию Intelisence в SQL Server Management Studio, скажем в режиме написания запросов/хранимок/etc. Думаю что было бы удобно иметь подсказки как в студии...
Что скажете?
Спасибо за ответы!
... << RSDN@Home 1.2.0 alpha rev. 655>>
Тиха украинская ночь, но сало надо перепрятать!!!
Re: Вопросы для Григория Погульского \ SQL Server \ SDE/T \
От:
Аноним
Дата:
31.10.07 04:16
Оценка:
AlexGaas:Msg 208, Level 16, State 1, Procedure SelectTable, Line 1
Invalid object name 'MyTable'.
У меня при запуске такого запроса в Query Analizer
select * from t1,t2 where t1.BarCode= t2.ID
выдает :
Server: Msg 208, Level 16, State 1, Line 1
Invalid object name 't1'.
Server: Msg 208, Level 16, State 1, Line 1
Invalid object name 't2'.