Microsoft SQL Server Data Tools
Всё необходимое для установки можно найти на странице загрузки в Data Developer Center. Выбрав необходимую версию вы сможете без труда установить инструменты на свой компьютер и описывать это не вижу смысла. После установки в окне создания нового проекта у вас появится новый тип проекта:
Создав новый проект вы увидите следующее:
На панели SQL Server Object Explorer (меню View -> SQL Server Object Explorer) мы видим нечто очень похожее на Object Explorer в SQL Server Management Studio, из которого убрано всё, что не имеет большого смысла на этапе разработки базы данных.
Подключившись к существующей базе, можно производить разработку базы данных в так называемом Connected режиме. Это мало чем отличается от классического подхода используемого в SQL Server Management Studio и в данной статье рассматриваться не будет.
Disconnected режим
Этот режим разработки нам наиболее интересен, т.к. именно он позволяет получить основные преимущества использования SSDT.
В основе работы лежит очень простая идея – позволить разработчикам хранить все скрипты создания объектов БД (tables, views, store procedures и т. д.) в проекте специального типа в составе имеющегося или нового решения (solution). На основе скриптов, Visual Studio может сгенерировать DACPAC файл, который по сути является zip архив со всеми t-sql скриптами. Имея DACPAC файл можно будет произвести публикацию (publish) на требуемом экземпляре базы данных, путём сравнения схемы описанной в DACPAC и схемы в целевой базе данных. В ходе публикации, специальные механизмы производят сравнения, в результате чего автоматически создаются миграционные скрипты для применения изменений без потери данных.
Для того что увидеть это в действии, предлагаю посмотреть следующие примеры.
Начнём с возможности импорта. Вызываем контекстное меню проекта и видим 3 возможных варианта:
- Script (*.sql) – добавляет один или несколько *.sql файлов из заданного расположения в структуру проекта;
- Data-tier Application (*.dacpac) – добавляет *.sql файлы, а так же различные настройки базы данных из специального DACPAC файла, описанного выше; может содержать не только схему базы, но так же данные и различные настройки базы;
- Database… — аналогичен предыдущему варианту, но источником данных служит существующая база
После завершения импорта мы увидим крайне похожую картину, с тем единственным различием, что структура базы будет представлена в Solution Explorer в качестве *.sql файлов.
Так же мы всегда можем добавить новые элементы воспользовавшись диалоговым окном Add New Item, в котором перечислены все возможные объекты базы данных:
Добавим таблицу TestTable. Новый файл-скрипт TestTable.sql будет добавлен в корень проекта и для удобства мы его перенесём в папку Tables.
Для создания схемы таблицы мы можем использовать как панель дизайнера, так и панель T-SQL. Все изменения сделанные на одной панели будут сразу же отображены в другой.
Так же мы можем изменять существующие скрипты. Visual Studio для этого предоставляет удобный и любимый всеми IntelliSense. Так как мы не подключены к физической базе данных, Visual Studio для корректной работы IntelliSence парсит все скрипты в проекте, что позволяет ей мгновенно отражать последние изменения сделанные в схеме базы данных.
Хочу обратить внимание на то, что мы не должны заботиться об инкрементных изменениях нашей базы. Вместо этого мы всегда создаём скрипты так, как если бы объекты создавались заново. При публикации DACPAC пакета миграционные скрипты будут сгенерированы автоматически, путём сравнения DACPAC файла и схемы в целевой базе (target Database).
Как уже упоминалось, DACPAC содержит не только схему и данные, но ещё и ряд полезных настроек, для просмотра/редактирования которых мы можем воспользоваться окном свойств нашего проекта.
Свойство Target platform позволяет выставить версию базы данных, для которой будут валидироваться скрипты в проекте. Минимальная поддерживаемая версия MS SQL Server 2005. Если например задать версию базы 2005 и попробовать создать колонку типа Geography, то при компиляции мы получим следующее сообщение:
На закладке Project Settings, мы можем задать настройки базы данных, нажав на кнопку Database Settings. Нажав на неё мы увидим диалог с настройками, аналогичные тем, что мы привыкли видеть в SQL Server Management Studio:
Так же хочется упомянуть закладку SQLCMD Variables, на которой мы можем задавать различные переменные для дальнейшего их использования в наших скриптах.
Публикация DACPAC файла (publishing)
После того, как все настройки заданы и *.sql скрипты добавлены/обновлены мы можем применить изменения к целевой базе (target database). Для этого идём в меню Build->Publish или же выбираем аналогичный пункт в контекстном меню проекта.
В появившемся диалоговом окне задаём строку подключения к базе назначения (target database) и если необходимо — дополнительные настройки, нажав на кнопку Advanced:
Большинство настроек понятны без дополнительного описания, поэтому не будем на них останавливаться подробно, но рекомендую с ними ознакомиться, что бы в случае невозможности успешно «запаблишить» проект, вы знали в чём может быть проблема.
Если требуется производить публикацию в целевую базу данных более одного раза, то настройки можно сохранить в publish профиль, нажав на кнопку Create Profile. Это добавит в наш проект файл с расширением *.publish.xml и в дальнейшем мы сможем произвести публикацию без необходимости вводить настройки ещё раз. Если же какой-то из профилей публикации должен быть использован по умолчанию, то можно в контекстном меню файла публикации выбрать пункт Set As Default Publish Profile. Этот профиль будет автоматически загружаться в диалог Publish.
- Бесплатная редакция Visual Studio с установленными SSDT (в частности для publish используются клиентские инструменты, входящие в состав DAC Framework, устанавливаемые вместе с SSDT)
- MS SQL Server Management Studio + DAC Framework
- Консольная утилита SqlPackage.exe
- Windows PowerShell (пример)
- Data-tier Application Framework (DACFx) позволяющий поставить DACPAC файл, путём вызова методов из C# программы (документация и пример)
Data Seeding
В нашем проекте создадим папку DataSeeding (имя не имеет значения) и в неё добавим новый скрипт.
По сути все типы в разделе User Script являются обычными *.sql скриптами и отличаются лишь значением свойства “Build Action” у вновь созданного файла.
Логика из файла PostDeployment.sql будет выполнена после применения всех изменений схемы базы данных. В случае создания PreDeployment.sql — логика выполнится перед применением изменений схемы.
Значение свойства Build Action для файлов созданных через шаблон Script (Not in Build) будет установлено в «None». Они полезные для удобного структурирования команд в отдельных файлах, которые вызываются из Pre или Post Deployment скриптов.
Файлы созданные через шаблон Script имеют значение Build Action равное «Build», и их содержимое добавляется к результирующему скрипту, который выполняется при publish’e DACPAC файла в момент изменения схемы базы.
В виду того, что в проекте может быть только один Post Deployment script и его размер может быстро вырасти, рекомендуется логику вставки данных выносить в отдельные скрипты. Именно поэтому мы добавим файл типа Script (Not in Build), а в Post Deployment script добавим ссылку на него. Вот как это будет выглядеть:
Теперь при публикации нашего проекта, в базе всегда будут вставлены 2 записи в таблицу Employees.
Tools -> SQL Server
На ряду с возможностью создания Database проекта, установка SSDT добавляет ряд полезных инструментов, доступных из меню Tools.
Думаю, что из названия и так понятно, что каждый из пунктов делает. Как пример, покажу удобный графический инструмент сравнения схем. В качестве источника и целевого объекта можно выбрать один из трех вариантов:
Мы сравним наш проект с локальной базой данных. Результат сравнения будет выглядеть следующим образом:
В результирующем окне мы можем применить различные способы группировки (по схеме, по типу объектов и по требуемому действию) для более удобного просмотра предлагаемых изменений и выбрать те объекты, которые требуется обновить. Для того, что бы применить миграционный скрипт необходимо нажать кнопку Update – это приведёт Target DB к состоянию нашего проекта.
Refactoring
Это моя любимая фича. Для примера, покажем как переименовать колонку LastName в таблице Employees. Для этого открываем скрипт создания таблицы, в редакторе таблицы выделяем колонку LastName и в меню SQL -> Refactor выбираем пункт Rename:
Задаём новое имя:
Просматриваем последствия переименования и применяем предложенные изменения:
В результате все скрипты будут изменены и после первого рефакторинга в проект будет добавлен специальный файл *.refactoring. В нём будут сохраняться все изменения схемы в историческом порядке в формате XML документа. Эти данные будут полезны при генерации миграционного скрипта и позволят более правильно мигрировать схему и данные.
Unit testing
Создадим наш первый юнит тест. Для этого вызовем контекстное меню для хранимой процедуры, которую мы хотим протестировать:
В появившемся диалоговом окне у нас будет возможность выбрать дополнительные объекты (если они есть) и задать тип и имя тестового проекта и имя класса, содержащего код юнит теста:
Создав проект нам будет предложено выбрать базу данных на которой будут запускаться тесты, а также некоторые настройки проекта:
После успешного создания у нас откроется графический редактор юнит теста, в нижней части которого будут представлены различные проверки для тестируемого объекта. В нашем случае это хранимая процедура EmployeeGetList.
Наша задача сводится к тому, что бы написать необходимый Sql скрипт и задать требуемые условия проверки, которые будут произведены после выполнения кода скрипта. Проверки могут быть разные: время исполнения, количество возращённых строк, Checksum возвращённых данных и т.п. Полный список проверок можно найти в выпадающем меню под текстом скрипта и над таблицей проверок. Для каждой проверки можно задать ряд настроек через стандартную панель Properties. Для её вызова необходимо в контекстном меню конкретной проверки выбрать пункт Properties.
Например, вот так будет выглядеть проверка возвращаемого количества строк:
А вот так можно проверить Checksum:
По сути эта проверка выполняет наш скрипт (получает 2 строки из таблицы Employees) и на полученных данных находит Checksum. Наша задача на этапе создания теста, найти эталонные данные, на них посчитать Checksum и в дальнейшем с этим значением будет производиться сверка полученного результата. Иными словами, это удобный способ убедиться, что результат хранимой процедуры не меняется. Для получения контрольного значения Checksum, необходимо воспользоваться кнопкой в окне Properties, которая позволит выбрать эталонную базу и получить эталонное значение Cheсksum:
Prerequisites for ssdt что это
Completing the CAPTCHA proves you are a human and gives you temporary access to the web property.
What can I do to prevent this in the future?
If you are on a personal connection, like at home, you can run an anti-virus scan on your device to make sure it is not infected with malware.
If you are at an office or shared network, you can ask the network administrator to run a scan across the network looking for misconfigured or infected devices.
Another way to prevent getting this page in the future is to use Privacy Pass. You may need to download version 2.0 now from the Chrome Web Store.
Cloudflare Ray ID: 71a951050b999064 • Your IP : 82.102.23.104 • Performance & security by Cloudflare
Prerequisites for ssdt что это за программа и нужна ли она
Должен ли я удалить предварительные условия для Ssdt?
Предварительные требования для SSDT нельзя удалить из-за множества других проблем. Неполное удаление Prerequisites for SSDT также может вызвать множество проблем. Итак, это действительно важно чтобы полностью удалить необходимые компоненты для SSDT и удалите все его файлы.
Для чего используется Ssdt?
SQL Server Data Tools (SSDT) - это современный инструмент разработки для построения реляционных баз данных SQL Server, базы данных в Azure SQL, модели данных служб Analysis Services (AS), пакеты служб Integration Services (IS) и отчеты служб Reporting Services (RS).
Требуется ли для Ssdt лицензия Visual Studio?
Вам не нужно устанавливать SSDT в Visual Studio 2019, даже в Community. Перейдите в новый проект, введите SQL и нажмите Return. Будет написано что-то вроде «Проект базы данных SQL Server».
Как узнать, установлен ли у меня Ssdt?
Чтобы убедиться, что SSDT установлен, щелкните Help / About Microsoft Visual Studio и найдите в списке SQL Server Data Tools.. Последняя версия SSDT — 14.0. 60525.0.
Установка SQL Server Data Tools (SSDT)
Как удалить Ssdt?
Вы можете удалить Microsoft SQL Server Data Tools со своего компьютера с помощью Функция добавления / удаления программы на панели управления Windows. Когда вы найдете программу Microsoft SQL Server Data Tools, щелкните ее и выполните одно из следующих действий: Windows Vista / 7/8/10: нажмите «Удалить».
Как удалить Ssdt в Visual Studio 2013?
Вы должны удалить SSDT через Установка и удаление программ на панели управления. Нажать на SSDT продукт и щелкните удалить.
Как мне запустить Ssdt?
- Запустите Visual Studio 2017. .
- В меню «Файл» нажмите «Создать», затем нажмите «Проект» (или нажмите CTRL + Shift + N). .
- Выберите проект базы данных SQL Server, введите и введите WideWorldImporters-SSDT в качестве имени проекта. .
- Нажмите ОК, чтобы создать проект.
Что означает Ssdt?
Инструменты данных SQL Server (SSDT) трансформирует разработку баз данных, вводя повсеместную декларативную модель, охватывающую все этапы разработки базы данных в Visual Studio.
Является ли ssas инструментом ETL?
Что такое SSAS, SSIS и SSRS? Microsoft SQL Server предоставляет множество инструментов для управления и использования ваших данных. . извлечение, преобразование и загрузка данных известны как ETL и является общим термином в миграции данных и бизнес-аналитике. SSRS расшифровывается как Sql Server Reporting Services.
Вам нужна лицензия на SSIS?
Да, при условии, что машина подпадает под соответствующая лицензия SQL Server. Как было сказано ранее, вы не можете установить клиентские инструменты SSIS без использования лицензии SQL Server. Однако вам не нужно устанавливать SQL Server в окне клиентских инструментов SSIS, если вы этого не хотите.
Требуется ли для сообщества Visual Studio лицензия?
Нет, Community Edition можно использовать бесплатно для многих сценариев.. Вы можете узнать об этом подробнее здесь. Если при установке версии Community запрашивается лицензия, возможно, вам придется войти в систему, чтобы разблокировать среду IDE.
Являются ли инструменты данных SQL Server для Visual Studio бесплатными?
В Visual Studio 2019 необходимые функции для включения проектов служб Analysis Services, Integration Services и Reporting Services были перенесены только в соответствующие расширения Visual Studio (VSIX). . Вы можете скачать SSDT для VS 2017 (автономный установщик) бесплатно.
Где устанавливается Ssdt?
SSDT используется в Visual Studio для разработки пакетов служб Integration Services, и его необходимо установить. в среде разработки для создания проектов служб интеграции.
Как узнать, работает ли SSIS?
1 ответ. Вы можете перейти в диспетчер конфигурации SQL Server (обычно доступно в Пуск> Sql Server 2008 R2> Инструменты настройки). После запуска у вас есть доступ ко всем доступным сервисам. Если там есть Sql Server Integration Services 10.0, вы можете щелкнуть его правой кнопкой мыши и запустить, если он еще не запущен.
Могу ли я установить SSIS без SQL Server?
Вы не можете запустить пакет SSIS (. dtsx) без установки служб интеграции SQL Server. Минимальные требования — это клиентские инструменты SSIS и служебная программа DTEXEC, поэтому вы должны установить общую функцию служб Integration Services с установочного носителя SQL Server.
Prerequisites for ssdt что это за программа и нужна ли она
![]()
Сегодня я хочу немного рассказать о концепции (слово громкое, но почему-то другого не приходит на ум с ходу) Data-tier Applications.
А точнее об инструментах для её реализации DACFx и Microsoft SQL Server Data Tools (SSDT). А если еще точнее – о части возможностей по расширению этих инструментов.
Но давайте все по порядку…
Что такое DACFx и SSDT?
DACFx – это набор инструментов для управление развертыванием баз данных для SQL Server или SQL Azure (т.е. “SQL Server в облаке”).
SSDT – это расширение для Visual Studio (начиная с VS 2010, но последние версии обновляются уже только для VS 2013), которое позволяет разрабатывать, отлаживать, тестировать, и т.д. код для SQL Server (это может быть как T-SQL код, так и .Net, т.е. SQLCLR код).
![]()
Т.е., по большому счету SSDT является наследником Database projects, которые были в Visual Studio, если не ошибаюсь, с 2008 версии. Причем вы получаете сразу кучу плюсов в одном флаконе: подсказки к коду, отладка, работа с планами запросов, поддержка проектов (т.е. контроль версий, сборка, тестирование, …)
Следующий вопрос – как связаны между собой DacFx, SQL Server, SSDT? А собственно вот так:
![]()
Центральным звеном этой системы является так называемый DAC-пакет (DACPAC) – это по сути дистрибутив развертываемой базы, который содержит в себе информацию обо всех объектах базы: таблицах, вьюхах, хранимых процедурах, дополнительных скриптах (которые выполняются только в момент деплоя), сборках SQLCLR и т.д.
Остальные участники приведенной схемы всячески используют этот пакет:
- Результатом компиляции проекта в SSDT является DAC-пакет (плюс пакеты можно использовать в обратном направлении – как источник: экспортировать из них объекты в проект или подключать их как references – в последнем случае, например, можно подключить DAC-пакет базы master и получить подсказку по коду для кучи системных ХП, View и таблиц)
- DacFx поставляется вместе с SQL Server (начиная, если не ошибаюсь, с 2008-го сервера) + его можно установить отдельно (если нужна более новая версия или если нужно делать удаленную установку – например, для SQL Azure) и обеспечивает следующие команды:
- возможность контролировать какая версия пакета установлена
- какие вносились изменения в базу (например, добавлялись индексы или менялись ХП) с момента развертывания DAC-пакета
Вызывать эти операции можно через:
- UI SSMS
- консольную утилиту SqlPackage.exe, которая идет в поставке DACFx
- UI Visual Studio
- MSBuild (это для случая, когда деплой делается прямо в процессе сборки)
- Management Portal for SQL Azure
- Web Deploy (т.е. одновременно с развертыванием сайта, можно развернуть и базу к нему)
- Свой код
Вот, например, так выглядит строка деплоя базы Northwind через SqlPackage.exe:
sqlpackage /a:publish /sf:Northwind.dacpac /tcs:»Data Source=(local);Integrated Security=True;Initial Catalog=Northwind»
Для каких версий это работает и как там с совместимостью?
Говоря о совместимости, нужно сказать в первую очередь следующее: для DACFx и SSDT при переходе с версии 2.0 на 3.0 была нарушена совместимость. Обновление было выпущено в октябре 2012 года и соответственно новые версии DACFx не могут работать с пакетами созданными в ранних версиях DACFx и SSDT, и наоборот – старые не работают с новыми.
Изменения коснулись как формата пакета, так и API.
Какие здесь рекомендации:
- с практически 100% вероятностью, если вы ставите обновления SSDT (о которых сообщает Extensions and Updates Manager студии), то даже на Visual Studio 2010 вы будете работать c версией SSDT, которая генерирует пакеты в формате 3.0
- соответственно, если вам необходимо ставить пакеты на SQL Server более ранних версий, вам следует установить Data-Tier Application Framework самостоятельно.
Собственно, найти Data-Tier Application Framework можно на сайте MSDN Downloads. Например, на текущий момент это можно сделать по ссылке Microsoft® SQL Server® Data-Tier Application Framework (April 2014).
Prerequisites for ssdt что это
This forum has migrated to Microsoft Q&A. Visit Microsoft Q&A to post new questions.
Answered by:
Question
I am working on defining the uninstall process for SSDT (I haven’t decided if it will be manual or automated yet) and have some questions:
- What programs should be uninstalled? I tested uninstalling “Microsoft SQL Server Data Tools 2012” and I couldn’t really tell if anything was uninstalled. Should I also be uninstalling " Microsoft SQL Server Data Tools – enu (11.1.30618.1)"?
- I understand why some of install pieces remain but I was surprised to see that the local database does not get uninstalled. Why is that?
- Below is the list of 32 and 64 registries that remain after uninstalling “Microsoft SQL Server Data Tools 2012” which I would like someone to verify. Does this look correct?
32bit Registry Display Names:
- Microsoft Help Viewer 2.0
- Tools for .Net 3.5
- Microsoft .NET Framework 4.5 SDK
- Microsoft Visual Studio 2012 Preparation
- Microsoft Visual Studio Ultimate 2012 XAML UI Designer enu Resources
- Microsoft SQL Server 2012 Management Objects
- Microsoft Visual Studio 2012 Devenv
- Prerequisites for SSDT
- Microsoft Visual Studio 2012 Shell (Minimum) Resources
- Microsoft SQL Server 2012 Data-Tier App Framework
- Microsoft Visual Studio 2012 Shell (Integrated)
- Microsoft Visual Studio 2012 Shell (Integrated)
- Microsoft .NET Framework 4.5 Multi-Targeting Pack
- Microsoft SQL Server Data Tools Build Utilities — enu (11.1.30618.1)
- Microsoft Visual Studio 2012 Shell (Minimum)
- Microsoft Visual Studio 2012 Shell (Minimum) Interop Assemblies
- Microsoft Visual Studio 2012 Shell (Isolated)
- Microsoft SQL Server Data Tools — enu (11.1.30618.1)
- Microsoft Visual Studio 2012 Devenv Resources
- Microsoft Visual Studio 2012 Shell (Isolated) Resources
- Microsoft Visual Studio 2012 Shell (Isolated) Language Pack – ENU
- Microsoft Visual Studio Ultimate 2012 XAML UI Designer Core
- Microsoft System CLR Types for SQL Server 2012
- Microsoft .NET Framework 4 Multi-Targeting Pack
- Update for (KB2504637)
- Microsoft Visual Studio 2012 Shell (Isolated)
- Microsoft Visual Studio 2012 Shell (Integrated) Language Pack – ENU
- Microsoft Help Viewer 2.0
64bit Display Names:
- Visual Studio 2012 Prerequisites — ENU Language Pack
- Microsoft SQL Server 2012 Management Objects (x64)
- Microsoft SQL Server 2012 Transact-SQL ScriptDom
- Visual Studio 2012 Prerequisites
- Microsoft SQL Server 2012 Express LocalDB
- Microsoft System CLR Types for SQL Server 2012 (x64)
- Microsoft SQL Server 2012 T-SQL Language Service
- Microsoft SQL Server 2012 Data-Tier App Framework (x64)
Answers
Uninstall to which particular state is the question?
SSDT has a pre-requisite in the form of the Visual Studio shell, which can be installed by many things, SSDT is just one, so it is shared, same hold true for the .NET framework.
If you only want to uninstall the SSDT the component list is rather short as the rest is shared with other Visual Studio installation.
- Prerequisites for SSDT
- Microsoft SQL Server 2012 Data-Tier App Framework
- Microsoft SQL Server Data Tools Build Utilities — enu (11.1.30618.1)
- Microsoft SQL Server Data Tools — enu (11.1.30618.1)
64bit Display Names:
- Microsoft SQL Server 2012 Transact-SQL ScriptDom
- Microsoft SQL Server 2012 Data-Tier App Framework (x64)
For example localdb ( Microsoft SQL Server 2012 Express LocalDB) is a shared Visual Studio component as of Visual Studio 2012 (replacing SQL Express from previous editions).
The Microsoft SQL Server 2012 Management Objects (x64) is used by the Server Explorer tool windows in Visual Studio, hence not exclusive to SSDT.
If your goal is to uninstall SSDT and all Visual Studio components your list seems to be of an installation which has the SSDT BI tools and Database Projects installed, however as noted before if there were other Visual Studio dependent tools removing some of these packages will break it.