none
Problema con simple script/consulta RRS feed

  • Pregunta

  • Hace dias que no logro solucionar mi problema y opte por postear en el foro haber si alguien me puede ayudar, es muy poco código y muy simple lo que quiero hacer... pero no puedo solucionarlo.

    use master
    go
    if exists(select*from sysdatabases where name='SegundoAñoProyectoFinal2010')
    begin
    drop database SegundoAñoProyectoFinal2010
    end
    create database SegundoAñoProyectoFinal2010
    on
    (
    name=SegundoAñoProyectoFinal2010,
    filename='C:\SegundoAñoProyectoFinal2010.mdf'
    )
    go
    use SegundoAñoProyectoFinal2010
    go
    

    Cuando doy a ejecutar a todo ese codigo, me saltan los siguientes errores:

    Mens. 5123, Nivel 16, Estado 1, Línea 5
    La instrucción CREATE FILE encontró el error del sistema operativo 5(failed to retrieve text for this error. Reason: 1815) al intentar abrir o crear el archivo físico 'C:\SegundoAñoProyectoFinal2010.mdf'.
    Mens. 1802, Nivel 16, Estado 4, Línea 5
    Error de CREATE DATABASE. No se pueden crear algunos de los archivos de la lista. Consulte los errores relacionados.
    Mens. 911, Nivel 16, Estado 1, Línea 1
    La base de datos 'SegundoAñoProyectoFinal2010' no existe. Asegúrese de que ha escrito el nombre correctamente.
    
    Ojala que a alguien le haya pasado y pudo solucionarlo y me dé una ayudita, desde ya muchas gracias.

    PD: Tendrá algo que ver con la instalación de SQLServer o la versión ? ya que este mismo código me andaba perfectamente en SQL Server 2005 el año pasado pero ahora al formatear mi PC, le instale SQLServer 2008 y a este código no me anda, por eso mi pregunta.

    Disculpen las molestias y disculpen mis faltas de ortografia jeje.

    Saludos, Germán Fajardo Sanchez.-

    martes, 15 de febrero de 2011 0:06

Respuestas

  •  

    Usando el codigo que arme yo en el principio del posteo lo pude hacer correr sin problemas, parece que no se pueden crear DB.mdf en C por defecto, es decir no me deja crear en el directorio "C:\" pero si me deja crear en "C:\una_carpeta_cualquiera"

    La verdad no me pasaba esto antes, disculpen la molestia, si a alguien le pasa, ya sabe porque es :)

    Saludos y gracias a todos :)

    jueves, 17 de febrero de 2011 17:44

