Utilizamos cookies propias y de terceros. Al navegar entendemos que aceptas el uso de cookies. +Info.
Política de cookies
Proyecto AjpdSoft

· Inicio
· Buscar
· Contactar
· Cookies
· Descargas
· Foros
· Historia
· Nosotros
· Proponer
· Temas
· Top 10
· Trucos
· Tutoriales
· Usuario
· Wiki

Nick


Contraseña


Nuevo usuario


English

SQL Server: Instalar y administrar Microsoft SQL Server 2008 R2 Express
Bases de Datos


Explicamos cómo instalar y administrar Microsoft SQL Server 2008 R2 Express en un equipo con Microsoft Windows 7 (Seven) como sistema operativo. Mostramos paso a paso cómo descargar, instalar y administrar este motor de base de datos gratuito de Microsoft. Explicamos cómo crear una base de datos y una tabla con campo autoincremento, explicamos cómo hacer copias de seguridad (backup) automáticas programadas y cómo acceder mediante ODBC y Access a SQL Server.



 

Descarga e instalación de Microsoft SQL Server 2008 R2 Express en Windows 7

Descargaremos el fichero de instalación de SQL Server 2008 Express (es gratuito) abriendo cualquier navegador y accediendo a la URL:

http://www.microsoft.com/express/Database

Seleccionaremos el tipo de instalación (32 ó 64 bits), en nuestro caso, puesto que tenemos Microsoft Windows 7 de 64 bits sobre arquitectura de 64 bits, seleccionaremos 64 bits, se iniciará la descarga de SQLEXPRWT_x64_ENU.exe (de 248MB):

AjpdSoft Descarga e instalación de Microsoft SQL Server 2008 R2 Express en Windows 7

Se iniciará la descarga del fichero de instalación seleccionado:

AjpdSoft Descarga e instalación de Microsoft SQL Server 2008 R2 Express en Windows 7

Ejecutaremos el fichero descargado (si tenemos Microsoft Windows 7 es recomendable pulsar con el botón derecho del ratón sobre el ejecutable y seleccionar "Ejecutar como administrador"):

AjpdSoft Descarga e instalación de Microsoft SQL Server 2008 R2 Express en Windows 7

Si tenemos UAC activado pulsaremos en "Sí" en el mensaje "¿Desea permitir que este programa realice cambios en el equipo?":

AjpdSoft Descarga e instalación de Microsoft SQL Server 2008 R2 Express en Windows 7

Seleccionaremos "New installation or add features to an existing installation":

AjpdSoft Descarga e instalación de Microsoft SQL Server 2008 R2 Express en Windows 7

Leeremos los términos de licencia de Microsoft SQL Server 2008 R2 Express, si estamos de acuerdo marcaremos "I accept the license terms" y pulsaremos "Next":

AjpdSoft Descarga e instalación de Microsoft SQL Server 2008 R2 Express en Windows 7

Seleccionaremos los elementos a instalar:

  • Database Engine services: servicios del motor de base de datos SQL Server, característica de obligatoria instalación para el funcionamiento del servidor de SQL Server.
    • SQL Server Replication: herramienta de replicación de bases de datos SQL Server.
  • Management Tools - Basic: consola de administración de SQL Server.
  • SQL Client Connectivity SDK: herramientas de conexión con SQL Server para desarrolladores.

Seleccionaremos la carpeta de instalación y pulsaremos "Next":

AjpdSoft Descarga e instalación de Microsoft SQL Server 2008 R2 Express en Windows 7

Introduciremos el nombre de la instancia de SQL Server (podemos tener varias instaladas en un mismo equipo), en nuestro caso "SQLExpress2008":

AjpdSoft Descarga e instalación de Microsoft SQL Server 2008 R2 Express en Windows 7

Introduciremos el usuario y contraseña para cada servicio que se instalará, pulsando en "Use the same account for all SQL Server services" podremos establecer el mismo usuario para todos los servicios de Microsoft SQL Server 2008 R2 Express:

AjpdSoft Descarga e instalación de Microsoft SQL Server 2008 R2 Express en Windows 7

Nota: SQL Server Browser es el servicio de resolución de nombres que proporciona información de conexión a SQL Server para equipos cliente. Este servicio es compartido a través de múltiples instancias de SQL Server y Integration Services.

Introduciremos usuario en "Account Name" y contraseña en "Password":

AjpdSoft Descarga e instalación de Microsoft SQL Server 2008 R2 Express en Windows 7

En la ventana anterior, también podremos elegir el tipo de inicio para cada servicio, por defecto SQL Server Database Engine es automático (Automatic) y SQL Server Browser está desactivado (Disabled):

AjpdSoft Descarga e instalación de Microsoft SQL Server 2008 R2 Express en Windows 7

A continuación deberemos elegir el método de autenticación en la pestaña "Account Provisioning", las posibilidades:

  • Windows authentication mode: se utilizarán los usuarios del sistema operativo (Windows) para inicio de sesión en SQL Server.
  • Mixed Mode (SQL Server authentication and Windows authentication): modo mixto, acceso con usuarios de SQL Server y con usuarios del sistema operativo.

En nuestro caso seleccionaremos "Mixd Mode" y en "Specify the password for the SQL Server system administrator (sa) account" introduciermos la contraseña para el superusuario administrador de SQL Server "sa". Es recomendable que sea una contraseña segura (con números, letras en mayúsculas y minúsculas y algún carácter especial) pues este usuario tiene permisos para realizar cualquier acción en la base de datos.

En "Specify SQL Server administrators" podremos añadir los usuarios que queramos que sean administradores del servidor de SQL Server:

AjpdSoft Descarga e instalación de Microsoft SQL Server 2008 R2 Express en Windows 7

En la pestaña "Data Directories" podremso elegir los directorios de instalación de cada elemento (directorio de usuario, log, temporal, backup, etc.):

AjpdSoft Descarga e instalación de Microsoft SQL Server 2008 R2 Express en Windows 7

Marcaremos el check "Send Windows and SQL Server Error Reports to Microsoft or your corporate report server. This settings only applies to services that run without user interations" si queremos enviar reportes automáticos de errores a Microsoft. Pulsaremos "Next" para continuar:

AjpdSoft Descarga e instalación de Microsoft SQL Server 2008 R2 Express en Windows 7

Se iniciará el proceso de instalación de Microsoft SQL Server 2008 R2 Express:

AjpdSoft Descarga e instalación de Microsoft SQL Server 2008 R2 Express en Windows 7

Una vez finalizado el proceso, puede que nos indique que tenemos que reiniciar el equipo, con el mensaje "One or more affected files have operations pendins. You must restart your computer to complete this process". Pulsaremos "OK":

AjpdSoft Descarga e instalación de Microsoft SQL Server 2008 R2 Express en Windows 7

Nos mostrará la ventana con el resultado de la instalación de SQL Server 2008 R2 Express. Pulsaremos "Close":

AjpdSoft Descarga e instalación de Microsoft SQL Server 2008 R2 Express en Windows 7

 

 

Administración de Microsoft SQL Server 2008 R2 Express

Una vez instalado SQL Server 2008 R2 Express, podremos acceder a la administración desde el botón "Iniciar" - "Todos los programas" - "Microsoft SQL Server 2008 R2" - "SQL Server Management Studio":

AjpdSoft Administración de Microsoft SQL Server 2008 R2 Express

En el primer inicio de SQL Server Management Studio nos mostrará esta ventana con el progreso de la preparación de esta herramienta:

AjpdSoft Administración de Microsoft SQL Server 2008 R2 Express

Introduciremos los siguientes datos en la ventana de conexión al servidor de Microsoft SQL Server 2008 R2:

  • Server type: seleccionaremos "Database Engine".
  • Server name: introduremos el nombre de red del equipo (hosname) o IP, una barra invertida y el nombre de la instancia de SQL Server, en nuestro caso "SQLExpress2008".
  • Authentication: elegiremos el tipo de autenticación, bien la de Windows o bien la de SQL Server (según las opciones seleccionadas en la instalación). En nuestro caso seleccionaremos "Windows Authentication".

AjpdSoft Administración de Microsoft SQL Server 2008 R2 Express

Si tenemos algún cortafuegos o firewall deberemos abrir los puertos necesarios correspondientes (el 1433 por defecto):

AjpdSoft Administración de Microsoft SQL Server 2008 R2 Express

Y accederemos a Microsoft SQL Server Management Studio, desde donde podremos administrar y configurar Microsoft SQL Server 2008 R2 Express:

AjpdSoft Administración de Microsoft SQL Server 2008 R2 Express

 

Crear una nueva base de datos para nuestras aplicaciones de gestión (facturación, contabilidad, rrhh)

Accederemos a Microsoft SQL Server Management Studio, sobre "Databases" pulsaremos con el botón derecho del ratón y seleccionaremos "New Database":

AjpdSoft Crear una nueva base de datos para nuestras aplicaciones de gestión (facturación, contabilidad, rrhh) en Microsoft SQL Server 2008 R2

Introduciremos en "Database name" el nombre de la base de datos, en nuestro caso "bdajpdsoft", podremos personalizar los ficheros de datos (nombre, ubicación y tamaño, en "Database files"), las opciones de seguridad (qué usuarios serán propietarios en "Owner"), etc:

AjpdSoft Crear una nueva base de datos para nuestras aplicaciones de gestión (facturación, contabilidad, rrhh) en Microsoft SQL Server 2008 R2

El script para generar la base de datos (pulsando en el botón "Script") nos lo generará, podremos usarlo para crear una base de datos en modo comando o para crear varias bases de datos de forma rápida:

CREATE DATABASE [bdajpdsoft] ON PRIMARY
( NAME = N'bdajpdsoft', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL10_50.SQLEXPRESS\MSSQL\DATA\bdajpdsoft.mdf' , SIZE = 3072KB , FILEGROWTH = 1024KB )
LOG ON
( NAME = N'bdajpdsoft_log', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL10_50.SQLEXPRESS\MSSQL\DATA\bdajpdsoft_log.ldf' , SIZE = 1024KB , FILEGROWTH = 10%)
GO
ALTER DATABASE [bdajpdsoft] SET COMPATIBILITY_LEVEL = 100
GO
ALTER DATABASE [bdajpdsoft] SET ANSI_NULL_DEFAULT OFF
GO
ALTER DATABASE [bdajpdsoft] SET ANSI_NULLS OFF
GO
ALTER DATABASE [bdajpdsoft] SET ANSI_PADDING OFF
GO
ALTER DATABASE [bdajpdsoft] SET ANSI_WARNINGS OFF
GO
ALTER DATABASE [bdajpdsoft] SET ARITHABORT OFF
GO
ALTER DATABASE [bdajpdsoft] SET AUTO_CLOSE OFF
GO
ALTER DATABASE [bdajpdsoft] SET AUTO_CREATE_STATISTICS ON
GO
ALTER DATABASE [bdajpdsoft] SET AUTO_SHRINK OFF
GO
ALTER DATABASE [bdajpdsoft] SET AUTO_UPDATE_STATISTICS ON
GO
ALTER DATABASE [bdajpdsoft] SET CURSOR_CLOSE_ON_COMMIT OFF
GO
ALTER DATABASE [bdajpdsoft] SET CURSOR_DEFAULT GLOBAL
GO
ALTER DATABASE [bdajpdsoft] SET CONCAT_NULL_YIELDS_NULL OFF
GO
ALTER DATABASE [bdajpdsoft] SET NUMERIC_ROUNDABORT OFF
GO
ALTER DATABASE [bdajpdsoft] SET QUOTED_IDENTIFIER OFF
GO
ALTER DATABASE [bdajpdsoft] SET RECURSIVE_TRIGGERS OFF
GO
ALTER DATABASE [bdajpdsoft] SET DISABLE_BROKER
GO
ALTER DATABASE [bdajpdsoft] SET AUTO_UPDATE_STATISTICS_ASYNC OFF
GO
ALTER DATABASE [bdajpdsoft] SET DATE_CORRELATION_OPTIMIZATION OFF
GO
ALTER DATABASE [bdajpdsoft] SET PARAMETERIZATION SIMPLE
GO
ALTER DATABASE [bdajpdsoft] SET READ_WRITE
GO
ALTER DATABASE [bdajpdsoft] SET RECOVERY SIMPLE
GO
ALTER DATABASE [bdajpdsoft] SET MULTI_USER
GO
ALTER DATABASE [bdajpdsoft] SET PAGE_VERIFY CHECKSUM
GO
USE [bdajpdsoft]
GO
IF NOT EXISTS (SELECT name FROM sys.filegroups WHERE is_default=1 AND name = N'PRIMARY') ALTER DATABASE [bdajpdsoft] MODIFY FILEGROUP [PRIMARY] DEFAULT
GO

 

Crear una tabla en una base de datos SQL Server 2008 R2 desde Microsoft SQL Server Management Studio

Desplegaremos la base de datos creada en "Databases", desplegaremos "bdajpdsoft" (es el nombre que le hemos dado a la base de datos para nuestras aplicaciones de gestión (contabilidad, facturación, recursos humanos, etc.), en "Tables" pulsaremos con el botón derecho del ratón y seleccionaremos "New Table":

AjpdSoft Crear una tabla en una base de datos SQL Server 2008 R2 desde Microsoft SQL Server Management Studio

Iremos añadiendo en la parte derecha todos los campos que deseemos para la tabla "clientes", por ejemplo:

  • Crearemos un campo llamado "codigo" que será clave primaria (primary key) y será autoincremento. Para ello en "Column Name" introduciremos "codigo", en "Data Type" seleccioanremos "int", en "Column Properties", en "Identity Specification", en "(Is Identity") seleccionaremos "Yes", en "Identity Increment" introduciremos "1" (será el factor de incremento) y en "Identity Seed" introduciremos "1", será desde donde empezará el autoincremento:

AjpdSoft Crear una tabla en una base de datos SQL Server 2008 R2 desde Microsoft SQL Server Management Studio

Para que el campo sea clave primaria (primary key), pulsaremos con el botón derecho del ratón y seleccionaremos "Set Primary Key":

AjpdSoft Crear una tabla en una base de datos SQL Server 2008 R2 desde Microsoft SQL Server Management Studio

  • Crearemos un campo llamado "cif", de tipo "nvarchar(15)", este campo no podrá ser nulo por lo que desmarcaremos "Allow Nulls":

AjpdSoft Crear una tabla en una base de datos SQL Server 2008 R2 desde Microsoft SQL Server Management Studio

Además, crearemos un índice para este campo, de forma que sea único (que no se puedan repetir dos registros con el mismo valor), para ello pulsaremos con el botón derecho sobre la columna "cif", seleccionaremos "Indexes/Keys":

AjpdSoft Crear una tabla en una base de datos SQL Server 2008 R2 desde Microsoft SQL Server Management Studio

En la ventana de "Indexes/Keys" aparecerá ya creado el índice para la clave primaria del campo "codigo", pulsaremos "Add" para crear un nuevo índice e introduciremos los siguientes datos:

  • En "General", en "Columns" seleccionaremos "cif".
  • En "General", en "Is Unique" seleccionaremos "Yes".
  • En "Identity", en "(Name)" introduciremos un nombre para el índice, por ejemplo: "ix_cliente_cif".

Pulsaremos "Close" para cerrar la ventana de Indexes/Keys y guardar el nuevo índice creado:

AjpdSoft Crear una tabla en una base de datos SQL Server 2008 R2 desde Microsoft SQL Server Management Studio

Crearemos el resto de los campos de la misma forma que lo hemos hecho para el "codigo" y el "cif", antes de guardar la tabla deberemos indicar un nombre para ella, en la parte derecha, en "Properties", en "Identity", en "(Name)" introduciremos el nombre para la tabla, en nuestro caso "cliente":

AjpdSoft Crear una tabla en una base de datos SQL Server 2008 R2 desde Microsoft SQL Server Management Studio

Pulsaremos el botón "Save" para crear la tabla con los campos y propiedades indicados:

AjpdSoft Crear una tabla en una base de datos SQL Server 2008 R2 desde Microsoft SQL Server Management Studio

El script que generaría esta tabla:

BEGIN TRANSACTION
SET QUOTED_IDENTIFIER ON
SET ARITHABORT ON
SET NUMERIC_ROUNDABORT OFF
SET CONCAT_NULL_YIELDS_NULL ON
SET ANSI_NULLS ON
SET ANSI_PADDING ON
SET ANSI_WARNINGS ON
COMMIT
BEGIN TRANSACTION
GO
CREATE TABLE dbo.cliente
(
codigo int NOT NULL IDENTITY (1, 1),
cif nvarchar(15) NOT NULL,
nombre nvarchar(150) NOT NULL,
fechaalta date NULL,
email nchar(100) NULL,
web nchar(100) NULL,
direccion nchar(200) NULL,
observacion ntext NULL
) ON [PRIMARY]
TEXTIMAGE_ON [PRIMARY]
GO
ALTER TABLE dbo.cliente ADD CONSTRAINT
pk_cliente_codigo PRIMARY KEY CLUSTERED
(
codigo
) WITH( STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]

GO
CREATE UNIQUE NONCLUSTERED INDEX ix_cliente_cif ON dbo.cliente
(
cif
) WITH( STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
GO
ALTER TABLE dbo.cliente SET (LOCK_ESCALATION = TABLE)
GO
COMMIT

Ya tendremos preparado Microsoft SQL Server para ser usado por cualquier aplicación y guardar datos en la tabla "cliente" de la base de datos "bdajpdsoft".

AjpdSoft Crear una tabla en una base de datos SQL Server 2008 R2 desde Microsoft SQL Server Management Studio

 

Configurar Microsoft SQL Server para permitir conexiones remotas o acceso externo

Si queremos que desde otros equipos de la red o incluso desde otros equipos de Internet haya acceso a este servidor con SQL Server deberemos seguir los pasos que a continuación detallamos para activar las conexiones remotas o acceso externo a SQL Server.

Accederemos al botón "Iniciar", en programas accederemos a "Microsoft SQL Server 2008 R2" - "Configuration Tools" - "SQL Server Configuration Manager" y seleccionaremos en la parte izquierda "SQL Server Services". En la parte derecha nos mostrará los tres servicios de SQL Server 2008 R2 Express:

  • SQL Server (SQLEXPRESS).
  • SQL Server Agent (SQKEXORESS).
  • SQL Server Browser.

De los tres servicios deben estar iniciados SQL Server y SQL Server Browser, si no lo están pulsaremos con el botón derecho del ratón y seleccionaremos "Start". Además, deben estar con el tipo de inicio automático, para que se inicien de forma automática cada vez que reiniciemos o arranquemos el equipo. Para configurar el tipo de inicio pulsaremos con el botón derecho del ratón sobre el servicio, seleccioanremos "Propiedades":

AjpdSoft Configurar Microsoft SQL Server para permitir conexiones remotas o acceso externo

En la pestaña "Service", en "Start Mode", seleccionaremos "Automatic":

AjpdSoft Configurar Microsoft SQL Server para permitir conexiones remotas o acceso externo

A continuación activaremos el método de conexión TCP/IP, para ello accederemos (en la parte izquierda) a "SQL Server Network Configuration", seleccionaremos "Protocols for SQLEXPRESS", pulsaremos en la parte derecha con el botón derecho del ratón sobre "TCP/IP" y seleccionaremos "Enable":

AjpdSoft Configurar Microsoft SQL Server para permitir conexiones remotas o acceso externo

Nos mostrará un mensaje indicando que el cambio se aplicará una vez reiniciado el servicio de SQL Server, podremos reiniciarlo desde "SQL Server Services", pulsando con el botón derecho del ratón sobre "SQL Server" y seleccionando "Restart":

AjpdSoft Configurar Microsoft SQL Server para permitir conexiones remotas o acceso externo

Ahora, abriremos Microsoft SQL Server Management Studio, nos conectaremos al servidor, pulsaremos con el botón derecho del ratón sobre el nombre de la instancia de SQL Server a configurar (la de defecto será "nombre_equipo/sqlexpress", en el menú emergente seleccionaremos "Propiedades":

AjpdSoft Configurar Microsoft SQL Server para permitir conexiones remotas o acceso externo

En la parte izquierda seleccionaremos la página "Connections", en la parte derecha nos aseguraremos de que esté marcado "Allow remote connections to this server" y que en "Maximum number of concurrent connections tengamos 0 (ilimitadas) o mayor que uno (para permitir las que queramos):

AjpdSoft Configurar Microsoft SQL Server para permitir conexiones remotas o acceso externo

En la página "Security", es recomendable (aunque dependerá de las aplicaciones de gestión y demás de nuestra organización que usen SQL Server) marcar "SQL Server and Windows Authentication mode". Este modo es casi necesario en situaciones donde queremos permitir el acceso a aplicaciones externas a nuestra organización a través de Internet. Pues si dejamos únicamente el modo "Windows Authentication mode", obligaremos a que el acceso sólo se permitirá a usuarios que pertenezcan al mismo dominio Windows que donde tengamos instalado SQL Server, en este caso sólo se permitirían acceso a equipos que pertenezcan al dominio. Por ello, para el caso de acceso externo a nuestro servidor SQL Server es recomendable marcar "SQL Server and Windows Authentication mode", así, las aplicaciones externas a nuestra red (o las de nuestra propia red) podrán acceder a SQL Serve con un usuario de éste, sin necesidad de pertenecer a nuestro dominio Windows.

Por supuesto, en ambos casos, deberemos tener usuarios con contraseñas seguras (números, letras mayúsculas y minúsculas y algún carácter especial), para evitar posibles "robos" de contraseñas mediante fuerza bruta u otros métodos. Además, es recomendable seguir una política de caducidad y complejidad de contraseñas adecuada:

AjpdSoft Configurar Microsoft SQL Server para permitir conexiones remotas o acceso externo

Y por último, si tenemos algún cortafuegos o firewall en el equipo servidor o en la red, deberemos abrir el puerto 1433 (de defecto) para SQL Server. Y si queremos que los equipos de Internet accedan a nuestro servidor de SQL Server, si tenemos un router o cortafuegos, deberemos redireccionar o mapear el puerto 1433 a la IP del equipo con SQL Server.

 

 

Configurar y programar copias de seguridad de Microsoft SQL Server 2008 R2

Crear dispositivo para copias de seguridad SQL Server

En primer lugar daremos un nuevo dispositivo de alta, para ello accederemos a Microsoft SQL Server Management Studio, desplegaremos la rama "Server Objects", seleccionaremos "Backup Devices", pulsaremos con el botón derecho del ratón y seleccionaremos "New Backup Device":

AjpdSoft Configurar y programar copias de seguridad de Microsoft SQL Server 2008 R2

En "Device name" introduciremos el nombre que definirá el dispositivo, por ejemplo "Disco_D", si disponemos de una unidad de cinta podremos seleccionarla en "Tape", sino podremos hacer copia de seguridad a disco, para ello seleccionaremos "File" e introduciremos una unidad y carpeta de destino, o pulsaremos el botón "..." para seleccionarla:

AjpdSoft Configurar y programar copias de seguridad de Microsoft SQL Server 2008 R2

Seleccionaremos la carpeta y fichero de destino de la copia de seguridad de la base de datos Microsoft SQL Server 2008 R2 Express, en "File name" introduciremos el nombre del fichero de copia de seguridad, por ejemplo "backup_sql_server":

AjpdSoft Configurar y programar copias de seguridad de Microsoft SQL Server 2008 R2

Tras seleccionar el destino en "Destination" y el nombre del dispositivo en "Device name" pulsaremos en "OK":

AjpdSoft Configurar y programar copias de seguridad de Microsoft SQL Server 2008 R2

A partir de ahora podremos usar este dispositivo, diferenciándolo con el nombre que le hemos asignado. El script para crear el dispositivo desde la línea de comandos:

USE [master]
GO
EXEC master.dbo.sp_addumpdevice @devtype = N'disk', @logicalname = N'Disco_D', @physicalname = N'D:/backup_sql_server'
GO

 

Realizar copia de seguridad (backup) de una base de datos SQL Server desde Management Studio

Para hacer una copia de seguridad de una base de datos de Microsoft SQL Server pulsaremos con el botón derecho del ratón sobre el dispositivo creado y seleccionaremos "Back Up a Database":

AjpdSoft Configurar y programar copias de seguridad de Microsoft SQL Server 2008 R2

Seleccionaremos los siguientes datos de la pestaña "General":

  • Database: seleccionaremos la base de datos de la que haremos copia de seguridad, en nuestro caso "bdajpdsoft".
  • Backup type: seleccionaremos "Full" (copia completa) o "Differencial" (copia sólo de los datos modificados o nuevos).
  • Name: indicaremos un nombre para la copia de seguridad.
  • Backup set will expire: si queremos que la copia de seguridad caduque y pueda ser reemplazada, indicaremos aquí los días de validez.
  • Destination: seleccionaremos el destino de la copia (Disk ó Tape), nos aparecerá el dispositivo creado en el paso anterior.

AjpdSoft Configurar y programar copias de seguridad de Microsoft SQL Server 2008 R2

En la pestaña "Options" seleccionaremos:

  • Overwrite media: seleccionaremos el método de reemplazo de copias existentes:
    • Back up to the existing media set: realizará la copia en un medio existente, con las siguientes posibilidades:
      • Append to the existing backup set: utilizará un fichero o medio existente, si marcamos la opción "Check media set name and backup set expiration" comprobará si el contenido del fichero ha expirado para reemplazar la parte expirada por los nuevos datos.
      • Overwrite all existing backup sets: reemplazará los ficheros o medios existentes con los nuevos.
    • Back up to a new media set, and erase all existing backup sets: realizará la copia de seguridad en un nuevo fichero o medio y eliminará los existentes.
  • Reliability:
    • Verify backup when finished: comprobará el fichero o medio tras finalizar la copia de seguridad.
    • Perform checksum before writing to media: realizará una comprobación de checksum antes de realizar la copia de seguridad.
    • Continue on error: continuará con la copia de seguridad aunque se produzca algún error.
  • Compression: seleccionaremos el método de compresión, ha de permitirlo el dispositivo (por hardware) o el servidor por software, de lo contrario, si seleccionaremos "Compress backup" y no es posible dará un error como este.

Una vez seleccionadas las opciones de configuración para la copia de seguridad, pulsaremos "OK" para iniciar el proceso de copia de seguridad:

AjpdSoft Configurar y programar copias de seguridad de Microsoft SQL Server 2008 R2

Tras la finalización de la copia de seguridad, nos mostrará un mensaje como el siguiente:

AjpdSoft Configurar y programar copias de seguridad de Microsoft SQL Server 2008 R2

Con el texto:

Microsoft SQL Server Management Studio
The backup of database "bdajpdsoft" completed successfully

Nos habrá creado un fichero en la unidad indicada con la copia de seguridad de la base de datos elegida:

AjpdSoft Configurar y programar copias de seguridad de Microsoft SQL Server 2008 R2

El script para ejecutar la copia de seguridad de la base de datos desde la línea de comandos:

BACKUP DATABASE [bdajpdsoft] TO [Disco_D] WITH DESCRIPTION = N'Backup bdajpdsoft - Completa', NOFORMAT, INIT, NAME = N'Backup bdajpdsoft - Completa', SKIP, NOREWIND, NOUNLOAD, STATS = 10
GO

 

Programar copias de seguridad automáticas de SQL Server 2008 R2

Es probable que necesitemos activar la conexión remota a Microsoft SQL Server 2008 R2, sobre todo si la copia de seguridad la vamos a realizar desde un equipo de la red diferente del servidor de SQL Server.

En primer lugar crearemos un fichero de proceso por lotes .bat con el siguiente contenido (se puede usar cualquier editor de texto plano como el Notepad):

osql -S "PCALONSO\SQLEXPRESS" -U sa -P xxx -Q "BACKUP DATABASE [bdajpdsoft] TO [Disco_D] WITH DESCRIPTION = N'Backup bdajpdsoft - Completa', NOFORMAT, INIT, NAME = N'Backup bdajpdsoft - Completa', SKIP, NOREWIND, NOUNLOAD, STATS = 10"

Donde:

  • PCALONSO\SQLEXPRESS: "PCALONSO" es el nombre del equipo en la red (hostname) o la dirección IP y "SQLEXPRESS" es el nombre de la instancia de SQL Server por defecto, en nuestro caso, en la instalación, pusimos el nombre "SQLExpress2008".
  • "sa" y "xxx": "sa" nombre del usuario de SQL Server con permisos suficientes para hacer copia en la base de datos elegida, "xxx" es la contraseña de este usuario. Nota importante: para que el parámetro "-U" funcione, deben estar activo el tipo de autenticación mixto (Autenticación de Windows y autenticación de SQL Server). Aquí explicamos cómo cambiarlo. Si queremos dejar el método de autenticación de Windows únicamente, deberemos usar el parámetro -E, que usará el usuario del sistema operativo que ha iniciado sesión.
  • "bdajpdsoft": nombre de la base de datos de la que se hará copia de seguridad.
  • "Disco_D": nombre del dispositivo (previamente creado) que será el destino de la copia de seguridad. Aquí explicamos cómo crear un dispositivo.

Nota: podremos añadir al final del script ">> resultado.log" para guardar en un fichero el resultado de la ejecución del comando y así poder consultarlo posteriormente para verificar que el comando se ejecuta correctamente.

Una vez creado el fichero backup_sql_server.bat (o el nombre que queramos darle), abriremos el programador de tareas de Microsoft Windows 7, desde el botón "Iniciar" - "Panel de control" - "Herramients administrativas" - "Programador de tareas". En la parte derecha, en "Acciones", pulsaremos en "Crear tarea básica":

AjpdSoft Programar copias de seguridad automáticas de SQL Server 2008 R2

Introduciremos un nombre para la tarea, por ejemplo "Backup SQL Server" y una descripción, por ejemplo "Copia de seguridad de bdajpdsoft de Microsoft SQL Server 2008 R2 Express":

AjpdSoft Programar copias de seguridad automáticas de SQL Server 2008 R2

Seleccionaremos la periodicidad de la tarea, en nuestro caso "Semanalmente":

AjpdSoft Programar copias de seguridad automáticas de SQL Server 2008 R2

Indicaremos los días de la semana y la hora de inicio de la tarea de copia de seguridad de SQL Server:

AjpdSoft Programar copias de seguridad automáticas de SQL Server 2008 R2

En la acción a realizar por la tarea marcaremos "Iniciar un programa":

AjpdSoft Programar copias de seguridad automáticas de SQL Server 2008 R2

Pulsaremos en "Examinar" en "Programa o script":

AjpdSoft Programar copias de seguridad automáticas de SQL Server 2008 R2

Accederemos a la unidad y carpeta donde hayamos guardado el fichero .bat con el script para la copia, lo seleccionaremos, en nuestro caso "backup_sql_server.bat" y pulsaremos "Abrir":

AjpdSoft Programar copias de seguridad automáticas de SQL Server 2008 R2

Pulsaremos "Siguiente" una vez elegido el fichero a ejecutar:

AjpdSoft Programar copias de seguridad automáticas de SQL Server 2008 R2

Marcaremos "Abrir el diálogo Propiedades para esta tarea al hacer clic en Finalizar" (necesario para establecer las opciones de seguridad) y pulsaremos "Finalizar":

AjpdSoft Programar copias de seguridad automáticas de SQL Server 2008 R2

En la pestaña "General", marcaremos "Ejecutar tanto si el usuario inició sesión como si no" (para que la copia de seguridad se inicie aunque el usuario no haya iniciado sesión) y marcaremos "Ejecutar con los privilegios más altos". Pulsaremos "Aceptar":

AjpdSoft Programar copias de seguridad automáticas de SQL Server 2008 R2

Nos pedirá usuario y contraseña, es fundamental introducir aquí un usuario y contraseña del equipo con permisos para escritura en la carpeta de destino de la copia. En nuestro caso, puesto que hemos elegido el método de validación con usuario de SQL Server (en el script hemos utilizado el parámetro -U "sa"), el usuario del sistema operativo no tiene por qué ser administrador:

AjpdSoft Programar copias de seguridad automáticas de SQL Server 2008 R2

Una vez creada la tarea de copia de seguridad automática de Microsoft SQL Server 2008 R2, podremos ejecutarla para realizar un test seleccionándola y pulsando el botón derecho del ratón, haciendo clic en "Ejecutar":

AjpdSoft Programar copias de seguridad automáticas de SQL Server 2008 R2

Si todo es correcto, la tarea habrá creado los ficheros, en la carpeta o dispositivo de destino:

  • backup_sql_server: fichero binario con el contenido de la copia de seguridad de SQL Server.
  • resultado.log: fichero con el resultado de la ejecución del comando, por ejemplo:

    12 percent processed.
    21 percent processed.
    30 percent processed.
    43 percent processed.
    51 percent processed.
    60 percent processed.
    73 percent processed.
    82 percent processed.
    90 percent processed.
    Processed 184 pages for database 'bdajpdsoft', file 'bdajpdsoft' on file 1.
    100 percent processed.
    Processed 1 pages for database 'bdajpdsoft', file 'bdajpdsoft_log' on file 1.
    BACKUP DATABASE successfully processed 185 pages in 0.293 seconds (4.932 MB/sec).

También podremos ver el resultado de la tarea en el visor de eventos o sucesos de Windows 7:

AjpdSoft Programar copias de seguridad automáticas de SQL Server 2008 R2

Con el texto: Database backed up. Database: bdajpdsoft, creation date(time): 2010/07/25(21:38:45), pages dumped: 194, first LSN: 21:395:37, last LSN: 21:411:1, number of dump devices: 1, device information: (FILE=1, ENGINE=DISK: {'Disco_D'}). This is an informational message only. No user action is required.

A partir de ahora se ejecutará la copia de lunes a viernes a las 22:00 horas (o la periodicidad que hayamos indicado).

Lógicamente, en nuestro caso hacemos copia al mismo equipo donde está SQL Server y es MUY recomendable copiar en un dispositivo de cinta o en otro equipo, por lo que deberíamos copiar el fichero resultante a otro equipo o a una unidad de cinta.

 

 

Crear origen de datos ODBC de SQL Server 2008

En primer lugar, puesto que vamos a realizar una aplicación Delphi que acceda a Microsoft SQL Server 2008 R2 mediante ODBC, buscaremos y descargaremos de la web oficial de Microsoft el complemento "Microsoft SQL Server 2008 Native Client", normalmente un fichero con el nombre "sqlncli.msi".

Una vez instalado el ODBC de SQL Server: "Microsoft SQL Server 2008 Native Client", accederemos al botón "Iniciar" - "Panel de control" - "Herramientas administrativas" - "Orígenes de datos ODBC". Si queremos que el origen de datos ODBC esté disponible sólo para el usuario actual pulsaremos en la pestaña "DSN de usuario", si queremos que esté disponible para todos los usuarios del equipo pulsaremos en la pestaña "DSN de sistema". En esta pestaña pulsaremos "Agregar":

AjpdSoft Acceso mediante Delphi a Microsoft SQL Server 2008 R2 y ODBC

Seleccionaremos el controlador para el origen de datos, en nuestro caso "SQL Server Native Client 10.0":

AjpdSoft Acceso mediante Delphi a Microsoft SQL Server 2008 R2 y ODBC

Introduciremos los siguientes datos:

  • Name: el nombre del origen de datos, por ejemplo "bdsqlajpdsoft", este nombre será el que utilicemos en la aplicación que desarrollemos.
  • Descripcion: introduciremos la descripción para identificar el origen de datos, por ejemplo "Conexión BD SQL Server con Delphi".
  • Server: deberemos indicar la IP o nombre de red (hostname) del equipo servidor de SQL Server y el nombre de la instancia a la que nos conectaremos, por ejemplo: PCALONSO\SQLEXPRESS, siendo "PCALONSO" el nombre de red del equipo con SQL Server y "SQLEXPRESS" el nombre de la instancia.

AjpdSoft Acceso mediante Delphi a Microsoft SQL Server 2008 R2 y ODBC

A continuación indicaremos el tipo de conexión que realizaremos (autenticación):

  • "With Integrated Windows authentication": autenticación de Windows, el usuario y contraseña del sistema operativo será el usado para la validación con SQL Server.
  • "With SQL Server authentication using a login ID and password entered by the user": validación con un usuario y contraseña de SQL Server. Esta será la opción que elijamos nosotros, en "Login" introduciremos el nombre del usuario de SQL Server con permisos suficientes para las tareas que queramos realizar y en "Password" la contraseña de este usuario.

Marcaremos la opción "Connect to SQL Server to obtain default settings for the additional configuration options" y pulsaremos "Siguiente":

AjpdSoft Acceso mediante Delphi a Microsoft SQL Server 2008 R2 y ODBC

Marcaremos "Change the default database to" y seleccionaremos la base de datos a la que nos conectaremos, "bdajpdsoft":

AjpdSoft Acceso mediante Delphi a Microsoft SQL Server 2008 R2 y ODBC

Pulsaremos "Finalizar" para crear definitivamente el origen de datos ODBC para SQL Server:

AjpdSoft Acceso mediante Delphi a Microsoft SQL Server 2008 R2 y ODBC

Tras la creación nos mostrará una ventana con los datos seleccionados:

AjpdSoft Acceso mediante Delphi a Microsoft SQL Server 2008 R2 y ODBC

Con el texto:

Microsoft SQL Server Native Client Version 10.50.1600

Data Source Name: bdsqlajpdsoft
Data Source Description: Conexión BD SQL Server con Delphi
Server: PCALONSO\SQLEXPRESS
Use Integrated Security: No
Database: bdajpdsoft
Language: Spanish
Data Encryption: No
Trust Server Certificate: No
Multiple Active Result Sets(MARS): No
Mirror Server:
Translate Character Data: Yes
Log Long Running Queries: No
Log Driver Statistics: No
Use Regional Settings: No
Use ANSI Quoted Identifiers: Yes
Use ANSI Null, Paddings and Warnings: Yes

En la ventana anterior podremos realizar un test de conexión pulsando en "Test Data Source", si todo es correcto mostrará algo así:

AjpdSoft Acceso mediante Delphi a Microsoft SQL Server 2008 R2 y ODBC

Con el texto:

Microsoft SQL Server Native Client Version 10.50.1600

Running connectivity tests...

Attempting connection
Connection established
Verifying option settings
Disconnecting from server

TESTS COMPLETED SUCCESSFULLY!

 

Acceso a base de datos Microsoft SQL Server 2008 R2 Express mediante Microsoft Access y ODBC

Una vez instalado y configurado el origen de datos ODBC de SQL Server 2008 R2 Express, abriremos Microsoft Access 2007, seleccionaremos "Base de datos en blanco", en la parte derecha, introduciremos el nombre del archivo .accdb de Access 2007, por ejemplo: "AjpdSoft Acceso SQL Server.accdb" y pulsaremos "Crear":

AjpdSoft Acceso a base de datos Microsoft SQL Server 2008 R2 Express mediante Microsoft Access y ODBC

En la pestaña "Datos externos", pulsaremos el botón "Más", seleccionaremos "Bases de datos ODBC":

AjpdSoft Acceso a base de datos Microsoft SQL Server 2008 R2 Express mediante Microsoft Access y ODBC

Marcaremos la opción "Vincular al origen de datos creando una tabla vinculada" (Access creará una tabla que mantendrá un vínculo a los datos de origen. Los cambios realizados en los datos en Access se reflejarán en el origen y viceversa):

AjpdSoft Acceso a base de datos Microsoft SQL Server 2008 R2 Express mediante Microsoft Access y ODBC

Como podemos observar, en el caso de Microsoft Windows 7 y Microsoft Access 2007, no permite mostrar los orígenes de datos de la pestaña DSN de sistema, por lo que si hemos creado el origen de datos en esta pestaña no nos aparecerá para seleccionarlo. Incluso abriendo Microsoft Access como administrador tampoco dejará seleccionar un origen de datos de DSN de sistema. Así pues, tendremos dos opciones:

  1. Crear un origen de datos desde la ventana que muestra Microsoft Access pulsando en "Nuevo" y siguiendo los pasos explicados aquí.
  2. Pulsando en la pestaña "Origen de datos de archivo" y seleccionando o creando un archivo .dsn con un contenido como el siguiente:

    [ODBC]
    DRIVER=SQL Server Native Client 10.0
    UID=sa
    DATABASE=bdajpdsoft
    WSID=PCALONSO
    APP=2007 Microsoft Office system
    SERVER=PCALONSO\SQLEXPRESS
    Description=Acceso ODBC SQL Server

Donde:

  • "sa" será un usuario de SQL Server con permisos suficientes para acceso a la base de datos seleccionada.
  • "bdajpdsoft" será el nombre de la base de datos de SQL Server a la que se accederá.
  • "PCALONSO\SQLEXPRESS" será el nombre del servidor (hostname o IP) y el nombre de la instancia de SQL Server a la que nos conectaremos.

El fichero .dsn se puede crear con un asistente, desde la pestaña "Origen de datos de archivo" de la ventana siguiente:

AjpdSoft Acceso a base de datos Microsoft SQL Server 2008 R2 Express mediante Microsoft Access y ODBC

Una vez seleccionado el origen de datos de SQL Server, nos pedirá la contraseña y el usuario (según el tipo de autenticación que hayamos elegido):

AjpdSoft Acceso a base de datos Microsoft SQL Server 2008 R2 Express mediante Microsoft Access y ODBC

A continuación nos mostrará todas las tablas de la base de datos SQL Server elegida, seleccionaremos las tablas que queramos vincular con Access, en nuestro caso "dbo.cliente". Si queremos que no nos vuelva a pedir contraseña en futuros accesos marcaremso "Guardar contraseña":

AjpdSoft Acceso a base de datos Microsoft SQL Server 2008 R2 Express mediante Microsoft Access y ODBC

Nos avisará de que la contraseña no se encriptará y será guardada en el fichero del origen de datos sin encriptar:

AjpdSoft Acceso a base de datos Microsoft SQL Server 2008 R2 Express mediante Microsoft Access y ODBC

De esta forma ya tendremos acceso a las tablas seleccionadas de SQL Server, desde Access podremos realizar cualquier acción sobre ellas: hacer informes, añadir registros, modificar registros, etc. Cualquier cambio realizado en Access quedará guardado en SQL Server.

AjpdSoft Acceso a base de datos Microsoft SQL Server 2008 R2 Express mediante Microsoft Access y ODBC

 

 

Algunos errores y su posible solución

  • Error si se selecciona método de compresión en backup de SQL Server y el servidor no lo permite:

TITLE: Microsoft SQL Server Management Studio
------------------------------

Backup failed for Server 'pcalonso/sqlexpress'. (Microsoft.SqlServer.SmoExtended)

For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=10.50.1600.1+((KJ_RTM).100402-1539+)&EvtSrc=Microsoft.SqlServer.Management.Smo.ExceptionTemplates.FailedOperationExceptionText&EvtID=Backup+Server&LinkId=20476

------------------------------
ADDITIONAL INFORMATION:

System.Data.SqlClient.SqlError: BACKUP DATABASE WITH COMPRESSION is not supported on Express Edition with Advanced Services (64-bit). (Microsoft.SqlServer.Smo)

For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=10.50.1600.1+((KJ_RTM).100402-1539+)&LinkId=20476

------------------------------
BUTTONS:

OK
------------------------------

 

 

Artículos relacionados

 

Créditos

Artículo realizado íntegramente por Alonsojpd miembro fundador del proyecto AjpdSoft.


Anuncios


Enviado el Domingo, 25 julio a las 23:29:33 por ajpdsoft
Este sitio web NO CONTIENE malware, todos los programas con código fuente aquí. Autor: Alonso Javier Pérez Díaz Google+ Síguenos en Google+