Carpetas de instalación de SQL Server 2008 express

22/01/2009 - 13:48 por José Antonio Muñoz | Informe spam
Hola al grupo,

¿como se puede averiguar, utilizando el transact SQL, la carpeta donde está
instalado SQL server y el resto de carpetas como BACKUP, LOG, JOBS, BINN,
etc?
La ruta "C:\Program Files\Microsoft SQL Server\MSSQL10.xxx\MSSQL", donde xxx
es el nombre de una instancia instalada ¿puede variar según el sistema
operativo, dominio, etc donde se instala SQL Server 2008 express edition? ¿o
es una ruta fija en la que se puede uno fiar para hacer un programa con
instrucciones SQL que incluyan esa ruta y que luego se instala en cualquier
máquina que tenga esa instancia instalada?

Gracias y un saludo
José Antonio Muñoz.

Preguntas similare

Leer las respuestas

#1 Gustavo Larriera (MVP)
22/01/2009 - 15:21 | Informe spam
Las carpetas de instalación pueden variar según cómo se haga la instalación.
Se le puede decir al programa de instalación dónde poner las cosas.

Si lo que usted desea es averiguar dónde están las cosas instaladas, una
forma posible de hacerlo es leer la Registry. Por ejempo, en T-SQL usted
puede hacer esto para saber dónde está instalada la instancia llamada
'SQLEXPRESS2008':

DECLARE @sqlPath varchar(512)
EXEC master..xp_regread
@rootkey = 'HKEY_LOCAL_MACHINE',
@key = 'SOFTWARE\Microsoft\Microsoft SQL Server\SQLEXPRESS2008\Setup',
@value_name='SqlPath',
@value = @sqlPath OUT
PRINT @sqlPath

El resultado es:

C:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS2008\MSSQL

Gustavo Larriera, Microsoft MVP
http://www.linkedin.com/in/gustavolarriera
Este mensaje se proporciona tal como es, sin garantías de ninguna clase.



"José Antonio Muñoz" wrote:

Hola al grupo,

¿como se puede averiguar, utilizando el transact SQL, la carpeta donde está
instalado SQL server y el resto de carpetas como BACKUP, LOG, JOBS, BINN,
etc?
La ruta "C:\Program Files\Microsoft SQL Server\MSSQL10.xxx\MSSQL", donde xxx
es el nombre de una instancia instalada ¿puede variar según el sistema
operativo, dominio, etc donde se instala SQL Server 2008 express edition? ¿o
es una ruta fija en la que se puede uno fiar para hacer un programa con
instrucciones SQL que incluyan esa ruta y que luego se instala en cualquier
máquina que tenga esa instancia instalada?

Gracias y un saludo
José Antonio Muñoz.


Respuesta Responder a este mensaje
#2 José Antonio Muñoz
22/01/2009 - 16:01 | Informe spam
Eso quiere decir que si yo realizo la instalación de una instancia
particular, llamada xxx, de SQL Server Express de forma estandar y en
cualquier sistema operativo y/o máquima, la ruta de instalación siempre será
la misma:

C:\Program Files\Microsoft SQL Server\MSSQL10.xxx\MSSQL

Y por tanto puedo hacer referencia a esa ruta añadiendo: BACKUP, LOG, JOBS,
DATA, etc en procedimientos almacenados o funciones de T-SQL.

Lo digo por que he probado el código de más abajo y me da el error "acceso
denegado" con un inicio de sesión de sql distinto de "sa".

Saludos,
José Antonio Muñoz

"Gustavo Larriera (MVP)"
escribió en el mensaje de noticias
news:
Las carpetas de instalación pueden variar según cómo se haga la
instalación.
Se le puede decir al programa de instalación dónde poner las cosas.

Si lo que usted desea es averiguar dónde están las cosas instaladas, una
forma posible de hacerlo es leer la Registry. Por ejempo, en T-SQL usted
puede hacer esto para saber dónde está instalada la instancia llamada
'SQLEXPRESS2008':

DECLARE @sqlPath varchar(512)
EXEC master..xp_regread
@rootkey = 'HKEY_LOCAL_MACHINE',
@key = 'SOFTWARE\Microsoft\Microsoft SQL
Server\SQLEXPRESS2008\Setup',
@value_name='SqlPath',
@value = @sqlPath OUT
PRINT @sqlPath

El resultado es:

C:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS2008\MSSQL

Gustavo Larriera, Microsoft MVP
http://www.linkedin.com/in/gustavolarriera
Este mensaje se proporciona tal como es, sin garantías de ninguna clase.



