Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Ejecutaremos el fichero descargado (si tenemos Microsoft Windows 7 es recomendable pulsar con el botn derecho
del ratn sobre el ejecutable y seleccionar "Ejecutar como administrador"):
Si tenemos UAC activado pulsaremos en "S" en el mensaje "Desea permitir que este programa realice cambios en
el equipo?":
Leeremos los trminos de licencia de Microsoft SQL Server 2008 R2 Express, si estamos de acuerdo marcaremos "I
accept the license terms" y pulsaremos "Next":
Database Engine services: servicios del motor de base de datos SQL Server, caracterstica de obligatoria
instalacin para el funcionamiento del servidor de SQL Server.
o SQL Server Replication: herramienta de replicacin de bases de datos SQL Server.
SQL Client Connectivity SDK: herramientas de conexin con SQL Server para desarrolladores.
Introduciremos el nombre de la instancia de SQL Server (podemos tener varias instaladas en un mismo equipo), en
nuestro caso "SQLExpress2008":
Introduciremos el usuario y contrasea 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:
Nota: SQL Server Browser es el servicio de resolucin de nombres que proporciona informacin de conexin a
SQL Server para equipos cliente.Este servicio es compartido a travs de mltiples instancias de SQL Server y
Integration Services.
Introduciremos usuario en "Account Name" y contrasea en "Password":
En la ventana anterior, tambin podremos elegir el tipo de inicio para cada servicio, por defecto SQL Server
Database Engine es automtico (Automatic) y SQL Server Browser est desactivado (Disabled):
A continuacin deberemos elegir el mtodo de autenticacin en la pestaa "Account Provisioning", las posibilidades:
Windows authentication mode: se utilizarn los usuarios del sistema operativo (Windows) para inicio
de sesin 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 contrasea para el superusuario administrador de SQL Server "sa". Es
recomendable que sea una contrasea segura (con nmeros, letras en maysculas y minsculas y algn carcter
especial) pues este usuario tiene permisos para realizar cualquier accin en la base de datos.
En "Specify SQL Server administrators" podremos aadir los usuarios que queramos que sean administradores del
servidor de SQL Server:
En la pestaa "Data Directories" podremso elegir los directorios de instalacin de cada elemento (directorio de
usuario, log, temporal, backup, etc.):
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 automticos de
errores a Microsoft. Pulsaremos "Next" para continuar:
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":
Nos mostrar la ventana con el resultado de la instalacin de SQL Server 2008 R2 Express. Pulsaremos "Close":
En el primer inicio de SQL Server Management Studio nos mostrar esta ventana con el progreso de la preparacin
de esta herramienta:
Introduciremos los siguientes datos en la ventana de conexin al servidor de Microsoft SQL Server 2008 R2:
Authentication: elegiremos el tipo de autenticacin, bien la de Windows o bien la de SQL Server (segn
las opciones seleccionadas en la instalacin). En nuestro caso seleccionaremos "Windows Authentication".
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".
Si tenemos algn cortafuegos o firewall deberemos abrir los puertos necesarios correspondientes (el 1433 por
defecto):
Y accederemos a Microsoft SQL Server Management Studio, desde donde podremos administrar y
configurar Microsoft SQL Server 2008 R2 Express:
Introduciremos en "Database name" el nombre de la base de datos, en nuestro caso "bdajpdsoft", podremos
personalizar los ficheros de datos (nombre, ubicacin y tamao, en "Database files"), las opciones de seguridad
(qu usuarios sern propietarios en "Owner"), etc:
El script para generar la base de datos (pulsando en el botn "Script") nos lo generar, podremos usarlo para crear
una base de datos en modo comando o para crear varias bases de datos de forma rpida:
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
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 gestin (contabilidad, facturacin, recursos humanos, etc.),
en "Tables" pulsaremos con el botn derecho del ratn y seleccionaremos "New Table":
Iremos aadiendo 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:
Para que el campo sea clave primaria (primary key), pulsaremos con el botn derecho del ratn y seleccionaremos
"Set Primary Key":
Crearemos un campo llamado "cif", de tipo "nvarchar(15)", este campo no podr ser nulo por lo que
desmarcaremos "Allow Nulls":
Adems, 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 botn derecho sobre la columna "cif", seleccionaremos
"Indexes/Keys":
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:
Pulsaremos "Close" para cerrar la ventana de Indexes/Keys y guardar el nuevo ndice creado:
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":
Pulsaremos el botn "Save" para crear la tabla con los campos y propiedades indicados:
De los tres servicios deben estar iniciados SQL Server y SQL Server Browser, si no lo estn pulsaremos con el botn
derecho del ratn y seleccionaremos "Start". Adems, deben estar con el tipo de inicio automtico, para que se
inicien de forma automtica cada vez que reiniciemos o arranquemos el equipo. Para configurar el tipo de inicio
pulsaremos con el botn derecho del ratn sobre el servicio, seleccioanremos "Propiedades":
A continuacin activaremos el mtodo de conexin 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
botn derecho del ratn sobre "TCP/IP" y seleccionaremos "Enable":
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 botn derecho del ratn sobre "SQL Server" y
seleccionando "Restart":
Ahora, abriremos Microsoft SQL Server Management Studio, nos conectaremos al servidor, pulsaremos con el botn
derecho del ratn sobre el nombre de la instancia de SQL Server a configurar (la de defecto ser
"nombre_equipo/sqlexpress", en el men emergente seleccionaremos "Propiedades":
En la parte izquierda seleccionaremos la pgina "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):
En la pgina "Security", es recomendable (aunque depender de las aplicaciones de gestin y dems de nuestra
organizacin 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 organizacin a travs
de Internet. Pues si dejamos nicamente el modo "Windows Authentication mode", obligaremos a que el acceso slo
se permitir a usuarios que pertenezcan al mismo dominio Windows que donde tengamos instalado SQL Server, en
este caso slo se permitiran 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) podrn 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 contraseas seguras (nmeros, letras maysculas y
minsculas y algn carcter especial), para evitar posibles "robos" de contraseas mediante fuerza bruta u otros
mtodos. Adems, es recomendable seguir una poltica de caducidad y complejidad de contraseas adecuada:
Y por ltimo, si tenemos algn 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.
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 botn "..." para
seleccionarla:
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":
Tras seleccionar el destino en "Destination" y el nombre del dispositivo en "Device name" pulsaremos en "OK":
A partir de ahora podremos usar este dispositivo, diferencindolo con el nombre que le hemos asignado. El script
para crear el dispositivo desde la lnea 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 botn derecho
del ratn sobre el dispositivo creado y seleccionaremos "Back Up a Database":
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 slo de los datos
modificados o nuevos).
Backup set will expire: si queremos que la copia de seguridad caduque y pueda ser reemplazada,
indicaremos aqu los das de validez.
Destination: seleccionaremos el destino de la copia (Disk Tape), nos aparecer el dispositivo creado en
el paso anterior.
Back up to the existing media set: realizar la copia en un medio existente, con las siguientes
posibilidades:
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 comprobacin de checksum antes
de realizar la copia de seguridad.
Continue on error: continuar con la copia de seguridad aunque se produzca algn error.
Una vez seleccionadas las opciones de configuracin para la copia de seguridad, pulsaremos "OK" para iniciar el
proceso de copia de seguridad:
Con el texto:
El script para ejecutar la copia de seguridad de la base de datos desde la lnea 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
"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 contrasea de este usuario. Nota importante: para que el
parmetro "-U" funcione, deben estar activo el tipo de autenticacin mixto (Autenticacin de
Windows y autenticacin de SQL Server). Aqu explicamos cmo cambiarlo. Si queremos dejar el
mtodo de autenticacin de Windows nicamente, deberemos usar el parmetro -E, que usar el
usuario del sistema operativo que ha iniciado sesin.
"Disco_D": nombre del dispositivo (previamente creado) que ser el destino de la copia de
seguridad. Aqu explicamos cmo crear un dispositivo.
Nota: podremos aadir al final del script ">> resultado.log" para guardar en un fichero el resultado de la ejecucin
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 botn "Iniciar" - "Panel de control" - "Herramients administrativas" "Programador de tareas". En la parte derecha, en "Acciones", pulsaremos en "Crear tarea bsica":
Introduciremos un nombre para la tarea, por ejemplo "Backup SQL Server" y una descripcin, por ejemplo "Copia
de seguridad de bdajpdsoft de Microsoft SQL Server 2008 R2 Express":
Indicaremos los das de la semana y la hora de inicio de la tarea de copia de seguridad de SQL Server:
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":
Marcaremos "Abrir el dilogo Propiedades para esta tarea al hacer clic en Finalizar" (necesario para establecer las
opciones de seguridad) y pulsaremos "Finalizar":
En la pestaa "General", marcaremos "Ejecutar tanto si el usuario inici sesin como si no" (para que la copia de
seguridad se inicie aunque el usuario no haya iniciado sesin) y marcaremos "Ejecutar con los privilegios ms altos".
Pulsaremos "Aceptar":
Nos pedir usuario y contrasea, es fundamental introducir aqu un usuario y contrasea del equipo con permisos
para escritura en la carpeta de destino de la copia. En nuestro caso, puesto que hemos elegido el mtodo de
validacin con usuario de SQL Server (en el script hemos utilizado el parmetro -U "sa"), el usuario del sistema
operativo no tiene por qu ser administrador:
Una vez creada la tarea de copia de seguridad automtica de Microsoft SQL Server 2008 R2, podremos ejecutarla
para realizar un test seleccionndola y pulsando el botn derecho del ratn, haciendo clic en "Ejecutar":
Si todo es correcto, la tarea habr creado los ficheros, en la carpeta o dispositivo de destino:
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).
Lgicamente, 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 deberamos copiar el fichero resultante a otro equipo o
a una unidad de cinta.
Seleccionaremos el controlador para el origen de datos, en nuestro caso "SQL Server Native Client 10.0":
Name: el nombre del origen de datos, por ejemplo "bdsqlajpdsoft", este nombre ser el que utilicemos en
la aplicacin que desarrollemos.
Descripcion: introduciremos la descripcin para identificar el origen de datos, por ejemplo "Conexin 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.
"With Integrated Windows authentication": autenticacin de Windows, el usuario y contrasea del sistema
operativo ser el usado para la validacin con SQL Server.
"With SQL Server authentication using a login ID and password entered by the user": validacin con un
usuario y contrasea de SQL Server. Esta ser la opcin 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 contrasea de este usuario.
Marcaremos la opcin "Connect to SQL Server to obtain default settings for the additional configuration options" y
pulsaremos "Siguiente":
Marcaremos "Change the default database to" y seleccionaremos la base de datos a la que nos conectaremos,
"bdajpdsoft":
Pulsaremos "Finalizar" para crear definitivamente el origen de datos ODBC para SQL Server:
Tras la creacin nos mostrar una ventana con los datos seleccionados:
Con el texto:
Microsoft SQL Server Native Client Version 10.50.1600
Data Source Name: bdsqlajpdsoft
Data Source Description: Conexin 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 conexin pulsando en "Test Data Source", si todo es correcto
mostrar algo as:
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!
En la pestaa "Datos externos", pulsaremos el botn "Ms", seleccionaremos "Bases de datos ODBC":
Marcaremos la opcin "Vincular al origen de datos creando una tabla vinculada" (Access crear una tabla que
mantendr un vnculo a los datos de origen. Los cambios realizados en los datos en Access se reflejarn en el origen
y viceversa):
Como podemos observar, en el caso de Microsoft Windows 7 y Microsoft Access 2007, no permite mostrar los
orgenes de datos de la pestaa DSN de sistema, por lo que si hemos creado el origen de datos en esta pestaa 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.
2.
Crear un origen de datos desde la ventana que muestra Microsoft Access pulsando en "Nuevo" y siguiendo
los pasos explicados aqu.
Pulsando en la pestaa "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.
El fichero .dsn se puede crear con un asistente, desde la pestaa "Origen de datos de archivo" de la ventana
siguiente:
Una vez seleccionado el origen de datos de SQL Server, nos pedir la contrasea y el usuario (segn el tipo de
autenticacin que hayamos elegido):
A continuacin 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
contrasea en futuros accesos marcaremso "Guardar contrasea":
Nos avisar de que la contrasea no se encriptar y ser guardada en el fichero del origen de datos sin encriptar:
De esta forma ya tendremos acceso a las tablas seleccionadas de SQL Server, desde Access podremos realizar
cualquier accin sobre ellas: hacer informes, aadir registros, modificar registros, etc. Cualquier cambio realizado
en Access quedar guardado en SQL Server.