Anda di halaman 1dari 34

Manual de Usuario – SQL Server

2008

Instrucciones para instalar SQL


Server 2008 Standard Edition con
ERP Kepler
Manual de Usuario – SQL Server
2008

Introducción
La presente guía permitirá al usuario configurar SQL Server 2008 para poder ser utilizada como
base de datos del ERP Kepler.

Instalación de SQL Server 2008


Para un correcto funcionamiento del ERP Kepler es importante tomar en cuenta algunos aspectos
desde la instalación de SQL Server 2008:
Entre estos aspectos se encuentran:
- Los componentes a instalar
- Instancias
- Cuenta de servicio
- Modo de autenticación
- Configuración de Intercalación

Componentes a instalar:
Pantalla de inicio de la instalación:

El wizard de SQL llevara en la instalación, la siguiente pantalla muestra una revisión inicial del
sistema:
Manual de Usuario – SQL Server
2008

Se pedirá el serial:
Manual de Usuario – SQL Server
2008

Se aceptan los términos de licencia:


Manual de Usuario – SQL Server
2008

El wizard pedirá instalar archivos de soporte:

Las reglas verificaran que se pueda instalar SQL en el equipo, si muestra un warning no hay
problema, se puede seguir con la instalación:
Manual de Usuario – SQL Server
2008

El siguiente paso pedirá seleccionar el setup role, usar la primera opción:

Siguiendo con la instalación, se pide revisar que componentes se instalaran, pueden elegirse
todos los componentes para instalarse, Kepler básicamente requiere de:
- Servicios de bases de datos de SQL Server
- Componentes de la estación de trabajo, libros en pantalla y herramientas de desarrollo.
(Como se muestra en la imagen)
Manual de Usuario – SQL Server
2008

Se mostrara las reglas de instalación


Manual de Usuario – SQL Server
2008

INSTANCIAS
Kepler no puede utilizar instancias de Bases de datos, por lo que se debe utilizar la
instancia predeterminada. El nombre de instancia predeterminado es MSSQLSERVER.
Manual de Usuario – SQL Server
2008

El wizard evaluara y mostrara si se cumplen los requerimientos de espacio en disco:

CUENTA DE SERVICIO
Es la cuenta con la cual se iniciará la sesión en SQL Server. Se recomienda crear una
cuenta exclusiva con privilegios de administrador para SQL, en el ejemplo, se creó la
cuenta AdministradorSQL (asignarle una contraseña segura en la creación de
esta cuenta).
NOTA: Si no se sabe crear una cuenta de administrador, revisar el documento
Cuentas SQL server 2008 R2 que se encuentra en el portal de asesores en la ruta:
Manual de Usuario – SQL Server
2008

Soporte y Desarrollo > Documentación > Configuración > SQL > Cuentas SQL-
Win_Server 2008 R2

El collation usar Modern_Spanish_CI_AS:

MODO DE AUTENTICACIÓN
Seleccionar como modo de autenticación el Modo Mixto. A continuación debe establecer
y confirmar la contraseña de administrador del sistema (sa).
Ej. Se estableció como contraseña KEsqlserver123
Manual de Usuario – SQL Server
2008

Una vez concluida la instalación ingresar a SQL Server Configuration Manager


Seleccionar del panel izquierdo la opción de SQL Server 2008 Services. En la parte
derecha aparecerán los servicios. Verificar que esté ejecutándose el servicio de SQL
Server (MSSQLSERVER).

Seleccionar del panel izquierdo la opción de SQL Server 2008 Network Configuration, al
Manual de Usuario – SQL Server
2008

desplegar seleccionar Protocols for MSSQLSERVER y aparecerán las opciones en el


panel derecho. Seleccionar TCP/IP y meterse a las propiedades, en la pestaña de IP
Adress activar todas las IPs.

En la pestaña de Protocol a la opción No Delay le vamos a poner Si o Yes.


Manual de Usuario – SQL Server
2008

Creación de la base de datos


El equivalente al Enterprise Manager de SQL Server 2000, es el SQL Server
Management Studio. Al ingresar solicitará la contraseña del administrador del sistema
que se definió previamente.
El usuario será “sa” y el password será el elegido en el paso de modo de autenticación.