"José Antonio Muñoz" wrote:

Hola al grupo,

¿como se puede averiguar, utilizando el transact SQL, la carpeta donde
está
instalado SQL server y el resto de carpetas como BACKUP, LOG, JOBS, BINN,
etc?
La ruta "C:\Program Files\Microsoft SQL Server\MSSQL10.xxx\MSSQL", donde
xxx
es el nombre de una instancia instalada ¿puede variar según el sistema
operativo, dominio, etc donde se instala SQL Server 2008 express edition?
¿o
es una ruta fija en la que se puede uno fiar para hacer un programa con
instrucciones SQL que incluyan esa ruta y que luego se instala en
cualquier
máquina que tenga esa instancia instalada?

Gracias y un saludo
José Antonio Muñoz.


Respuesta Responder a este mensaje
#3 José Antonio Muñoz
22/01/2009 - 16:15 | Informe spam
He probando escribir:

@key = 'SOFTWARE\Microsoft\Microsoft SQL
Server\MSSQL10.SQLEXPRESS2008\Setup'

y funciona. ¿MSSQL10 es un número de versión que puede cambiar? ¿que
significa el 10?

saludos
José Antonio Muñoz.

"Gustavo Larriera (MVP)"
escribió en el mensaje de noticias
news:
Las carpetas de instalación pueden variar según cómo se haga la
instalación.
Se le puede decir al programa de instalación dónde poner las cosas.

Si lo que usted desea es averiguar dónde están las cosas instaladas, una
forma posible de hacerlo es leer la Registry. Por ejempo, en T-SQL usted
puede hacer esto para saber dónde está instalada la instancia llamada
'SQLEXPRESS2008':

DECLARE @sqlPath varchar(512)
EXEC master..xp_regread
@rootkey = 'HKEY_LOCAL_MACHINE',
@key = 'SOFTWARE\Microsoft\Microsoft SQL
Server\SQLEXPRESS2008\Setup',
@value_name='SqlPath',
@value = @sqlPath OUT
PRINT @sqlPath

El resultado es:

C:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS2008\MSSQL

Gustavo Larriera, Microsoft MVP
http://www.linkedin.com/in/gustavolarriera
Este mensaje se proporciona tal como es, sin garantías de ninguna clase.



"José Antonio Muñoz" wrote:

Hola al grupo,

¿como se puede averiguar, utilizando el transact SQL, la carpeta donde
está
instalado SQL server y el resto de carpetas como BACKUP, LOG, JOBS, BINN,
etc?
La ruta "C:\Program Files\Microsoft SQL Server\MSSQL10.xxx\MSSQL", donde
xxx
es el nombre de una instancia instalada ¿puede variar según el sistema
operativo, dominio, etc donde se instala SQL Server 2008 express edition?
¿o
es una ruta fija en la que se puede uno fiar para hacer un programa con
instrucciones SQL que incluyan esa ruta y que luego se instala en
cualquier
máquina que tenga esa instancia instalada?

Gracias y un saludo
José Antonio Muñoz.


Respuesta Responder a este mensaje
#4 Gustavo Larriera
16/04/2009 - 00:16 | Informe spam
10 es el número interno de versión, corresponde a la versión 2008.
Posiblemente el próximo SQL Server use el número 11.

Gustavo Larriera, Microsoft MVP
http://www.linkedin.com/in/gustavolarriera
Este mensaje se proporciona tal como es, sin garantías de ninguna clase.



"José Antonio Muñoz" wrote:

He probando escribir:

@key = 'SOFTWARE\Microsoft\Microsoft SQL
Server\MSSQL10.SQLEXPRESS2008\Setup'

y funciona. ¿MSSQL10 es un número de versión que puede cambiar? ¿que
significa el 10?

saludos
José Antonio Muñoz.

