Solución: Esta versión de backend no admite el diseño de tablas o diagramas de base de datos.

Microsoft SQL Server Management Studio puede llegar a dar el error:

«Esta versión de backend no admite el diseño de tablas o diagramas de base de datos. (MS Visual Database Tools)»

errorMSSMS

Lo cual no permite que hagas ningún tipo de modificación a tu base de datos.

Solución:

Ocurre porque la versión de Microsoft SQL Server Management Studio que tiene instalada es menor que la versión del SQL Server. Por ejemplo, puede que la versión del Management que tengas sea la 2012 y tu SQL Server sea 2014.

Para solucionarlo, descarga e instala la misma versión (o mayor) de Microsoft SQL Server Management Studio.

Puedes comprobar la versión del Management en el menú ayuda y luego «Acerca de». La versión del SQL Server la puede ver ejecutando el comando:

SELECT @@version

Modificar una Vista de SQL Server desde VBA en Access y mostrarla

Recientemente me ví en la necesidad de tener una vista con contenido ‘a petición’ del usuario, que bien puede ser de una sola tabla o de muchas, usando como base una instrucción en SQL Server.

Abrir una tabla desde VBA en Access es sencillo, para ello existe la instrucción:

DoCmd.OpenTable "NombreTabla", acViewNormal

Donde:

DoCmd.OpenTable es la instrucción

NombreTabla es un parámetro donde le indiques el nombre de la tabla

acViewNormal es un segundo parámetro para indicarle en que modo se abrirá la tabla. En este caso ‘Normal’

 

Ahora bien, nuestra misión será editar una consulta/vista desde VBA en Access, pero si no existe habrá que crearla y luego abrirla en vista tabla.

Estos son los pasos a seguir:

1 – Crear la consulta, si existe, regresará un error y entonces pasaremos a editarla.

2 – Luego de crearla o editarla, refrescar el enlace a la BD de SQL Server, porque si no hacemos este paso, la vista/consulta editada, saldrá con el contenido anterior y parecerá que nuestro método de edición ha fallado. Esto se soluciona dando clic en el area de objetos de Access y presionando F5, pero nosotros lo haremos desde VBA.

La función para Crear o Editar la vista es la siguiente:

Function CrearEditarVista(strNombreVista As String, strSQLBase As String) As Boolean
    Dim iSQL As String
    
    'le indicamos que si hay un error continúe'
    On Error Resume Next
    'Esta instrucción SQL crea la vista en SQL Server'
    iSQL = "CREATE VIEW " & strNombreVista & " AS " & strSQLBase
    
    Err.CLEAR
    CurrentProject.connection.Execute iSQL
    
    If Err.number = 0 Then 'Si no hubo error'
        'Se creó la vista :D, Devolvamos True'
        CrearEditarVista = True
    ElseIf Err.number = -2147217900 Then 'Este error significa que ya existe la vista. Entonces a editarla'
        iSQL = "ALTER VIEW " & strNombreVista & " AS " & strSQLBase
        Err.CLEAR
        CurrentProject.connection.Execute iSQL
        If Err.number Then GoTo MANEJA_ERROR 'Si genera error, anunciar el error'
        'Nuesta función, funcionó :D, retornemos True'
        CrearEditarVista = True
    Else
        GoTo MANEJA_ERROR
    End If
    Exit Function
MANEJA_ERROR:
    MsgBox "[" & Err.number & "] - [" & Err.description, vbCritical, "Error"
    CrearEditarVista = False
End Function

Ahora, necesitamos consumirla y hacer el resto:

Function AbrirVista()
    strSQL = "Cualquier consulta con SELECT"
    R = CrearEditarVista("NombreDeMiVista", SQL)
    
    If R = True Then 'Si se creó o editó la vista'
        'Refrescamos los objetos. Si no hacemos esto, dará error porque no encontrará la vista o nos abrirá la vista, con la consulta que ya tenía guardada'
        Application.RefreshDatabaseWindow
        'Esperamos un segundo a que se actualicen los objetos'
        Sleep (1)
        'Finalmente abrimos la vista'
        DoCmd.OpenView "NombreDeMiVista", acViewNormal
    End If