1. Posicionarse en la carpeta de “Bases de datos” (En el árbol de consola que se


presenta en la parte izquierda)
2. En la parte derecha se muestran las bases de datos activas. Con el botón derecho
del Mouse se activa el menú emergente. Seleccionar la opción de “Nueva base de
datos”.
3. De la ventana de diálogo introducir un nombre la nueva base de datos. Ej. KEPLER.
Nota: El nombre de la base de datos debe estar escrita en mayúsculas.
Manual de Usuario – SQL Server
2008

4. En la parte de Opciones seleccionar como Collation name


SQL_Latin1_General_CP1_CI_AI. Seleccionar como Recovery model la
opción Simple. Dar clic en Aceptar.
Manual de Usuario – SQL Server
2008

5. Una vez creada la base de datos, en el panel izquierdo posicionarse en la


carpeta Login localizada dentro de la carpeta Security. Dar clic con el botón
derecho del mouse y seleccionar New Login.

6. En la ventana de diálogo que aparece, en la página de General, se definirá el


usuario que tendrá acceso a la base de datos. Este es el usuario que Kepler
utilizará para conectarse a SQL, por lo que es importante introducir el nombre
de usuario y contraseña en mayúsculas.

Ej. Nombre de usuario: KEPLER, contraseña:KEPLER123. Asignar como Base de


datos default la base de datos creada anteriormente (KEPLER). En Idioma
seleccionar Español.
Manual de Usuario – SQL Server
2008

7. En esta misma ventana de diálogo seleccionar la página Server Roles y activar


la opción sysadmin.

8. En la misma ventana de diálogo ir a la página UserMapping se palomea la base


de datos creada (“KEPLER en este caso). Al palomear la base de datos se
habilitan una serie de permisos en la parte de abajo. Es necesario seleccionar
(palomear) todos los permisos con excepción de “db_denydatareader” y
“db_denydatawriter”
Manual de Usuario – SQL Server
2008

Con estos pasos se concluye la configuración del SQL Server. Ahora en Kepler se tiene
que realizar lo siguiente:

1. En el menú Configura-> Configura SQL -> Define Usuario SQL (CQD), se


guardará el usuario y contraseña del SQL Server antes definido. Kepler hará
uso de este usuario para mantener la conexión. En este caso se establecería:
“KEPLER/KEPLER123”, poniendo una “S” en el campo “A disco” para que quede
guardada esta configuración
Manual de Usuario – SQL Server
2008

2. En el menú Configura-> Directorio se establecerá el servidor SQL y la base de


datos de la que se hará uso. La sintaxis es la siguiente:
\MSSQL\NOMBRE_O_IP_SERVIDOR_SQL\NOMBRE_BD\
Ej:
\MSSQL\192.168.0.200\KEPLER\

Se pone una “S” en el campo “A disco” para que quede guardada esta
configuración

3. Con estos pasos ha quedado lista la configuración de Kepler para trabajar con
SQL
Server. Para probar su funcionamiento, basta con entrar a alguna opción,
guardar un dato, y verificar que realmente se está guardando. Ej: Se entra a la
opción del catálogo de cuentas contables (OCCE), se guarda la siguiente
cuenta:

Numero: 120
Descripción: Clientes

Nos salimos de la opción y volvemos a entrar. Si aparece la cuenta creada.


Todo ha salido bien. Se puede checar en SQL Server que automáticamente se
han creado las bases de datos requeridas. En este caso KDC106, que debe
contener el registro de la cuenta creada. Todo el sistema sigue esta lógica, si no
existe la base de datos se crea automáticamente, y en las opciones no se tuvo
que hacer ningún cambio.

Nota: En caso de que no se pueda establecer la conexión, es posible que se


haya tecleado mal el nombre de usuario, o el directorio de trabajo. Se
recomienda checar nuevamente cada uno de los puntos anteriores. Dentro de
las propiedades de la base de datos vamos a incrementar el tamaño inicial a
100MB.
Manual de Usuario – SQL Server
2008

Mantenimiento
Esta liga les ayudará para poderle dar mantenimiento posterior a la base de datos. Es
importante tratar de no crecer el archivo de log de la base de datos.
http://msdn.microsoft.com/es-es/library/ms191002(SQL.90).aspx
Manual de Usuario – SQL Server
2008

Migración de una Instalación de Kepler


existente
Antes de comenzar la migración, se deben realizar TODOS los pasos antes
mencionados y asegurarse que la conexión se ha realizado exitosamente.