"Gustavo Larriera (MVP)"
escribió en el mensaje de noticias
news:
> Las carpetas de instalación pueden variar según cómo se haga la
> instalación.
> Se le puede decir al programa de instalación dónde poner las cosas.
>
> Si lo que usted desea es averiguar dónde están las cosas instaladas, una
> forma posible de hacerlo es leer la Registry. Por ejempo, en T-SQL usted
> puede hacer esto para saber dónde está instalada la instancia llamada
> 'SQLEXPRESS2008':
>
> DECLARE @sqlPath varchar(512)
> EXEC master..xp_regread
> @rootkey = 'HKEY_LOCAL_MACHINE',
> @key = 'SOFTWARE\Microsoft\Microsoft SQL
> Server\SQLEXPRESS2008\Setup',
> @value_name='SqlPath',
> @value = @sqlPath OUT
> PRINT @sqlPath
>
> El resultado es:
>
> C:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS2008\MSSQL
>
> Gustavo Larriera, Microsoft MVP
> http://www.linkedin.com/in/gustavolarriera
> Este mensaje se proporciona tal como es, sin garantías de ninguna clase.
>
>
>
> "José Antonio Muñoz" wrote:
>
>> Hola al grupo,
>>
>> ¿como se puede averiguar, utilizando el transact SQL, la carpeta donde
>> está
>> instalado SQL server y el resto de carpetas como BACKUP, LOG, JOBS, BINN,
>> etc?
>> La ruta "C:\Program Files\Microsoft SQL Server\MSSQL10.xxx\MSSQL", donde
>> xxx
>> es el nombre de una instancia instalada ¿puede variar según el sistema
>> operativo, dominio, etc donde se instala SQL Server 2008 express edition?
>> ¿o
>> es una ruta fija en la que se puede uno fiar para hacer un programa con
>> instrucciones SQL que incluyan esa ruta y que luego se instala en
>> cualquier
>> máquina que tenga esa instancia instalada?
>>
>> Gracias y un saludo
>> José Antonio Muñoz.
>>
>>


Respuesta Responder a este mensaje
#5 Gustavo Larriera
16/04/2009 - 00:17 | Informe spam
La ruta es estándar pero recuerde que si instala SQL Server en un Windows en
otro idioma, la carpeta "Program Files" se denominará de otra manera.

Gustavo Larriera, Microsoft MVP
http://www.linkedin.com/in/gustavolarriera
Este mensaje se proporciona tal como es, sin garantías de ninguna clase.



"José Antonio Muñoz" wrote:

Eso quiere decir que si yo realizo la instalación de una instancia
particular, llamada xxx, de SQL Server Express de forma estandar y en
cualquier sistema operativo y/o máquima, la ruta de instalación siempre será
la misma:

C:\Program Files\Microsoft SQL Server\MSSQL10.xxx\MSSQL

Y por tanto puedo hacer referencia a esa ruta añadiendo: BACKUP, LOG, JOBS,
DATA, etc en procedimientos almacenados o funciones de T-SQL.

Lo digo por que he probado el código de más abajo y me da el error "acceso
denegado" con un inicio de sesión de sql distinto de "sa".

Saludos,
José Antonio Muñoz

"Gustavo Larriera (MVP)"
escribió en el mensaje de noticias
news:
> Las carpetas de instalación pueden variar según cómo se haga la
> instalación.
> Se le puede decir al programa de instalación dónde poner las cosas.
>
> Si lo que usted desea es averiguar dónde están las cosas instaladas, una
> forma posible de hacerlo es leer la Registry. Por ejempo, en T-SQL usted
> puede hacer esto para saber dónde está instalada la instancia llamada
> 'SQLEXPRESS2008':
>
> DECLARE @sqlPath varchar(512)
> EXEC master..xp_regread
> @rootkey = 'HKEY_LOCAL_MACHINE',
> @key = 'SOFTWARE\Microsoft\Microsoft SQL
> Server\SQLEXPRESS2008\Setup',
> @value_name='SqlPath',
> @value = @sqlPath OUT
> PRINT @sqlPath
>
> El resultado es:
>
> C:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS2008\MSSQL
>
> Gustavo Larriera, Microsoft MVP
> http://www.linkedin.com/in/gustavolarriera
> Este mensaje se proporciona tal como es, sin garantías de ninguna clase.
>
>
>
> "José Antonio Muñoz" wrote:
>
>> Hola al grupo,
>>
>> ¿como se puede averiguar, utilizando el transact SQL, la carpeta donde
>> está
>> instalado SQL server y el resto de carpetas como BACKUP, LOG, JOBS, BINN,
>> etc?
>> La ruta "C:\Program Files\Microsoft SQL Server\MSSQL10.xxx\MSSQL", donde
>> xxx
>> es el nombre de una instancia instalada ¿puede variar según el sistema
>> operativo, dominio, etc donde se instala SQL Server 2008 express edition?
>> ¿o
>> es una ruta fija en la que se puede uno fiar para hacer un programa con
>> instrucciones SQL que incluyan esa ruta y que luego se instala en
>> cualquier
>> máquina que tenga esa instancia instalada?
>>
>> Gracias y un saludo
>> José Antonio Muñoz.
>>
>>


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida