Ответы пользователя по тегу SQL Server
  • MSSQL and mysql в чем отличие?

    @Miron11
    Пишу sql 20 лет. Срок :)
    Не удалось выполнить действие "Создать" для следующего объекта: "Пользователь", "sa".
    ---
    И чем вас это обеспокоило? Пользователь sa уже создан, ошибка в данном случае вполне может быть проигнорирована.
    ---
    Есть наверное различные пакеты для трансляции MSSQL Server -> MySQL. запрос в Яндексе "migration from sql server to my sql" третьей линией привел сюда.
    По опыту, на поверхности, многое действительно поддается трансляции, но процедуры и функции, нет.
    Но чуть от поверхности, MySQL уступает в плане отладки и выявления ошибок. А проблемы с правами пользователей мало отличаются. Попытка создать пользователя, который уже есть приведет к той же ошибке и в MySQL.
    Есть конечно возможности отладить код создающий объекты, применяя "IF NOT EXIST" выражение. Профессионалы используют два подхода для кода создающего объекты.
    Подход №1 - фирменный подход специалистов, проверять существование объекта, прежде чем его создать.
    Людям свойственно это делать, чтобы обеспечить наименьшие трения с чтением и пониманием ошибок. В этом случае детальное чтение ошибок необходимо для выявления дефектов.
    Такой код удобен тем, что его можно повторять снова и снова, результат будет всегда один и тот же, а ошибки будут выданы только в случае дефекта, или записи будут чистыми.
    Подход №2 - обычно используют создатели по, которое пишет скрипт "создать такой-то объект", с оглядкой на профессионального пользователя, который ( как считают создатели по ) достаточно знаком и с синтаксисом, и с важностью тех или иных сообщений, и сможет прочитать "с листа" записи машины, и справиться с выдачей решения "все хорошо" или "что-то сломалось" благодаря накопленным знаниям.
    У меня сложилось впечатление, что Вы работаете с кодом, созданным в подходе №2. Возможно если Вы прибавите детали, и опишете что Вы делаете, отвечающим на вопрос будет проще справиться с ответом.
    Всего хорошего
    Ответ написан
    2 комментария
  • Существует возможность подключения к Microsoft Analysis Services кроме коннектора?

    @Miron11
    Пишу sql 20 лет. Срок :)
    Есть
    https://docs.microsoft.com/en-us/analysis-services...
    XMLA, XML for Analysis протокол.
    Есть плагины для разных серверов, например IIS Microsoft, которые транслируют запросы написанные на XMLA диалекте в родные запросы аналитической службы, и отвечают таблицами данных. При чем они работают не только с Microsoft Analysis Services, но всеми службами, которые соответствуют интерфейсу, в частности есть транслятор для Kettle Pentaho, который во всяком случае раньше, работал поверх Tomcat. В прошлом году их обещали перевести на рельсы Хитачи центра разработки ПО, но я так и не удосужился познакомиться, если платформа была выпущена одним из домов Мацушита Корпорэйшн в поле открытых источников, или хотя бы как открытая платформа, её, лицензия для "коммуналки".
    Ответ написан
  • В каких случаях стоит предпочесть MS SQL Server другим БД?

    @Miron11
    Пишу sql 20 лет. Срок :)
    MySQL имеет значительно более слабая поддержка выполнения запросов
    Вплоть до 5.7 не имел процедур.
    Хотя структуры языка позволяющие создать процедуры у MySQL после этого появились, как такового языка программирования, выполнения логических операций, у MySQL не существовало. Возможно это изменилось. Но скорее нет.
    Таким образом называть MySQL полноценной СУБД нельзя.
    Если кого - то возможно не смущает создание кластеризованных индексов "по умолчанию", то для меня отсутствие подобных рычагов управления верстки цифровых записей неприемлемы.
    ----
    PosgreSQL база совершенно иного уровня, в плане академических требований, но вплоть до 9-й версии страдала от файл-объектной структуры записи, то есть каждая таблица или индекс это свой файл. Неизбежным результатом оказались провалы в аккуратности учета данных, когда от базы потребовались решения сверхзадач. Передача файловой системе ОС ответственности за аккуратность учета операций записи привели к потере самой базой доверия пользователя ( Uber ).
    Ситуация была выправлена в авральном порядке, и теперь у PostgreSQL все в полном порядке. Костяк команды разработчиков сумел быстро поправить ситуацию через несгибаемую волю и удивительный профессионализм ( как нам всем сейчас этого в России не хватает после того, как это было в избытке в советское время ).
    Поэтому с PostgreSQL на сегодня вопрос конечно не простой. Но и здесь, конечно, базе, которую поддерживают исключительными личными жертвами группа волевых и компетентных соратников, трудно тягаться с коллективом у которого есть цель, план развития, и видение изнутри всего многообразия цифровой индустрии.
    Ни у одной базы никогда не будет возможности похвастаться полноценной и постоянно улучшающейся поддержки очередей, встроенных каталогов интеграции данных, отдельная но хорошо отлаженная для совместной работы на сервере службы OLAP, и полноценного ядра обработки данных непосредственно в памяти резидента выполнимого ( Hecaton ). Плюс разнообразные форматы хранения данных, безупречная поддержка языков и кодирования символов, c SQL Server трудно состязаться. А возможность запросто вскрыть протокол общения и просмотреть запросы выполненные базой через profiler делают работу как разработчика, так и службы поддержки простой и легко поддающейся уму человека, у которого есть семья, дети, родители, и что - то в жизни, кроме работы.
    ----
    Я писал этот пост и уже тогда подумал, что MySQL и PostgreSQL не полный выбор из возможного списка конкурентов SQL Server на место СУБД. Меня, в свое время, заинтересовал Линтер. Раньше эта СУБД считалась русской, но в 2015-м - 17-м проскользнули данные о выкупе продукта зарубежными гражданами. Оставив темную историю с правами на продукт в стороне, по моим оценкам у базы есть все необходимые качества для обслуживания цифрового предприятия.
    Возможно там есть ограничения по количеству потоков, объему хранимых данных. Это наверное надо проверить с поставщиком.
    Поиск и оценку русских продуктов СУБД я веду непрерывно, и буду благодарен за любые подсказки и указатели.
    Ответ написан
    1 комментарий
  • Как в Вывести обединение таблиц по условию ??

    @Miron11
    Пишу sql 20 лет. Срок :)
    Книга без автора?
    Код книги в списке авторов?
    Если первое ещё возможно, если запись утеряна, то второе, это скорее пережиток ручной учетной записи, которую не стоит мучать в СУБД.
    Может не так элегантно, но понятнее сделать UNION
    1. select ..., min(author_id) from books inner join authors on books.author_id = authors.author_id
    group by ...
    2. select ..., 'empty' as author_id from books where not exists ( select 1 from authors where author_id = books.author_id)
    и представить их
    1 union 2
    -- CTE прекрасно работают с union, их надо вынести в предъём выражения.
    -- Если у авторов есть взаимоотношения родитель - ребенок, то эти взаимоотношения и отслеживаются в CTE, там же задается указатель уровня, по которому можно выбрать старшую запись в выборке ( where parent_level = 1 )
    Ответ написан
    Комментировать
  • Как скопировать представление?

    @Miron11
    Пишу sql 20 лет. Срок :)
    Иногда view создают в какое - то время, а потом база меняется.
    И так view может и есть, но не работает.
    Их можно игнорировать.
    Если базы на самом деле одинаковые, это одно из таких устаревших view, которое не построится и на той базе, из которой Вы его оригинально взяли.
    Возможно есть другие причины... поделитесь копией ошибки и, если имеет смысл, строкой, которая её вызывает.
    Ответ написан
    Комментировать