SQL Server Management Studio 2012: Як мати папки в проекті SSMS?


17

Я використовую SSMS 2012 для спілкування з серверами SQL 2012 та серверами Azure SQL, якими ми користуємося. Я визнаю, що я не експерт SQL, тому я економив більшість моїх SQL-скриптів для подальшої довідки. Я швидко наткнувся на 20 або більше .SQL-скриптів у проекті SSMS, і всі вони живуть у одній папці "Запити".

Чи є спосіб створити "підпапки" в проекті, щоб я міг правильно організувати свої сценарії? Як більшість інших людей організовують свої сценарії? Я впевнений, що якщо ця помилка новачка, як я, це має бути справжньою проблемою для справжнього адміністратора (з потенційно сотнями сценаріїв?)


2
У мене є друг, який зберігає всі свої сценарії в одному гігантському .sqlфайлі. Таким чином вам залишається лише відслідковувати один файл.
Макс Вернон

Я знаю людей, які просто зберігають їх у папці, яка синхронізується з їх обліковим записом DropBox. Потім ті, хто зберігає його на своєму SkyDrive. Я насправді не один, хто використовує проекти в SSMS.

Ось тут менеджер сценаріїв може стати в нагоді, якщо ви звикли до нього. Хоча мені це сподобалось, для мене це якось не клацало. Я просто вважаю за краще зберігати свої сценарії локально, у деяких папках, які я створюю резервну копію на DropBox. Ніколи не подобалися проекти SSMS.
Маріан

ви можете використовувати SQLTreeo, ось інструмент: sqltreeo.com

Відповіді:


7

Нарешті, підпапки стали можливими у SSMS 2016.

Обережні користувачі: Ви можете встановити SSMS 2016 і продовжувати використовувати старий. Дивіться примітку [1]нижче.

Потрапивши туди, починайте використовувати рішення замість проектів .


Підпапка працює так:

Додавання підпапки рішення:

  1. Клацніть правою кнопкою миші елемент рішення (корінь дерева) і в меню виберіть Додати > Нова папка рішення .
  2. Крок 1 тепер працює також у будь-якій доданій вами папці.

Додавання сценарію SQL:

  • Клацніть правою кнопкою миші будь-яку папку та в меню " Додати" додайте існуючий файл SQL або новий файл SQL (у списку знайдіть тип елемента, який має розширення SQL).

Ваші старі добрі проекти (погані старі проекти)

  • Ви все ще можете розміщувати проекти у своєму рішенні, якщо ви бачите їх корисними з певних причин, для розміщення з'єднань тощо. Просто додайте в рішення нові або імпортуйте існуючі проекти.

[1] Щодо оновлення:

  1. SQL Server 2008 - 2016 офіційно підтримується SSMS 2016. Детальну інформацію див. На сторінці завантаження. Для старих версій ви можете зберігати улюблені старі SSMS, див. Пункт 2 нижче.

    • Єдине налаштування, яке може зажадати вашої уваги, - це Опції > Провідник об’єктів SQL Server > Сценарій для версії сервера > (встановіть свою версію сервера)
  2. Різні версії SSMS живуть добре разом , тобто ви можете встановити SSMS 2008 та SSMS 2016 без проблем - протестовано.


Це зручно. Варто зазначити, що під капотом SSMS зберігає всі ці файли у плоскій структурі файлів в одному каталозі, тому ви не можете мати файл з тим самим іменем у двох різних папках.
Джон

@Jon - Це не зовсім так. На перший погляд це може виглядати заплутано, але структура файлів і папок, показана в дереві проекту, не залежить від розташування файлів на диску. На диску він не повинен бути рівним (просто спробуйте зберегти нові файли в іншому місці ...), ви можете розповсюджувати їх у каталогах за своїм бажанням. Іншими словами: зберігайте файли в будь-яких каталогах файлової системи, і тоді ви можете додавати їх до будь-яких віртуальних папок у дереві проектів SSMS. (Якщо я добре пам’ятаю, можливе навіть дублювання посилань.) Нижня сторона: вам потрібно впорядкувати файли двічі - в редакторах та в папках проектів.
miroxlav

6

У SSMS, якщо ви ще не відображаєте оснащення браузера шаблонів, перейдіть до Меню, Переглянути, Провідник шаблонів (гаряча клавіша Ctrl- Alt- T).

Шаблони завантажуються з вашої локальної машини, з цієї папки

C: \ програмні файли (x86) \ Microsoft SQL Server \ 110 \ Інструменти \ Binn \ ManagementStudio \ SqlWorkbenchProjectItems \ Sql

Ви можете додавати підпапки за своїм бажанням і навіть вкладати їх (через Windows Explorer або SSMS). Якщо я не помиляюся, папки завантажуються лише один раз за час запуску SSMS, тому вам, можливо, доведеться перезапустити SSMS, щоб отримати зміни в папках з файлової системи.

p / s - Цей метод повторно використовує браузер шаблонів для організації сценаріїв проектів!