NOTA_IMPORTANTE_1: Si se tiene una BD Kepler muy pesada (4GB en


adelante) será necesario realizar una serie de pasos para poder migrar toda la
información maximizando el tiempo. Los pasos son los siguientes:

a. PARA ESTE EJEMPLO SE TOMA UNA CARPETA DE DATOS DE 4.34GB EN


TOTAL.
b. Ir a la carpeta de datos e identificar las tablas de mayor peso (en kb), en el
ejemplo se nota que KDM1, KDM2 y KDIJ son las de mayor peso:
Manual de Usuario – SQL Server
2008

c. Una vez que se identificaron las tablas de mayor peso, se necesitan pasar a
una carpeta de datos para cada tabla:
a. Para el ejemplo, se crea una carpeta de datos para KDM2, otra para
KDM1 y otra para KDIJ en las cuales se pone el .dat y .srt

b. Por lo tanto en este momento tendremos N carpetas, para el ejemplo


tendremos 4 carpetas:
i. Carpeta de DATOS que contiene todas las tablas excepto
KDM1, KDM2 y KDIJ.
ii. Carpeta de KDM1 (DATm1), que contiene su .dat y .srt.
iii. Carpeta de KDM2 (DATm2), que contiene su .dat y .srt
iv. Carpeta de KDIJ (DATij), que contiene su .dat y .srt
Manual de Usuario – SQL Server
2008

d. Esta división de carpetas permitirá que se pueda correr la rutina de


migración de forma paralela para las carpetas que contengan las tablas
más pesadas y así maximizar el tiempo de migración, ya que se podrá
estar migrando varias tablas al mismo tiempo.
e. Ver la NOTA_IMPORTANTE_2

Carga de datos.
Una vez verificado el funcionamiento se prosigue a una “carga” de datos hacia SQL
Server:

1. Antes de comenzar la migración es conveniente asegurarse que las magnitudes


definidas en las tablas Kepler se respeten, ya que SQL Server es más estricto
con esto, y al tratar de guardar un tipo de dato que no corresponde en alguna
tabla, o un dato con longitud mayor al definido, provocará errores de migración.
Ej: Este problema ya se ha presentado antes con otras implantaciones en el
campo 7 de KDM2, así como el campo número 9 de KDIJ.DEF. El problema está
en que la definición del campo es numérico de 3 dígitos. Cuando se manejan
más de 999 partidas se puede dar este caso de “overflow”, y SQL Server genera
un error. (Recordar que al hacer traspasos, las partidas se guardan en números
impares, lo que permite llegar más rápidamente a más de 1000 “partidas”.)

Nota_1: No es necesario checar cada una de las magnitudes de las tablas. En


caso de haber algún campo con este problema, al estar migrando se generará
un error en esa tabla, y entonces se puede revisar a detalle las magnitudes de
dicha tabla.

Nota_1.1: Se recomienda quitar de la carpeta de datos las tablas KDC1, KDC2


(solo las que no tienen año y año/mes)

Nota_2: Las tablas que se recomienda revisar (ver Nota_1) son:

i. KDM2 – campo 7
ii. KDM3 – campo 7
iii. KDM4 – campo 7
iv. KDIJ – campo 9
Manual de Usuario – SQL Server
2008

v. KDIS – campo 21
vi. KDIS2 – campo 15
vii. KDMT – campo 7
viii. KDPORD – campo 25
ix. KDPORD3 – campo 17
x. KDPORP – campo 25

Nota_3: En la tabla kdm3.def el campo 8 el número de partidas también


debe de ser cambiado a 3 o 4 caracteres según el numero de partidas y revisar
en kdis (campo 22) y kdis2 (campo 16) el mismo campo de
“Consecutivo” que coincida con kdm3 (campo 8).

Nota_4: Antes de correr la rutina de Exportación (OMAQM) se tiene que


hacer un AJUSTA CAMPOS GENERAL, es decir, ir a la ruta OMAA y en el
campo poner un * (asterisco) para realizar el ajusta general, esto tomara un
rato según la cantidad de datos que tengan.

Nota_5: Antes de correr la rutina de Exportación (OMAQM) se tiene que


hacer un SORT DE ARCHIVOS GENERAL, es decir, ir a la ruta OMAS y en el
campo poner un * (asterisco) para realizar el sort general, esto tomara un rato
según la cantidad de datos que tengan.

Nota_6: Borrar de la carpeta de datos de KDB, los archivos que tengan