End Function

Aquí la función Sleep(), aclaro que no es mía, álgún genio de la Web la creó, y yo la copié

Public Function Sleep(NumberOfSeconds As Variant)
On Error GoTo Err_Pause

    Dim PauseTime As Variant, start As Variant

    PauseTime = NumberOfSeconds
    start = Timer
    Do While Timer < start + PauseTime
    DoEvents
    Loop

Exit_Pause:
    Exit Function

Err_Pause:
    MsgBox Err.number & " - " & Err.description, vbCritical, "Pause()"
    Resume Exit_Pause

End Function

Copia todo esto a un módulo y lo podrás usar sin problemas, o hasta puedes crear un formulario. como el siguiente:

SQLVista

Espero te sirva. ¡Hasta la próxima!

Los medicamentos, absolutamente, van a cambiar tu vida. Si el problema persiste durante un perГ­odo mГЎs largo, se debe consultar a un mГ©dico. ВїTiene alguna pregunta sobre Kamagra y comprare cialis? Por supuesto que no es todo. ВїQuГ© medicamento es adecuado para la incapacidad para obtener o mantener una erecciГіn? Tal vez usted sabe sobre . Otra cuestión que tenemos que discutir es . Tener impotencia lata complicar el romance. Todo tipo de medicamentos, desde aquellos que se consideran «todos naturales» a los que se producen quГ­micamente en un laboratorio, pueden causar algunos efectos secundarios no deseados.

Como solucionar el error 3417 de Microsoft SQL Server

Administrador de configuración de SQL Server

Repercusiones del error:

Afecta/se refiere al Microsoft SQL Server, y por lo tanto a programas dependientes de él como Visual Caja, Visual Caja 3D, ContPaq, ContPaq i y otros.

Si intentas iniciarlo desde el Microsoft SQL Server Configuration Manager (Administrador de configuración de SQL Server) da un error como el siguiente:

Administrador de configuración de SQL Server
Error en la solicitud o el servicio no respondió a tiempo. Consulta el registro de eventos u otros registros de errores aplicables para ver los detalles.

Administrador de configuración de SQL Server

«Error en la solicitud o el servicio no respondió a tiempo. Consulta el registro de eventos u otros registros de errores aplicables para ver los detalles.

Si nos vamos al registro de errores de Windows (Panel de control / Herramientas administrativas / visor de sucesos) en el apartado programas aparecen varios errores relacionados con el MSSQLSERVER$Nombredeinstancia. Algunos relacionados con lo siguientes:

Error 3417: No se pudo abrir el archivo c:\Archivos de programa\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\mastlog.ldf

Error: 17204, Severity: 16, State: 1.
FCB::Open failed: Could not open file c:\Archivos de programa\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\MSDBData.mdf for file number 1.  OS error: 3(El sistema no puede hallar la ruta especificada.).

Soluciones:

1 – Verificar que los parámetros de ejecución sean correctos:

    • Entra al  Microsoft SQL Server Configuration Manager 

(Administrador de configuración de SQL Server), desde Inicio / Microsoft SQL Server 2005 / Herramientas de configuración / Administrador de configuración de SQL Server. Esto abrirá una ventana como la que se muestra en la captura 1.

  • Da clic derecho en la instancia que deseas reparar, y luego propiedades.
  • Pestaña Avanzado
  • En «Parametros de inicio» o «Parametros de Ejecución» verifica que los archivos que ahí se mencionan realmente existan en tu disco duro.
  • Si no existen, búscalos en la carpeta: c:\Archivos de programa\Microsoft SQL Server\MSSQL.### (Puede tomar varios nombres) y corrige el valor en «parámetros de ejecución» o «Startup parameters» como se muestra en la imagen.
  • En el Administrador de configuración de SQL Server, inicia la instancia de SQL Server que estás reparando (Clic derecho, Iniciar)

2 – Quitar la compresion de archivos:

    • Ve a la ruta:

c:\Archivos de programa\Microsoft SQL Server\MSSQL.####\MSSQL\DATA\ (### Indica que puede tomar cualquier nombre, regularmente «1» o el nombre de la instancia.)

  • Selecciona todos los archivos
  • Clic derecho y luego en propiedades.
  • Clic en el botón «Opciones Avanzadas«
  • Desmarca la casilla: «Comprimir contenido para ahorrar espacio en disco«
  • Presiona Aceptar.
  • En el Administrador de configuración de SQL Server, inicia la instancia de SQL Server que estás reparando (Clic derecho, Iniciar)

3 – Quitarle el servicio de Red (Solo si el SQL es Monousuario, no servidor):

Esta solución solo te servirá si tu Servidor SQL sirve los datos a la misma PC, este decír la PC cuple la funciona de Usuario y Servidor, no se conectan mas equipos a esta PC. Si es servidor de Red, no pruebes esta solución.

  • Inicio / Ejecutar / Escribe «Services.msc»
  • En en el administrador de servicios busca: SQL Server (######) – (### Indica el nombre de la instancia)
  • Clic derecho / propiedades
  • Pestaña: Iniciar Sesión
  • Selecciona «Cuenta del sistema local» quitando así la opción «Servicio de red»
  • También marca la casilla: «permitir que el servicio interactue con el escritorio»
  • Acepta
  • En el Administrador de configuración de SQL Server, inicia la instancia de SQL Server que estás reparando (Clic derecho, Iniciar)

Nota importante: Si tu PC es servidor de Red, y está marcada la opción: Cuenta del sistema local, activa el servicio de red, seleccionando la otra opción: «Esta cuenta: «.

Estas son algunas opciones para solucionar el error 3417 de Microsft SQL Server. Quizá haya más, por el momento estas me han funcionado.

Los medicamentos, absolutamente, van a cambiar tu vida. Si el problema persiste durante un perГ­odo mГЎs largo, se debe consultar a un mГ©dico. ВїTiene alguna pregunta sobre Kamagra y comprare cialis? Por supuesto que no es todo. ВїQuГ© medicamento es adecuado para la incapacidad para obtener o mantener una erecciГіn? Tal vez usted sabe sobre . Otra pregunta que tenemos que discutir es . Tener impotencia puede complicar el romance. Todo tipo de medicamentos, desde aquellos que se consideran «todos naturales» a los que se producen quГ­micamente en un laboratorio, pueden causar algunos efectos secundarios no deseados.

Recuperar una Base de Datos Dañada en SQL Server

En mi experiencia he tenido que lidiar con las bases de datos dañadas, no sé exactamente que las dañe, pues no es posible saberlo. Pero a grandes rasgos, es por el mal estado de un disco duro, debido a los sectores dañado, o en otos menos probables, los llamado «apagones» electricos, cuando son comunes,

Afortunadamente hay solución para esto.

Identificas que la base de datos está dañada, cuando a pesar de tener los parámetros de conexion correctos, no se hace la conexión. O bien cuando la base de datos tiene la marca «SUSPECT» o «SOSPECHOSA».

Para solucionar esto solo necesitas ingresar al servidor SQL Desde la linea de comando, usando el siguiente comando:

OSQL -Usa -Sservidor\instancia -Paquílacontraseña

 

Si los datos proporcionado son válidos, accederás a la linea de comando del servidor SQL.

Luego ejecuta los siguientes comandos:

ALTER DATABASE NombreBD SET EMERGENCY
GO
ALTER DATABASE NombreBD SET SINGLE_USER
GO
DBCC CHECKDB (NombreBD, REPAIR_ALLOW_DATA_LOSS)
GO

ALTER DATABASE NombreBD SET ONLINE

GO
ALTER DATABASE NombreBD SET MULTI_USER
GO

Después de seguír estos pasos, sal de la linea de comando, y tu base de datos deberá estár activa y funcionando.