Оффлайновая установка SSDT
Одним из новшеств SQL Server 2012 считаются SSDT - SQL Server Data Tools, известные ранее, как Juneau. Идейно это знакомый всем по прошлым версиям VS датабазный проект, однако теперь эта возможность относится не к Visual Studio, а к SQL Server и бесплатно скачивается с веб-сайта Microsoft. Соответственно, платить отдельные деньги за Visual Studio в этом случае не нужно подобно тому, как ранее входили в BIDS проекты по разработке для Analysis Services, Integration Services и Reporting Services. Вижуалстудийная оболочка вместе с несколькими типовыми шаблонами устанавливается в составе сетапа SQL Server 2012, а непосредственно шаблон Database-проекта добавляется Web Installer'ом при первом к нему обращении.
Посмотреть сравнительную матрицу характеристик SQL Server Data Tools CTP4 по отношению к традиционным VS2010 Database Projects можно здесь. Узнать, что нового появилось в 4-м СТР SSDT можно здесь.
Желание установить SSDT обозначается в ходе штатной установки SQL Server 2012:
Рис.1
И действительно, по завершении установки соответствующий пункт появляется в SQL Serverном меню:
Рис.2
Нажатие этого пункта открывает обыкновенную среду Visual Studio (в данном примере VS2010 SP1 Ultimate уже была установлена на демонстрационной машине):
Рис.3
в которой, как в BIDS (Business Intelligence Development Studio) в SQL Server 2005, 2008, 2008 R2, можно создавать многомерные базы для Analysis Services, пакеты Integration Services и отчеты Reporting Services. Обратите внимание, что в SSAS наряду с традиционной многомеркой нарисовался тип проекта Tabular. Это появившийся в 2008 R2 PowerPivot в смысле движка VertiPaq (колоночные индексы, сжатие, in-memory OLAP, все дела), только не персональный в Excel и не в Sharepoint, а на стороне сервера Analysis Services.
Рис.4
Рис.5
В пункте Database\SQL Server содержатся проекты, позволяющие создавать хранимые процедуры, функции, триггеры, агрегаты для SQL Server на C# и VB, датабазные проекты для SQL Server предыдущих версий, а также проекты по созданию Data-Tier Application (dacpac), позволяющие запаковать базу в XML-манифест, что облегчает ее перенос между экземплярами SQL Server и в SQL Azure. Для 2012 эта возможность входит в стандартный датабазный проект.
Рис.6
который находится в пункте SQL Server и для которого не требуется приобретать VS в отличие от Рис.6.
Рис.7
Инсталляция SQL Server только обозначает, но не устанавливает сам шаблон данного проекта, и попытка его открыть приведет к тому, что VS, радостно шурша, попрется в Интернет по адресу http://www.microsoft.com/web/gallery/install.aspx?appid=SSDT и запустит веб-инсталлятор SSDT:
Рис.8
Рис.9
Рис.10
Далее начались какие-то чудеса. За каким-то лешим ей захотелась папка, откуда я в прошлом году ставил древний СТР Juneau:
Рис.11
которой она, естественно, не нашла и сильно расстроилась:
Рис.12
Разъяснение этому странному поведению отыскалось в блоге команды SSDT:
As it stands now, all of the SSDT launch points within SQL Server 2012 RC0 point to the older SQL Server Developer Tools CTP3 Code-named “Juneau” binaries. These bits are not compatible with SQL Server 2012 RC0... We are working diligently to correct this issue... We apologize for the delay and inconvenience...
Действительно, через 3 дня положение дел было исправлено: We are happy to announce that SQL Server Data Tools CTP4 (SSDT) is now available for download here! This release is fully integrated and compatible with SQL Server 2012 RC0.
Установка происходит аналогично VS2010 SP1. Скачивается относительно небольшой установщик, который на месте разбирается, что из пререквизитов требуется поставить и качает из Интернета их, а также, собственно, основной контент.
Рис.13
Если разработческая машина не подключена к Интернету, то идем туда, где он есть и выбираем один из указанных в п.2.1 (Рис.13) адресов в зависимости от языка, например, http://go.microsoft.com/fwlink/?LinkID=236828&clcid=0x409 для английской версии. Скачиваем установщик SSDTSetup.exe
Рис.14
и запускаем его в виде
"C:\Distrib\SSDT CTP4\SSDTSetup.exe" /layout "C:\Juneau CTP4 Standalone Install". В указанной в назначении папке создастся оффлайновый дистрибутив, который можно отнести на изолированную машину и запустить там. Поскольку установщик не знает, какие пререквизиты понадобятся, он их скачивает по максимуму все, так что процесс это не быстрый:
Рис.15
и если посредине случится какая-либо неприятность, ничем хорошим он не закончится:
Рис.16
Особенно грустно, когда это происходит на последних процентах. Делать нечего, открываю по ссылке журнал установки. Вначале перечисляются пакеты, которые установщик запланировал скачать:
[1784:1234][2012-02-23T20:55:08]: Planned package: NETFX4, state: Present, default requested: Cache, ux requested: Cache, execute: None, rollback: None, cache: No, uncache: No, dependency: Register
[1784:1234][2012-02-23T20:55:08]: Planned package: KB2468871V2_x86, state: Absent, default requested: Cache, ux requested: Cache, execute: None, rollback: None, cache: No, uncache: No, dependency: Unregister
[1784:1234][2012-02-23T20:55:08]: Planned package: KB2468871V2_x64, state: Absent, default requested: Cache, ux requested: Cache, execute: None, rollback: None, cache: No, uncache: No, dependency: Unregister
[1784:1234][2012-02-23T20:55:08]: Planned package: VISUALSTUDIO2010INTEGRATEDRTM, state: Absent, default requested: Cache, ux requested: Cache, execute: None, rollback: None, cache: No, uncache: No, dependency: Unregister
[1784:1234][2012-02-23T20:55:08]: Planned package: VISUALSTUDIO2010SP1PATCH, state: Absent, default requested: Cache, ux requested: Cache, execute: None, rollback: None, cache: No, uncache: No, dependency: Unregister
[1784:1234][2012-02-23T20:55:08]: Planned package: KB2544514, state: Absent, default requested: Cache, ux requested: Cache, execute: None, rollback: None, cache: No, uncache: No, dependency: Unregister
[1784:1234][2012-02-23T20:55:08]: Planned package: SQLLS11X86, state: Absent, default requested: Cache, ux requested: Cache, execute: None, rollback: None, cache: No, uncache: No, dependency: Unregister
[1784:1234][2012-02-23T20:55:08]: Planned package: SQLLS11X64, state: Absent, default requested: Cache, ux requested: Cache, execute: None, rollback: None, cache: No, uncache: No, dependency: Unregister
[1784:1234][2012-02-23T20:55:08]: Planned package: SQLDOM11X86, state: Absent, default requested: Cache, ux requested: Cache, execute: None, rollback: None, cache: No, uncache: No, dependency: Unregister
[1784:1234][2012-02-23T20:55:08]: Planned package: SQLDOM11X64, state: Absent, default requested: Cache, ux requested: Cache, execute: None, rollback: None, cache: No, uncache: No, dependency: Unregister
[1784:1234][2012-02-23T20:55:08]: Planned package: TSQLLANGSVC11X86, state: Absent, default requested: Cache, ux requested: Cache, execute: None, rollback: None, cache: No, uncache: No, dependency: Unregister
[1784:1234][2012-02-23T20:55:08]: Planned package: TSQLLANGSVC11X64, state: Absent, default requested: Cache, ux requested: Cache, execute: None, rollback: None, cache: No, uncache: No, dependency: Unregister
[1784:1234][2012-02-23T20:55:08]: Planned package: DACFX11X86, state: Absent, default requested: Cache, ux requested: Cache, execute: None, rollback: None, cache: No, uncache: No, dependency: Unregister
[1784:1234][2012-02-23T20:55:08]: Planned package: DACFX11X64, state: Absent, default requested: Cache, ux requested: Cache, execute: None, rollback: None, cache: No, uncache: No, dependency: Unregister
[1784:1234][2012-02-23T20:55:08]: Planned package: SQLLOCALDBX86, state: Absent, default requested: Cache, ux requested: Cache, execute: None, rollback: None, cache: No, uncache: No, dependency: Unregister
[1784:1234][2012-02-23T20:55:08]: Planned package: SQLLOCALDBX64, state: Absent, default requested: Cache, ux requested: Cache, execute: None, rollback: None, cache: No, uncache: No, dependency: Unregister
[1784:1234][2012-02-23T20:55:08]: Planned package: SQLCLRTYPES11X86, state: Absent, default requested: Cache, ux requested: Cache, execute: None, rollback: None, cache: No, uncache: No, dependency: Unregister
[1784:1234][2012-02-23T20:55:08]: Planned package: SQLCLRTYPES11X64, state: Absent, default requested: Cache, ux requested: Cache, execute: None, rollback: None, cache: No, uncache: No, dependency: Unregister
[1784:1234][2012-02-23T20:55:08]: Planned package: SQLSMO11X86, state: Absent, default requested: Cache, ux requested: Cache, execute: None, rollback: None, cache: No, uncache: No, dependency: Unregister
[1784:1234][2012-02-23T20:55:08]: Planned package: SQLSMO11X64, state: Absent, default requested: Cache, ux requested: Cache, execute: None, rollback: None, cache: No, uncache: No, dependency: Unregister
[1784:1234][2012-02-23T20:55:08]: Planned package: SSDTEXTERNALS10, state: Absent, default requested: Cache, ux requested: Cache, execute: None, rollback: None, cache: No, uncache: No, dependency: Unregister
[1784:1234][2012-02-23T20:55:08]: Planned package: SSDTBUILDUTILITIES10, state: Absent, default requested: Cache, ux requested: Cache, execute: None, rollback: None, cache: No, uncache: No, dependency: Unregister
[1784:1234][2012-02-23T20:55:08]: Planned package: SSDT10, state: Absent, default requested: Cache, ux requested: Cache, execute: None, rollback: None, cache: No, uncache: No, dependency: Unregister
[1784:1234][2012-02-23T20:55:08]: Planned package: DBSQLPACKAGEPROVIDER10, state: Absent, default requested: Cache, ux requested: Cache, execute: None, rollback: None, cache: No, uncache: No, dependency: Unregister
[1784:1234][2012-02-23T20:55:08]: Plan complete, result: 0x0
[1784:1234][2012-02-23T20:55:08]: Apply begin
после чего началась их непосредственная скачка:
[1784:09A4][2012-02-23T20:55:09]: Download engine HTTP 200 HEAD to http://go.microsoft.com/fwlink/?LinkId=236827\&clcid=0x409
[1784:09A4][2012-02-23T20:55:09]: Download engine HTTP 200 GET to http://go.microsoft.com/fwlink/?LinkId=236827\&clcid=0x409
[1784:09A4][2012-02-23T21:01:38]: Caching payload from working path 'C:\Users\ADMINI~1\AppData\Local\Temp\NETFX4' to path 'C:\Juneau CTP4 Standalone Install\payload\dotNetFx40_Full_x86_x64.exe'
[1784:09A4][2012-02-23T21:01:40]: Download engine HTTP 200 HEAD to http://go.microsoft.com/fwlink/?LinkId=236829\&clcid=0x409
[1784:09A4][2012-02-23T21:01:41]: Download engine HTTP 200 GET to http://go.microsoft.com/fwlink/?LinkId=236829\&clcid=0x409
[1784:09A4][2012-02-23T21:10:08]: Caching payload from working path 'C:\Users\ADMINI~1\AppData\Local\Temp\KB2468871V2_x86' to path 'C:\Juneau CTP4 Standalone Install\payload\x86\NDP40-KB2468871-v2-x86.exe'
[1784:09A4][2012-02-23T21:10:09]: Download engine HTTP 200 HEAD to http://go.microsoft.com/fwlink/?LinkId=236814\&clcid=0x409
[1784:09A4][2012-02-23T21:10:10]: Download engine HTTP 200 GET to http://go.microsoft.com/fwlink/?LinkId=236814\&clcid=0x409
[1784:09A4][2012-02-23T21:14:49]: Caching payload from working path 'C:\Users\ADMINI~1\AppData\Local\Temp\KB2468871V2_x64' to path 'C:\Juneau CTP4 Standalone Install\payload\x64\NDP40-KB2468871-v2-x64.exe'
[1784:09A4][2012-02-23T21:14:50]: Download engine HTTP 200 HEAD to http://go.microsoft.com/fwlink/?LinkId=236806\&clcid=0x409
[1784:09A4][2012-02-23T21:14:51]: Download engine HTTP 200 GET to http://go.microsoft.com/fwlink/?LinkId=236806\&clcid=0x409
[1784:09A4][2012-02-23T21:17:36]: Caching payload from working path 'C:\Users\ADMINI~1\AppData\Local\Temp\VISUALSTUDIO2010INTEGRATEDRTM' to path 'C:\Juneau CTP4 Standalone Install\payload\x86\VSIntShell.exe'
[1784:09A4][2012-02-23T21:17:37]: Download engine HTTP 503 HEAD to http://go.microsoft.com/fwlink/?LinkId=236807\&clcid=0x409
[1784:09A4][2012-02-23T21:17:37]: Error 0x80070003: Failed to send request to URL: http://go.microsoft.com/fwlink/?LinkId=236807\&clcid=0x409
[1784:09A4][2012-02-23T21:17:37]: Error 0x80070003: Failed to connect to URL: http://go.microsoft.com/fwlink/?LinkId=236807\&clcid=0x409
[1784:09A4][2012-02-23T21:17:37]: Error 0x80070003: Failed to get size and time for URL: http://go.microsoft.com/fwlink/?LinkId=236807\&clcid=0x409
[1784:09A4][2012-02-23T21:17:37]: Error 0x80070003: Failed attempt to download URL: 'http://go.microsoft.com/fwlink/?LinkId=236807&clcid=0x409' to: 'C:\Users\ADMINI~1\AppData\Local\Temp\VISUALSTUDIO2010SP1PATCH'
[1784:09A4][2012-02-23T21:17:41]: Download engine HTTP 503 HEAD to http://go.microsoft.com/fwlink/?LinkId=236807\&clcid=0x409
[1784:09A4][2012-02-23T21:17:41]: Error 0x80070003: Failed to send request to URL: http://go.microsoft.com/fwlink/?LinkId=236807\&clcid=0x409
[1784:09A4][2012-02-23T21:17:41]: Error 0x80070003: Failed to connect to URL: http://go.microsoft.com/fwlink/?LinkId=236807\&clcid=0x409
[1784:09A4][2012-02-23T21:17:41]: Error 0x80070003: Failed to get size and time for URL: http://go.microsoft.com/fwlink/?LinkId=236807\&clcid=0x409
[1784:09A4][2012-02-23T21:17:41]: Error 0x80070003: Failed attempt to download URL: 'http://go.microsoft.com/fwlink/?LinkId=236807&clcid=0x409' to: 'C:\Users\ADMINI~1\AppData\Local\Temp\VISUALSTUDIO2010SP1PATCH'
[1784:09A4][2012-02-23T21:17:45]: Download engine HTTP 200 HEAD to http://go.microsoft.com/fwlink/?LinkId=236807\&clcid=0x409
[1784:09A4][2012-02-23T21:17:45]: Download engine HTTP 200 GET to http://go.microsoft.com/fwlink/?LinkId=236807\&clcid=0x409
[1784:09A4][2012-02-23T21:38:05]: Caching payload from working path 'C:\Users\ADMINI~1\AppData\Local\Temp\VISUALSTUDIO2010SP1PATCH' to path 'C:\Juneau CTP4 Standalone Install\payload\x86\VS10sp1-KB983509.exe'
[1784:09A4][2012-02-23T21:38:06]: Download engine HTTP 200 HEAD to http://go.microsoft.com/fwlink/?LinkId=236808\&clcid=0x409
[1784:09A4][2012-02-23T21:38:08]: Download engine HTTP 200 GET to http://go.microsoft.com/fwlink/?LinkId=236808\&clcid=0x409
[1784:09A4][2012-02-23T21:38:20]: Caching payload from working path 'C:\Users\ADMINI~1\AppData\Local\Temp\KB2544514' to path 'C:\Juneau CTP4 Standalone Install\payload\NDP40-KB2544514-x86-x64.exe'
[1784:09A4][2012-02-23T21:38:21]: Download engine HTTP 200 HEAD to http://go.microsoft.com/fwlink/?LinkId=236830\&clcid=0x409
[1784:09A4][2012-02-23T21:38:22]: Download engine HTTP 200 GET to http://go.microsoft.com/fwlink/?LinkId=236830\&clcid=0x409
[1784:09A4][2012-02-23T21:43:59]: Caching payload from working path 'C:\Users\ADMINI~1\AppData\Local\Temp\SQLLS11X86' to path 'C:\Juneau CTP4 Standalone Install\payload\x86\sqlls.msi'
[1784:09A4][2012-02-23T21:44:00]: Download engine HTTP 200 HEAD to http://go.microsoft.com/fwlink/?LinkId=236822\&clcid=0x409
[1784:09A4][2012-02-23T21:44:02]: Download engine HTTP 200 GET to http://go.microsoft.com/fwlink/?LinkId=236822\&clcid=0x409
[1784:09A4][2012-02-23T21:44:24]: Caching payload from working path 'C:\Users\ADMINI~1\AppData\Local\Temp\SQLLS11X64' to path 'C:\Juneau CTP4 Standalone Install\payload\x64\sqlls.msi'
[1784:09A4][2012-02-23T21:44:25]: Download engine HTTP 200 HEAD to http://go.microsoft.com/fwlink/?LinkId=236809\&clcid=0x409
[1784:09A4][2012-02-23T21:44:26]: Download engine HTTP 200 GET to http://go.microsoft.com/fwlink/?LinkId=236809\&clcid=0x409
[1784:09A4][2012-02-23T21:45:24]: Caching payload from working path 'C:\Users\ADMINI~1\AppData\Local\Temp\SQLDOM11X86' to path 'C:\Juneau CTP4 Standalone Install\payload\x86\SQLDom.msi'
[1784:09A4][2012-02-23T21:45:24]: Download engine HTTP 200 HEAD to http://go.microsoft.com/fwlink/?LinkId=236810\&clcid=0x409
[1784:09A4][2012-02-23T21:45:25]: Download engine HTTP 200 GET to http://go.microsoft.com/fwlink/?LinkId=236810\&clcid=0x409
[1784:09A4][2012-02-23T21:46:38]: Caching payload from working path 'C:\Users\ADMINI~1\AppData\Local\Temp\SQLDOM11X64' to path 'C:\Juneau CTP4 Standalone Install\payload\x64\SQLDom.msi'
[1784:09A4][2012-02-23T21:46:40]: Download engine HTTP 200 HEAD to http://go.microsoft.com/fwlink/?LinkId=236811\&clcid=0x409
[1784:09A4][2012-02-23T21:46:41]: Download engine HTTP 200 GET to http://go.microsoft.com/fwlink/?LinkId=236811\&clcid=0x409
[1784:09A4][2012-02-23T21:46:50]: Caching payload from working path 'C:\Users\ADMINI~1\AppData\Local\Temp\TSQLLANGSVC11X86' to path 'C:\Juneau CTP4 Standalone Install\payload\x86\TSqlLanguageService.msi'
[1784:09A4][2012-02-23T21:46:50]: Download engine HTTP 200 HEAD to http://go.microsoft.com/fwlink/?LinkId=236812\&clcid=0x409
[1784:09A4][2012-02-23T21:46:51]: Download engine HTTP 200 GET to http://go.microsoft.com/fwlink/?LinkId=236812\&clcid=0x409
[1784:09A4][2012-02-23T21:47:01]: Caching payload from working path 'C:\Users\ADMINI~1\AppData\Local\Temp\TSQLLANGSVC11X64' to path 'C:\Juneau CTP4 Standalone Install\payload\x64\TSqlLanguageService.msi'
[1784:09A4][2012-02-23T21:47:02]: Download engine HTTP 200 HEAD to http://go.microsoft.com/fwlink/?LinkId=236813\&clcid=0x409
[1784:09A4][2012-02-23T21:47:03]: Download engine HTTP 200 GET to http://go.microsoft.com/fwlink/?LinkId=236813\&clcid=0x409
[1784:09A4][2012-02-23T21:47:09]: Caching payload from working path 'C:\Users\ADMINI~1\AppData\Local\Temp\DACFX11X86' to path 'C:\Juneau CTP4 Standalone Install\payload\x86\DACFramework.msi'
[1784:09A4][2012-02-23T21:47:10]: Download engine HTTP 200 HEAD to http://go.microsoft.com/fwlink/?LinkId=236815\&clcid=0x409
[1784:09A4][2012-02-23T21:47:11]: Download engine HTTP 200 GET to http://go.microsoft.com/fwlink/?LinkId=236815\&clcid=0x409
[1784:09A4][2012-02-23T21:47:17]: Caching payload from working path 'C:\Users\ADMINI~1\AppData\Local\Temp\DACFX11X64' to path 'C:\Juneau CTP4 Standalone Install\payload\x64\DACFramework.msi'
[1784:09A4][2012-02-23T21:47:18]: Download engine HTTP 200 HEAD to http://go.microsoft.com/fwlink/?LinkId=236816\&clcid=0x409
[1784:09A4][2012-02-23T21:47:19]: Download engine HTTP 200 GET to http://go.microsoft.com/fwlink/?LinkId=236816\&clcid=0x409
[1784:09A4][2012-02-23T21:51:15]: Caching payload from working path 'C:\Users\ADMINI~1\AppData\Local\Temp\SQLLOCALDBX86' to path 'C:\Juneau CTP4 Standalone Install\payload\x86\SqlLocalDB.msi'
[1784:09A4][2012-02-23T21:51:16]: Download engine HTTP 503 HEAD to http://go.microsoft.com/fwlink/?LinkId=236817\&clcid=0x409
[1784:09A4][2012-02-23T21:51:16]: Error 0x80070003: Failed to send request to URL: http://go.microsoft.com/fwlink/?LinkId=236817\&clcid=0x409
[1784:09A4][2012-02-23T21:51:16]: Error 0x80070003: Failed to connect to URL: http://go.microsoft.com/fwlink/?LinkId=236817\&clcid=0x409
[1784:09A4][2012-02-23T21:51:16]: Error 0x80070003: Failed to get size and time for URL: http://go.microsoft.com/fwlink/?LinkId=236817\&clcid=0x409
[1784:09A4][2012-02-23T21:51:16]: Error 0x80070003: Failed attempt to download URL: 'http://go.microsoft.com/fwlink/?LinkId=236817&clcid=0x409' to: 'C:\Users\ADMINI~1\AppData\Local\Temp\SQLLOCALDBX64'
[1784:09A4][2012-02-23T21:51:19]: Download engine HTTP 200 HEAD to http://go.microsoft.com/fwlink/?LinkId=236817\&clcid=0x409
[1784:09A4][2012-02-23T21:51:21]: Download engine HTTP 200 GET to http://go.microsoft.com/fwlink/?LinkId=236817\&clcid=0x409
[1784:09A4][2012-02-23T21:51:47]: Caching payload from working path 'C:\Users\ADMINI~1\AppData\Local\Temp\SQLLOCALDBX64' to path 'C:\Juneau CTP4 Standalone Install\payload\x64\SqlLocalDB.msi'
[1784:09A4][2012-02-23T21:51:48]: Download engine HTTP 200 HEAD to http://go.microsoft.com/fwlink/?LinkId=236818\&clcid=0x409
[1784:09A4][2012-02-23T21:51:49]: Download engine HTTP 200 GET to http://go.microsoft.com/fwlink/?LinkId=236818\&clcid=0x409
[1784:09A4][2012-02-23T21:51:51]: Caching payload from working path 'C:\Users\ADMINI~1\AppData\Local\Temp\SQLCLRTYPES11X86' to path 'C:\Juneau CTP4 Standalone Install\payload\x86\SQLSysClrTypes.msi'
[1784:09A4][2012-02-23T21:51:52]: Download engine HTTP 200 HEAD to http://go.microsoft.com/fwlink/?LinkId=236819\&clcid=0x409
[1784:09A4][2012-02-23T21:51:53]: Download engine HTTP 200 GET to http://go.microsoft.com/fwlink/?LinkId=236819\&clcid=0x409
[1784:09A4][2012-02-23T21:51:55]: Caching payload from working path 'C:\Users\ADMINI~1\AppData\Local\Temp\SQLCLRTYPES11X64' to path 'C:\Juneau CTP4 Standalone Install\payload\x64\SQLSysClrTypes.msi'
[1784:09A4][2012-02-23T21:51:56]: Download engine HTTP 200 HEAD to http://go.microsoft.com/fwlink/?LinkId=236820\&clcid=0x409
[1784:09A4][2012-02-23T21:51:57]: Download engine HTTP 200 GET to http://go.microsoft.com/fwlink/?LinkId=236820\&clcid=0x409
[1784:09A4][2012-02-23T21:52:53]: Caching payload from working path 'C:\Users\ADMINI~1\AppData\Local\Temp\SQLSMO11X86' to path 'C:\Juneau CTP4 Standalone Install\payload\x86\SharedManagementObjects.msi'
[1784:09A4][2012-02-23T21:52:54]: Download engine HTTP 200 HEAD to http://go.microsoft.com/fwlink/?LinkId=236821\&clcid=0x409
[1784:09A4][2012-02-23T21:52:56]: Download engine HTTP 200 GET to http://go.microsoft.com/fwlink/?LinkId=236821\&clcid=0x409
[1784:09A4][2012-02-23T21:53:15]: Caching payload from working path 'C:\Users\ADMINI~1\AppData\Local\Temp\SQLSMO11X64' to path 'C:\Juneau CTP4 Standalone Install\payload\x64\SharedManagementObjects.msi'
[1784:09A4][2012-02-23T21:53:16]: Download engine HTTP 200 HEAD to http://go.microsoft.com/fwlink/?LinkId=236823\&clcid=0x409
[1784:09A4][2012-02-23T21:53:17]: Download engine HTTP 200 GET to http://go.microsoft.com/fwlink/?LinkId=236823\&clcid=0x409
[1784:09A4][2012-02-23T21:53:19]: Caching payload from working path 'C:\Users\ADMINI~1\AppData\Local\Temp\SSDTEXTERNALS10' to path 'C:\Juneau CTP4 Standalone Install\payload\x86\SSDTDBSvcExternals.msi'
[1784:09A4][2012-02-23T21:53:20]: Download engine HTTP 200 HEAD to http://go.microsoft.com/fwlink/?LinkId=236824\&clcid=0x409
[1784:09A4][2012-02-23T21:53:22]: Download engine HTTP 200 GET to http://go.microsoft.com/fwlink/?LinkId=236824\&clcid=0x409
[1784:09A4][2012-02-23T21:53:22]: Caching payload from working path 'C:\Users\ADMINI~1\AppData\Local\Temp\SSDTBUILDUTILITIES10' to path 'C:\Juneau CTP4 Standalone Install\ssdt\x86\SSDTBuildUtilities.msi'
[1784:09A4][2012-02-23T21:53:23]: Download engine HTTP 200 HEAD to http://go.microsoft.com/fwlink/?LinkId=236826\&clcid=0x409
[1784:09A4][2012-02-23T21:53:24]: Download engine HTTP 200 GET to http://go.microsoft.com/fwlink/?LinkId=236826\&clcid=0x409
[1784:09A4][2012-02-23T21:53:30]: Caching payload from working path 'C:\Users\ADMINI~1\AppData\Local\Temp\SSDT10' to path 'C:\Juneau CTP4 Standalone Install\ssdt\x86\SSDT.msi'
[1784:09A4][2012-02-23T21:53:30]: Download engine HTTP 503 HEAD to http://go.microsoft.com/fwlink/?LinkId=236825\&clcid=0x409
[1784:09A4][2012-02-23T21:53:30]: Error 0x80070003: Failed to send request to URL: http://go.microsoft.com/fwlink/?LinkId=236825\&clcid=0x409
[1784:09A4][2012-02-23T21:53:30]: Error 0x80070003: Failed to connect to URL: http://go.microsoft.com/fwlink/?LinkId=236825\&clcid=0x409
[1784:09A4][2012-02-23T21:53:30]: Error 0x80070003: Failed to get size and time for URL: http://go.microsoft.com/fwlink/?LinkId=236825\&clcid=0x409
[1784:09A4][2012-02-23T21:53:30]: Error 0x80070003: Failed attempt to download URL: 'http://go.microsoft.com/fwlink/?LinkId=236825&clcid=0x409' to: 'C:\Users\ADMINI~1\AppData\Local\Temp\DBSQLPACKAGEPROVIDER10'
[1784:09A4][2012-02-23T21:53:34]: Download engine HTTP 503 HEAD to http://go.microsoft.com/fwlink/?LinkId=236825\&clcid=0x409
[1784:09A4][2012-02-23T21:53:34]: Error 0x80070003: Failed to send request to URL: http://go.microsoft.com/fwlink/?LinkId=236825\&clcid=0x409
[1784:09A4][2012-02-23T21:53:34]: Error 0x80070003: Failed to connect to URL: http://go.microsoft.com/fwlink/?LinkId=236825\&clcid=0x409
[1784:09A4][2012-02-23T21:53:34]: Error 0x80070003: Failed to get size and time for URL: http://go.microsoft.com/fwlink/?LinkId=236825\&clcid=0x409
[1784:09A4][2012-02-23T21:53:34]: Error 0x80070003: Failed attempt to download URL: 'http://go.microsoft.com/fwlink/?LinkId=236825&clcid=0x409' to: 'C:\Users\ADMINI~1\AppData\Local\Temp\DBSQLPACKAGEPROVIDER10'
[1784:09A4][2012-02-23T21:53:37]: Download engine HTTP 503 HEAD to http://go.microsoft.com/fwlink/?LinkId=236825\&clcid=0x409
[1784:09A4][2012-02-23T21:53:37]: Error 0x80070003: Failed to send request to URL: http://go.microsoft.com/fwlink/?LinkId=236825\&clcid=0x409
[1784:09A4][2012-02-23T21:53:37]: Error 0x80070003: Failed to connect to URL: http://go.microsoft.com/fwlink/?LinkId=236825\&clcid=0x409
[1784:09A4][2012-02-23T21:53:37]: Error 0x80070003: Failed to get size and time for URL: http://go.microsoft.com/fwlink/?LinkId=236825\&clcid=0x409
[1784:09A4][2012-02-23T21:53:37]: Error 0x80070003: Failed attempt to download URL: 'http://go.microsoft.com/fwlink/?LinkId=236825&clcid=0x409' to: 'C:\Users\ADMINI~1\AppData\Local\Temp\DBSQLPACKAGEPROVIDER10'
[1784:09A4][2012-02-23T21:53:41]: Download engine HTTP 503 HEAD to http://go.microsoft.com/fwlink/?LinkId=236825\&clcid=0x409
[1784:09A4][2012-02-23T21:53:41]: Error 0x80070003: Failed to send request to URL: http://go.microsoft.com/fwlink/?LinkId=236825\&clcid=0x409
[1784:09A4][2012-02-23T21:53:41]: Error 0x80070003: Failed to connect to URL: http://go.microsoft.com/fwlink/?LinkId=236825\&clcid=0x409
[1784:09A4][2012-02-23T21:53:41]: Error 0x80070003: Failed to get size and time for URL: http://go.microsoft.com/fwlink/?LinkId=236825\&clcid=0x409
[1784:09A4][2012-02-23T21:53:41]: Error 0x80070003: Failed attempt to download URL: 'http://go.microsoft.com/fwlink/?LinkId=236825&clcid=0x409' to: 'C:\Users\ADMINI~1\AppData\Local\Temp\DBSQLPACKAGEPROVIDER10'
[1784:09A4][2012-02-23T21:53:41]: Error 0x80070003: Failed to download payload from URL: 'http://go.microsoft.com/fwlink/?LinkId=236825&clcid=0x409' to working path: 'C:\Users\ADMINI~1\AppData\Local\Temp\DBSQLPACKAGEPROVIDER10'
[1784:09A4][2012-02-23T21:53:41]: Error 0x80070003: Failed to acquire payload.
[1784:09A4][2012-02-23T21:53:41]: Error 0x80070003: Failed to cache packages.
[1784:1234][2012-02-23T21:53:41]: Error 0x80070003: Failed while waiting for cache thread to complete before executing.
Скачивание происходило натужно, что отражает реалии вечернего праздничного Интернета. Пару раз оно затыкалось на url = http://go.microsoft.com/fwlink/?LinkId=236807&clcid=0x409 (VISUALSTUDIO2010SP1PATCH), потому что сервис-пак здоровый, а потом, видимо, Интернет вовсе отрубился, поэтому DBSQLPACKAGEPROVIDER10 так и остался нескачанным с http://go.microsoft.com/fwlink/?LinkId=236825&clcid=0x409. Если я правильно понимаю, эта штука нужна для упаковки приложения в dacpac. Докачал последний компонент вручную. Получившаяся папка с оффлайновым дистрибутивом SSDT весит 1.7 ГБ, имеет две папки payload и ssdt, в которые рассованы скачанные компоненты, и пускач SSDTSetup.exe. По идее, Интернет больше не нужен. Запускаем - ставится:
Рис.17
Рис.18
Рис.19
У меня не было уверенности, что он подцепил при установке DbSqlPackageProvider.msi, который я докачивал вручную, поэтому я запустил его отдельно:
Рис.20
Web Deploy v3.0 Beta брал здесь.
Рис.21
Тип установки - Typical.
Рис.22
После этого снова запустил DbSqlPackageProvider.msi. На этот раз установка прошла успешно.
Рис.23
В списке установленных компонентов Visual Studio (Help -> About) появляются Microsoft SQL Server Data Tools, CTP4:
Рис.24
а SQL Server Data Tools - Database Project (Рис.7) теперь сменяется на просто Database Project:
Рис.25
Открываем новый проект, в нем View -> SQL Server Object Explorer слева и View -> Solution Explorer справа. Делаем тх панели docked. Object Explorer по умолчанию коннектится к LocalDB, которую SSDT ставят в своем составе, но, указав строку соединения, его так же, как и SSMS, можно законнектить к любому SQL Server. Кликаем правой кнопкой по Database1 в Solution Explorer, из контекстного меню выбираем Add -> Table или Add -> New Item -> Table и создаем в дизайнере таблицу и другие элементы базы данных. Из меню Build выбираем Publish Database и указываем строку соединения, на какой сервер публикуем. Локально разработанная БД появляется на указанном SQL Server. Закрываем решение, открываем новое, из контекстного меню Database1 в Solution Explorer говорим Import -> Database и вытягиваем БД с SQL Server в локальное решение. В пункте меню SQL выбираем Transact-SQL Editor, соединяемся, выполняем запрос (кнопка выполнения не Build, а в центральной части, прямо под заголовком панели). Из контекстного меню Database1 в Solution Explorer выбираем пункт Snapshot Project. в папке Snapshots в Solution Explorer появляется файл dacpac.
Рис.26
В целом, все работает. Открываем SSMS 2012 RC0, Object Explorer -> Databases -> Deploy Data-tier Application, задаем свежесозданный dacpac (папка решения, подпапка Snapshots). Получаем ошибку
Рис.27
Так что насчет This release is fully integrated and compatible with SQL Server 2012 RC0 ребята немного погорячились. К релизу, наверное, доведут, а пока dacpac через SSDT.
Алексей Шуленин