0KB, ya que son solo basura y meten ruido en la migración, mandando
mensajes de error (que son considerados warnings mas que error).

2. En el menú Opciones-> Mantenimiento-> Archivos-> Rutinas SQL, se encuentra


la opción “Migración a SQL”. Esta rutina creará en la base de datos antes
indicada todas las tablas de Kepler, así como sus datos. Una vez realizado este
proceso, se puede comenzar a trabajar con SQL sin mayor inconveniente.

En esta opción se debe especificar:

• Directorio de sistema: Carpeta en donde se encuentra el ejecutable K75.exe


y todas las opciones. EJ: “c:\program files\kepler\”
• Datos de origen: Carpeta en donde se encuentran los archivos .dat y .srt de
los datos de Kepler. (Directorio de trabajo anterior). Ej: c:\KE\DEMO\
Nota_1: Se recomienda fuertemente que los datos de Kepler se encuentren en
la misma computadora en donde está el servidor SQL Server, ya que el proceso
de migración es tardado, y si se está en una computadora remota es aún más
tardado.

• Datos de destino: Base de datos de SQL Server, con la sintaxis utilizada


antes. Ej: \MSSQL\192.168.0.200\DBPRUEBA\
• Empezar con: Este campo es opcional, y define una tabla desde la cual se
realizará la migración (de ésa en adelante ordenadas por nombre). Ej. Si se
especifica KDIJ, solo se migrarán las tablas con nombre KDIJ y superiores.
Para una migración completa se debe dejar en blanco este campo.
Manual de Usuario – SQL Server
2008

• Ajusta Campos: Esta bandera es opcional, si se deja en “S”, antes de


realizar la migración hará un mantenimiento de las tablas Kepler. Si no se
ha hecho mantenimiento a las tablas en más de 1 mes se recomienda dejar
activada esta opción, de lo contrario se puede poner en “N”, para evitar este
paso (que normalmente es muy tardado, dependiendo del tamaño de los
archivos.)
• Crea tablas: Este campo indica que antes de migrar datos se deberá generar
la tabla. Normalmente se debe dejar esta bandera en “S”.
• Exporta Datos: Este campo indica que se deberán copiar todos los datos a
las tablas SQL. Las tablas deben existir previamente. Normalmente se debe
dejar este bandera en “S”
• Exporta Índices: Este campo indica que se deberán copiar todos los archivos
de folio a SQL. De lo contrario todos los folios serán reinicializados.
Normalmente se debe dejar este bandera en “S”
Nota_2: Correr la rutina de migración [OMAQM] (quitando la opción de Ajusta
campos, ya que se corrió por separado).

NOTA_IMPORTANTE_2: Si se realizo la división de carpetas para cuando una


BD Kepler es muy grande, realizar lo siguiente (tomando el ejemplo de la
NOTA_IMPORTANTE_1):
a. Correr la rutina de migración para la carpeta de datos que NO contiene
KDM1, KDM2 y KDIJ. Correr exclusivamente la rutina para esta carpeta de
datos.

b. Una vez que termino la migración del inciso a), abrir un k75 (sin levantar
servidor) ir a la rutina de migración, en donde se especificara la ruta para la
carpeta de datos que contiene a la tabla KDM1 (o la siguiente tabla).
Revisar como quedan las banderas en la imagen. TODAVIA NO DAR
“EXPORTAR”.
Manual de Usuario – SQL Server
2008

c. Abrir un k75 (sin levantar servidor) ir a la rutina de migración, en donde se


especificara la ruta para la carpeta de datos que contiene a la tabla KDM2
(o la siguiente tabla). Revisar como quedan las banderas en la imagen.
TODAVIA NO DAR “EXPORTAR”.

d. Abrir un k75 (sin levantar servidor) ir a la rutina de migración, en donde se


especificara la ruta para la carpeta de datos que contiene a la tabla KDM2
(o la siguiente tabla). Revisar como quedan las banderas en la imagen.
TODAVIA NO DAR “EXPORTAR”.
Manual de Usuario – SQL Server
2008

e. En este momento tenemos abierto tres k75, ya se puede dar clic al botón de
“Exportar” y comenzará la exportación. Dejar que la rutina en cada K75
haga su trabajo de exportación.

Una vez llenados los parámetros de la opción se ejecuta, y la migración comenzará. Es


