Estoy usando SSMS 2012 para hablar con el servidor SQL 2012 y los servidores Azure SQL que usamos. Admito que no soy un experto en SQL, así que he guardado la mayoría de mis scripts SQL para referencia futura. Rápidamente me encontré con unos 20 scripts .SQL en el proyecto SSMS y todos viven bajo la misma carpeta 'Consultas'.
¿Hay alguna forma de crear "subcarpetas" en el proyecto para poder organizar mis scripts correctamente? ¿Cómo la mayoría de la gente mantiene sus guiones organizados? Estoy bastante seguro de que si esto molesta a un novato como yo, debe ser un problema real para el administrador real (¿potencialmente con cientos de scripts?)
sql-server-2012
ssms
DeepSpace101
fuente
fuente
.sql
archivo gigante . De esa forma, solo tendrá que realizar un seguimiento del archivo único.Respuestas:
Finalmente, las subcarpetas fueron posibles en SSMS 2016.
Usuarios cautelosos: puede instalar SSMS 2016 y seguir usando uno antiguo. Ver nota a
[1]
continuación.Una vez allí, comience a usar soluciones en lugar de proyectos .
La subcarpeta funciona así:
Agregar subcarpeta de solución:
Agregar script SQL:
Tus buenos proyectos viejos (proyectos viejos malos)
[1]
En cuanto a la actualización:SQL Server 2008-2016 es oficialmente compatible con SSMS 2016. Consulte más información en la página de descarga. Para versiones anteriores, puede mantener su SSMS antiguo favorito, consulte el punto 2 a continuación.
Las diferentes versiones de SSMS conviven bien , es decir, puede tener SSMS 2008 y SSMS 2016 instalados juntos sin problemas: probado.
fuente
En SSMS, si aún no está mostrando el complemento Explorador de plantillas, vaya a Menú, Ver, Explorador de plantillas (tecla de acceso rápido Ctrl- Alt- T).
Las plantillas se cargan desde su máquina local, desde esta carpeta
Puede agregar subcarpetas como desee e incluso anidarlas (a través del Explorador de Windows o SSMS). Si no me equivoco, las carpetas se cargan solo una vez por inicio de SSMS, por lo que es posible que deba reiniciar SSMS para recoger los cambios de carpeta del sistema de archivos.
p / s: este método reutiliza el navegador de plantillas con el fin de organizar los scripts del proyecto.
fuente
Lamentablemente, los proyectos SSMS no admiten subcarpetas. Si está hablando de la carpeta predeterminada en la que SQL guarda cosas, sí, puede crear subcarpetas allí. Eso es solo una carpeta en su disco duro. Esa carpeta se encuentra en "C: \ Usuarios {nombre de usuario} \ Documentos \ SQL Server Management Studio \ Proyectos" de forma predeterminada.
fuente
La falta de subcarpetas es ciertamente frustrante. Voy a intentar organizar mis cosas en proyectos separados en la misma solución. Cada uno tiene una carpeta de Consultas ... Voy a nombrar los proyectos de la forma en que nombraría las subcarpetas (¡si pudiera crearlas!).
fuente
Agregando a la Respuesta 3, más arriba, trabajando alrededor de la situación al re-diseñar plantillas en C: \ Archivos de programa (x86) \ Microsoft SQL Server \ 110 \ Tools \ Binn \ ManagementStudio \ SqlWorkbenchProjectItems \ Sql.
Tendrá que agregar permisos a las cuentas de usuario de las máquinas para Control total. (Haga clic derecho en la carpeta de destino, Propiedades, seleccione los usuarios de la máquina, Editar, etc.)
Incluso entonces es como Steve Balmer dirigió esta solución en el pase. Puede guardar un archivo allí, pero cuando se abre en SSMS, no se abre con el nombre de ese archivo .sql, es un nombre genérico. Entonces, existe todo este rigmarole solo para mantener sus consultas, funciones, scripts de tabla, sprocs, etc., todo organizado.
Gran respuesta, pero en Windows 8.1, se impidió.
La mejor respuesta que tengo es guardar a través de SSMS en el sistema de archivos que creo que respetará la anidación de los archivos .sql. Tengo que crear un Proyecto de base de datos en Visual Studio 2013, en el que puedo configurar carpetas según tengan sentido para el flujo de mi producto.
Pero no puedo abrir estas consultas a través de Server Explorer en Visual Studio ... sin embargo, es posible organizar consultas en un solo lugar si están en el trabajo, scripts SPROC, scripts UDF, etc.
No hay IDE para hacer este tipo de trabajo de proyecto y sí, en palabras de otro encuestado aquí, eso es triste.
Divagando y despotricando aquí un poco ... en otras palabras, puedo obtener la estructura de carpetas que quiero con un Proyecto DB en VS 2013, pero si quiero iniciar sesión en un servidor remoto para probarlas, tengo que acceder a ellas archivo por archivo desde SSMS Dolor en la parte de atrás ... Quiero un IDE que haga esto.
fuente
Progresé editando manualmente el archivo del proyecto SSMS para agregar carpetas debajo de la solución. Abra el archivo .ssmssqlproj en un editor de texto. Busque los nodos llamados LogicalFolder. El nodo Varios es un buen modelo para lo que necesita hacer.
Simplemente copie estas líneas y cambie el nombre a la carpeta que desea ver. También cambie el valor de Tipo a algo único. Aquí esta lo que hice.
ASEGÚRESE DE GUARDAR UNA COPIA DEL ARCHIVO DEL PROYECTO (.ssmssqlproj). Si arruinas la edición, como hice varias veces, el proyecto no se abrirá. Esto no será tan malo si ha instalado el complemento TFS y está revisando los archivos de su proyecto; simplemente puede descartar los cambios. Pero si no, asegúrese de hacer una copia.
Luego creo carpetas bajo la solución para que coincidan con los nombres de las carpetas lógicas. Después de eso, creé un script de definición de tabla y un script de definición de tipo de tabla definido por el usuario, y los guardé en sus carpetas respectivas. Aparecieron debajo de la carpeta "Varios" en el explorador de soluciones, por lo que los arrastré a las carpetas correspondientes.
Aquí es donde las cosas se rompieron. Porque, creo, todos los procedimientos almacenados, funciones, tabla y tipo están en archivos que tienen una extensión .sql. Debido a que son archivos .sql, se colocaron en la carpeta Consultas en el explorador de soluciones. Sin embargo, todavía están físicamente en las carpetas correctas en el disco. Entonces ese es un paso en la dirección correcta.
Quiero ver si el atributo "Tipo" en el archivo del proyecto corresponde con una extensión de archivo específica, y si puedo averiguar cuáles son. Si puedo obtener las extensiones correctas, entonces SSMS colocará los archivos en la carpeta correcta del proyecto.
Puedo mirar Visual Studio para ver cómo funciona, ya que SSMS se basa en Visual Studio, de acuerdo con su pantalla de presentación.
Sin embargo, estoy a medio camino, ¡así que quizás uno de ustedes pueda descubrir el resto!
fuente