Todas las respuestas

  • Mira, creo que el incoveniente esta en que no estas creando el LOG .ldf. No estoy seguro al 100% si es eso pero te dejo lo siguiente que si funciona.

     

    IF EXISTS (
    	  SELECT name 
          FROM sys.databases 
    	  WHERE name = 'SegundoAnoProyectoFinal2010'
    	  )
    DROP DATABASE SegundoAnoProyectoFinal2010
    GO
    CREATE DATABASE SegundoAnoProyectoFinal2010
    ON PRIMARY
    	(NAME = SegundoAnoProyectoFinal2010,
    	FILENAME = 'C:\SegundoAñoProyectoFinal2010.mdf',
    	SIZE = 5120KB,
    	MAXSIZE = UNLIMITED,
    	FILEGROWTH = 1024KB)
    LOG ON
    	(NAME = SegundoAnoProyectoFinal2010Log,	
    	FILENAME = 'C:\SegundoAñoProyectoFinal2010.ldf',
    	SIZE = 6912KB,
    	MAXSIZE = 2048GB,
    	FILEGROWTH = 10%)
    GO
    Deja saber cualquier cosa :D

    • Editado Kent Pina martes, 15 de febrero de 2011 4:46 Correcion
    martes, 15 de febrero de 2011 4:42
  • Dijiste que te funcionaba en SQL 2005, eso quiere decir que la BD Existe o la tratas de crear nueva?
    Abraham Forchue Frias MCITP:Database Administrator 2008 -- Santo Domingo, Republica Dominicana
    jueves, 17 de febrero de 2011 1:30
  • Mira, creo que el incoveniente esta en que no estas creando el LOG .ldf. No estoy seguro al 100% si es eso pero te dejo lo siguiente que si funciona.

     

     

    IF
     EXISTS
     (
    SELECT name
    FROM sys.databases
    WHERE name = 'SegundoAnoProyectoFinal2010'
    )
    DROP DATABASE SegundoAnoProyectoFinal2010
    GO
    CREATE DATABASE SegundoAnoProyectoFinal2010
    ON PRIMARY
    (NAME = SegundoAnoProyectoFinal2010,
    FILENAME = 'C:\SegundoAñoProyectoFinal2010.mdf' ,
    SIZE = 5120KB,
    MAXSIZE = UNLIMITED,
    FILEGROWTH = 1024KB)
    LOG ON
    (NAME = SegundoAnoProyectoFinal2010Log,
    FILENAME = 'C:\SegundoAñoProyectoFinal2010.ldf' ,
    SIZE = 6912KB,
    MAXSIZE = 2048GB,
    FILEGROWTH = 10%)
    GO
    Deja saber cualquier cosa :D

     

    Ejecute el codigo que me pasaste tal cual esta ahi y me sigue dando los mismos errores :(

    No se si tenes alguna otra posible solucion que se te ocurra?

    Desde ya muchas gracias por responderme :)

    jueves, 17 de febrero de 2011 17:18
  • Dijiste que te funcionaba en SQL 2005, eso quiere decir que la BD Existe o la tratas de crear nueva?
    Abraham Forchue Frias MCITP:Database Administrator 2008 -- Santo Domingo, Republica Dominicana

    Segun el codigo que yo arme, si la BD existe, la dropea y la vuelve a crear, pero si no existe, solamente la crea..

    En fin, la BD no existe en el disco C

    Si tenes alguna idea de como solucionar esto, espero tu respuesta porque todavia no pude solucionarlo :(

    Desde ya muchas gracias por responderme :)

    jueves, 17 de febrero de 2011 17:20
  • Bueno a mi me funciono ese codigo pero intenta crear la base de datos en la carpeta por defecto de SQL Server aver si te lo permite
    Kent Piña [Republica Dominicana]
    jueves, 17 de febrero de 2011 17:26
  • USE

     

    [master]

    GO

    IF

     

    EXISTS (SELECT name FROM sys.databases WHERE name = N'SegundoAñoProyectoFinal2010')

    DROP

     

    DATABASE [SegundoAñoProyectoFinal2010]

    GO

    USE

     

    [master]

    GO

    CREATE

     

    DATABASE [SegundoAñoProyectoFinal2010] ON PRIMARY

    (

     

    NAME = N'SegundoAñoProyectoFinal2010', FILENAME = N'C:\TU_RUTA\ISegundoAñoProyectoFinal2010.mdf' , SIZE = 5120KB , MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB )

     

    LOG ON

    (

     

    NAME = N'SegundoAñoProyectoFinal2010_log', FILENAME = N'C:\TU_RUTA\SegundoAñoProyectoFinal2010.ldf' , SIZE = 6912KB , MAXSIZE = 2048GB , FILEGROWTH = 10%)

    GO


    Norman M. Pardell ||Microsoft Certified IT Professional|| Database Administrator. Database Developer. SQL Server 2008
    • Propuesto como respuesta Normannp jueves, 17 de febrero de 2011 17:35
    jueves, 17 de febrero de 2011 17:33

  • USE

     

    [master]

    GO

    IF

     

    EXISTS ( SELECT name FROM sys . databases WHERE name = N'SegundoAñoProyectoFinal2010' )

    DROP

     

    DATABASE [SegundoAñoProyectoFinal2010]

    GO

    USE

     

    [master]

    GO

    CREATE

     

    DATABASE [SegundoAñoProyectoFinal2010] ON PRIMARY

    (

     

    NAME = N'SegundoAñoProyectoFinal2010' , FILENAME = N'C:\TU_RUTA\ISegundoAñoProyectoFinal2010.mdf' , SIZE = 5120KB , MAXSIZE = UNLIMITED , FILEGROWTH = 1024KB )

     

    LOG ON

    (

     

    NAME = N'SegundoAñoProyectoFinal2010_log' , FILENAME = N'C:\TU_RUTA\SegundoAñoProyectoFinal2010.ldf' , SIZE = 6912KB , MAXSIZE = 2048GB , FILEGROWTH = 10 %)

    GO


    Norman M. Pardell ||Microsoft Certified IT Professional|| Database Administrator. Database Developer. SQL Server 2008

    Gracias a tu respuesta pude encontrar el supuesto "ERROR" asi que la voy a marcar como correcta

    Usando el codigo que arme yo en el principio del posteo lo pude hacer correr sin problemas, parece que no se pueden crear DB.mdf en C por defecto, es decir no me deja crear en el directorio "C:\" pero si me deja crear en "C:\una_carpeta_cualquiera"

    La verdad no me pasaba esto antes, disculpen la molestia, si a alguien le pasa, ya sabe porque es :)

    Saludos y gracias a todos :)
    jueves, 17 de febrero de 2011 17:41
  •  

    Usando el codigo que arme yo en el principio del posteo lo pude hacer correr sin problemas, parece que no se pueden crear DB.mdf en C por defecto, es decir no me deja crear en el directorio "C:\" pero si me deja crear en "C:\una_carpeta_cualquiera"

    La verdad no me pasaba esto antes, disculpen la molestia, si a alguien le pasa, ya sabe porque es :)

    Saludos y gracias a todos :)

    jueves, 17 de febrero de 2011 17:44
  • ¿Que sistema operativo usas? el error es de permiso.
    miércoles, 23 de febrero de 2011 20:41