importante hacer notar que existe un archivo de LOG, en donde se puede checar el
avance, e incluso sirve para detectar errores en caso de que sucedan. El archivo se
llama “MIGRASQL.TXT”, y se guarda en la carpeta de sistema de Kepler.

Nota_3: Si en el proceso de migración muestra el mensaje de que falta definir el


archivo mi_archivo.def esto se debe a que mi_archivo.def no se encuentra en la
carpeta de Kepler75 ese .def

Una vez terminado el proceso de migración es muy importante checar la consistencia


de los datos. Una forma rápida de hacerlo es comparar el número de registros en una
tabla Kepler, contra el número de registros de esa misma tabla en SQL. Si se quiere
estar totalmente seguro de que la migración se llevó a cabo sin errores es conveniente
hacer esta comparación para cada tabla. Si se desea un análisis más rápido basta con
checar las siguientes tablas (las qué más se utilizan en Kepler): KDM1, KDM2, KDIJ,
KDUE, KDUF, KDIS, KDPORD

Para saber el número de registros de una tabla Kepler se puede utilizar una opción
como la siguiente:

SUB START

DEF(1,40,0,R1)
Manual de Usuario – SQL Server
2008

R1="KDIJ" 'Nombre de la tabla a checar

OPEN(M,R1)

WIND(FIJO,"La tabla "+R1+" tiene",NREG(M),"REGISTROS")

ENDSUB

Para saber el número de registros de una tabla en SQL:

En el SQL Server Management Studio, en el árbol de consola que se presenta en la


parte izquierda se abre la carpeta “Databases” y luego se abre la base de datos creada
(“KEPLER”), se selecciona la opción “Tables”. En la parte derecha se visualizan las
tablas. Se da doble clic sobre la tabla que queremos información, y en un cuadro de
diálogo nos muestra el detalle de la tabla, incluyendo el número de registros que tiene.

NOTA_IMPORTANTE_3: El tiempo que tarda en hacer la migración depende


del servidor que se tenga, así como el número de registros, y el número de
campos en cada tabla.

NOTA_IMPORTANTE_4: Una vez que finalizó la rutina de exportación, en SQL


se tiene que agregar el Primary Key a todas las tablas de la siguiente forma:
1. Antes de asignar el Primary Key se necesita modificar un par de propiedades
de SQL, ir al menú Tools > Options:

a. Ir a la rama Designers > Table and Database Designers.


Manual de Usuario – SQL Server
2008

b. Del lado derecho poner en Transaction time-out after = 65535


c. Del lado derecho despalomear Prevent saving changes that require
table re-creation

2. Ir a Databases > bd_que_se_creo > Tables desplegar las tablas y por cada
tabla realizar los siguientes pasos:
a. Para el ejemplo se usa la tabla KDUE.
b. Click derecho sobre la tabla + Design
Manual de Usuario – SQL Server
2008

c. Sobre cualquier campo de la pantalla que se muestra, click derecho +


Indexes/keys.
Manual de Usuario – SQL Server
2008

d. Borrar el registro que dice nombreTabla_indent (en el ejemplo seria


KDUE_indent).
i. Guardar los cambios

e. Repetir inciso b).


f. Seleccionar los campos que conforman el primer índice de Kepler.
Manual de Usuario – SQL Server
2008

i. Para el ejemplo, ir a K75 en ruta Generador > Lee y escribir


KDUE.def después ir a Generador > Cálculos y ubicar el
primer índice. En el ejemplo, el primer índice de KDUE se
compone de los campos suc,cli,nat,grp,tip,fol (1,2,3,4,5,6)

ii. En SQL Server Management Studio elegir los campos C1 al C6


que son los equivalentes de Kepler.

iii. Dar click derecho sobre la casilla que tiene la flecha + Set
primary keys.
Manual de Usuario – SQL Server
2008

Pondrá los campos seleccionador un icono de llave, lo cual indica


que se está asignando el Primary keys.

iv. Dar click derecho sobre el lado gris + indexes keys.


Manual de Usuario – SQL Server
2008

v. Se crea un PK_nombreTabla, en este caso se crea PK_KDUE.


1. Renombrar a nombreTabla_indent, en este caso
KDUE_indent.
Manual de Usuario – SQL Server
2008

vi. Guardar los cambios.

vii. Enviara un warning de que la tabla no se podrá utilizar mientras


se esté actualizando el Primary key dar aceptar y no usar la
tablas mientras se esté corriendo el proceso.
3. Realizar esto para todas las tablas del sistema.