Далеко від відповіді, але це найменш дивний хак, запропонований поки що! Дякуємо за спільний доступ, я буду тримати це відкритим ще кілька днів ...
DeepSpace101

4

На жаль, проекти SSMS не підтримують папки. Якщо ви говорите про папку за замовчуванням, в яку зберігає SQL, так, ви можете створити там підпапки. Це лише папка на вашому жорсткому диску. Ця папка за замовчуванням розташована у "C: \ Users {username} \ Documents \ SQL Server Management Studio \ Projects".


2

Відсутність папок, безумовно, засмучує. Я спробую організувати свої речі в окремі проекти за тим же рішенням. У кожній папці "Запити" ... Я буду називати проекти так, як я би назвав підпапки (якби я міг їх створити!).


1

Додавши до відповіді 3 вище, вирішуючи ситуацію шляхом повторного призначення шаблонів на C: \ Program Files (x86) \ Microsoft SQL Server \ 110 \ Tools \ Binn \ ManagementStudio \ SqlWorkbenchProjectItems \ Sql.

Вам доведеться додати дозволи до облікових записів користувачів машин для повного контролю. (Клацніть правою кнопкою миші папку призначення, Властивості, виберіть користувачів машини, Редагувати тощо)

Навіть тоді все одно, що Стів Балмер очолив це рішення на переході. Ви можете зберегти файл там, але коли він відкритий у SSMS, він не відкривається під цим ім'ям .sql, це загальне ім'я. Отже, є вся ця ригмарола лише для того, щоб зберегти ваші запити, функції, сценарії таблиць, проростки тощо.

Чудова відповідь, але в Windows 8.1 це було виключено.

Найкраща відповідь, яку я маю, - це збереження через SSMS до файлової системи, яка, на мою думку, поважатиме вкладення файлів .sql. Мені потрібно створити проект баз даних у Visual Studio 2013, в якому я можу налаштувати папки, оскільки вони мають сенс для мого потоку продуктів.

Але я не можу відкрити ці запити через Server Explorer у Visual Studio ... однак тоді можна організувати запити в одному місці, якщо вони працюють, сценарії SPROC, сценарії UDF тощо.

За словами іншого респондента, тут немає IDE для виконання подібних робіт над проектом, і це сумно.

Тут трохи промчав і провів ... іншими словами, я можу отримати структуру папок, яку я хочу, з проектом DB в VS 2013, але якщо я хочу увійти на віддалений сервер, щоб перевірити їх, я повинен отримати доступ до них файл за файлом з SSMS. Біль у тильній стороні ... Я хочу, щоб IDE робив це.


0

Я досяг прогресу, вручну редагуючи файл проекту SSMS, щоб додати папки під рішенням. Відкрийте .ssmssqlproj файл у текстовому редакторі. Шукайте вузли під назвою LogicalFolder. Різний вузол - це хороша модель для того, що вам потрібно зробити.

Просто скопіюйте ці рядки та змініть ім’я в папку, яку ви хочете бачити. Також змініть значення типу на щось унікальне. Ось що я зробив.

<LogicalFolder Name="Tables" Type="4" Sorted="true">
  <Items />
</LogicalFolder>
<LogicalFolder Name="Functions" Type="6" Sorted="true">
  <Items />
</LogicalFolder>
<LogicalFolder Name="User-defined Table Types" Type="7" Sorted="true">
  <Items />
</LogicalFolder>

ЗАБЕЗПЕЧИТИ ДЕРЖАВИ КОПІЮВАННЯ ФАЙЛУ ПРОЕКТУ (.ssmssqlproj). Якщо ви зіпсуєте редагування, як я робив кілька разів, проект не відкриється. Це буде не так вже й погано, якщо ви встановили надбудову TFS і перевіряєте файли свого проекту - ви можете просто відмовитись від змін. Але якщо ні, то обов’язково зробіть копію.

Потім я створюю папки під рішенням, щоб відповідати іменам логічної папки. Після цього я створив сценарій визначення таблиці та визначений користувачем скрипт визначення типу таблиці та зберег їх у своїх відповідних папках. Вони з'явилися в папці "Різне" в провіднику рішень, тому я перетягнув їх у відповідні папки.

Тут де ламалися речі. Тому що, я думаю, всі збережені процедури, функції, таблиця та тип є у файлах, що мають розширення .sql. Оскільки є файли .sql, вони були розміщені під папкою Запити в провіднику рішень. Однак вони все ще фізично знаходяться в потрібних папках на диску. Отже, це крок у правильному напрямку.

Я хочу перевірити, чи відповідає атрибут "Тип" у файлі проекту конкретним розширенням файлу, і чи можу я зрозуміти, що це таке. Якщо я можу отримати потрібні розширення, то SSMS розмістить файли у потрібній папці проекту.

Я можу подивитися на Visual Studio, щоб побачити, як це працює, оскільки SSMS базується на Visual Studio, відповідно до екрана їх вибуху.

Однак я там розлучаюся, тож, можливо, хтось із вас може розібратися з рештою!


Це не спрацювало для мене. Він не вдається відкритись.
Сохам Дасгупта
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.