sábado, 8 de febrero de 2014

Código de SYNONYM

      
Código de CREATE SYNONYM (Transact-SQL)


En esta clase se vio como crear el SYNONYM en sql server (Transact-SQL) el código que vimos en clase es el siguiente.

use Becados
go
Create Synonym S7tBecado for S7.Becados.dbo.Becado;
go
Create Synonym S7dbo for S7.Becados.dbo;
Go

Más información a cerca de SYNONYM

CREATE SYNONYM [ schema_name_1. ] synonym_name FOR <object>

<object> :: =
{
[ server_name.[ database_name ] . [ schema_name_2 ].| database_name . [ schema_name_2 ].| schema_name_2. ] object_name
}

schema_name_1
Especifica el esquema en el que se crea el sinónimo. Si no se especifica schema, SQL Server utiliza el esquema predeterminado del usuario actual.
synonym_name
Es el nombre del nuevo sinónimo.
server_name
Es el nombre del servidor donde se encuentra el objeto base.
database_name
Es el nombre de la base de datos donde se encuentra el objeto base. Si no se especifica database_name, se utiliza el nombre de la base de datos actual.
schema_name_2
Es el nombre del esquema del objeto base. Si no se especifica schema_name, se utiliza el esquema predeterminado del usuario actual.
object_name
Es el nombre del objeto base al que hace referencia el sinónimo.

Referencias

http://technet.microsoft.com/es-es/library/ms177544.aspx

Código para crear base de datos de becados

Código para crear base de datos de becados



Este código se utilizo para la creación de la base de datos de alumnos posteriormente se importaron los datos de la hoja de excel a la bd de sql server.

Create Database Becados
go
Use Becados
go
Create table Monto (
AñoEscolar Char (1),
Monto decimal (6,2)
Constraint PK_Monto Primary Key (AñoEscolar)
)
go
Create table Becado (
Curp Char (18),
Escuela varchar (60),
NoCuenta char(16),
Puntaje decimal (3,1),
AñoEscolar char (1),
Baja varchar (15),
MotivoBaja varchar (90),
Constraint Pk_Becado Primary Key (Curp),
Constraint FK_Becado_Monto Foreign Key (AñoEscolar)
References Monto (AñoEscolar)
)



Liga de interes

Describe cómo crear una base de datos en SQL Server 2012 mediante SQL Server Management Studio o Transact-SQL. 


http://technet.microsoft.com/es-es/library/ms186312.aspx

Habilitar puerto TCP/IP para comunicarse con SQL


Habilitar puerto TCP/IP para comunicarse con SQL
 
 

En esta clase se vio como configurar los puetos TCP/IP que requiere Microsoft SQL Server para comunicarse a través de un servidor de seguridad.
 El puerto de SQL Server predeterminado es 1433 y puertos de cliente se asignan un valor aleatorio entre 1024 y 5000.


Para poder configurar el protocolo TCP/IP en primer lugar se inicia el administrador de configuración en este caso se selecciona en la parte superior izquierda y selecciona la opción de SQL Server Network Configuration, después se visualiza y se selecciona la opción Protocols for SQLEXPRESS posteriormente se selecciona en la parte derecha de la pantalla el protocolo TCP/IP y se da doble clic sobre de él o clic derecho y propiedades, después de esto en la ventana emergente se selecciona la pestaña que dice IP Addresses y se recorre la barra desplazadora hasta abajo y en la última opción que dice TCP Dinamic port se escribe el número de puerto 1433 y aceptas.










Referencia

http://support.microsoft.com/kb/287932/es

Reglas de entrada del Firewal

Reglas de entrada del Firewal
 
 
 
En esta clase se vieron las reglas como crear reglas de entrada para poder habilitar el puerto 1433 que se configura como puerto especifico para trabajar en modo remoto con SQL SERVER.
 
 
 
 
1.      Se escribe firewall en el buscador de inicio y se da clic sobre la aplicación de Windows firewall.
2.      En el apartado izquierdo se selecciona la opción de configuración avanzada.
3.      En la ventana emergente que se abre se selecciona la opción de reglas de entrada que se encuentra en la parte superior izquierda.
4.      Después de eso se da clic sobre la opción de nueva regla.
5.      En la ventana que arroja a continuación se selecciona la opción de puerto y se da clic en siguiente.
6.      Ahora da la opción de seleccionar si el puerto es TCP o UDP en este caso se deja como TCP, en la parte inferior nos da dos opciones en las cueles se deja tal cual dado el caso que se va a especificar el puerto que se utilizara y en el recuadro se escribe el número de puerto que en este caso es el 1433.
7.      Arroja la ventana donde muestra tres opciones la cuales son permitir la conexión, permitir la conexión si es segura y la ultima es bloquear la conexión, se deja en permitir conexión.
8.      En la siguiente ventana pide especificar los casos en los cuales se debe de aplicar la regla en este caso se deja tal y como esta, con las tres opciones seleccionadas.
9.      Por último se agrega un nombre a la regla y si se desea se le agrega una descripción por lo que el nombre fue Puerto 1433 SQL Server y se dejó sin descripción.
Con esto la configuración de entrada  del firewall del puerto 1433 se realizo correctamente
 
Referencias
 
 
 
 

Inserción de datos, en Base de datos distribuida por medio de Triggers


Inserción de datos, en Base de datos distribuida por Triggers
 

En esta clase se realizo un Disparador(Trigger) para la inserción de datos en dos bases simultáneamente si en alguna de las maquinas falla la inserción la transacción habrá sido fallido debido a la primera regla que es que en ambos maquinas destinadas se inserte los datos o no se inserte en ninguna.

El trigger es el siguiente.


drop trigger IRemotoBecado;
go
create trigger IRemotoBecado on Becado
after insert
as begin
declare @Curp char (18);
declare @Escuela char(60);
declare @NoCuenta char(16);
declare @Puntaje decimal(3,1);
declare @Anoescolar char(1);
declare @Baja varchar(15);
declare @MotivoBaja varchar(90);

 select @Curp = (select Curp from inserted)
 select @Escuela = (select Escuela from inserted)
select @NoCuenta =(select NoCuenta from inserted)
select @Puntaje =(select Puntaje from inserted)
select @Anoescolar =(select AñoEscolar from inserted)
select @Baja = (select Baja from inserted)
select @MotivoBaja =(select MotivoBaja from inserted)

 insert into S7.Becados.dbo.Becado (Curp, Escuela, NoCuenta, Puntaje, AñoEscolar, Baja, MotivoBaja)

 Values (@Curp,@Escuela,@NoCuenta,@Puntaje,@Anoescolar,@Baja,@MotivoBaja)

 end
go



Instrucciones Transact-SQL (sqlcmd)


Instrucciones  Transact-SQL (sqlcmd)
 
 
En esta clase se vio como consultar a sql server desde consola sin necesdad de tener instalado el entorno grafico.
 
Ya que puede haber veces que no podamos trabajar con un entorno gráfico para ejecutar consultas en un SQLServer, que queramos ejecutar procesos por lotes (ficheros bat) con determinados procesos, o que, simplemente, nos apetezca usar la consola. En esos casos tenemos sqlcmd, una utilidad en línea de comandos para ejecutar sentencias T-SQL.
 
Para ello se utilia la  utilidad sqlcmd permite escribir instrucciones Transact-SQL , procedimientos del sistema y archivos de script en el símbolo del sistema, en el Editor de consultas en modo SQLCMD, en un archivo de script de Windows o en un paso de trabajo del sistema operativo (Cmd.exe) de un trabajo del Agente de SQL Server. Esta utilidad usa ODBC para ejecutar lotes de Transact-SQL.
 
Para poder utilizar sql server desde consola los pasos son los siguientes.
 
 
Ir a inicio y escribir cmd
Se abre la consola
Se inserta el comando sqlcmd –S server1\SQLEXPRESS –U SqlUserAccount -P
Con ese comando conecta a la instancia en SQL Server.
Se selecciona la base de datos que se desea.
En este caso es use Becado .
Se realiza una consulta a la tabla deseada Select * from Becado go.




Referencias

http://www.nosoynadie.net/sqlcmd-ejecutar-sentencias-t-sql-en-sqlserver-desde-la-linea-de-comandos/

http://msdn.microsoft.com/es-es/library/ms162773.aspx




Creación de una función en SQL SERVER


 Creación de una función en SQL SERVER para calcular la edad apartir del CURP


En esta clase se creo una Funtion con la  cual es utilizada para calcular la edad la edad a partir del  CURP.


create function dbo.FEdadCurp (@curp varchar(18))
returns int
as
begin
Declare @Edad int;
Declare @Año int;
Declare @Mes int;
Declare @Dia int;
Declare @AñoActual int;
Declare @MesActual int;
Declare @DiaActual int;

set @Año = 1900 + CAST(SUBSTRING(@curp,5,2) as int);
set @Mes = CAST(SUBSTRING(@curp,7,2)as int);
set @Dia = CAST(SUBSTRING(@curp,9,2) as int);
set @AñoActual = DATEPART(YEAR,GETDATE())
set @MesActual = DATEPART(MONTH,GETDATE())
set @DiaActual = DATEPART(DAY,GETDATE())

set @Edad = @AñoActual-@Año-1;

if (@MesActual >= @Mes)
begin
if(@DiaActual >= @Dia)
begin
set @Edad = @Edad+1;
End
End

return(@edad)
end


jueves, 6 de febrero de 2014

crear servidores vinculados SQL

Crear  servidores vinculados SQL

 

¿Qué es un servidor vinculado?

Un servidor vinculado permite al motor de base de datos de SQL Server ejecutar instrucciones Transact-SQL en otras instancias de SQL Server o incluso otro producto de base de datos como Oracle.


En esta clase se vio la creación de un procedimiento almacenado para la conexión de un usuario remoto y de esa manera autenticar por medio de SQL SERVER el nombre del usuario su dirección IP y su password, el código es el siguiente.

se usa la master ya que en ella se encuentran dichas instrucciones.

use master
go
exec sp_addlinkedserver
@server=N'S7',--nombre de servidor compartido
@srvproduct=N'', --nombre del producto
@provider=N'SQLNCLI', -- nombre del sql server driver SQLNCLI10 SQLNCLI
@datasrc=N'192.168.43.225'; -- nombre del servidor remostp
go

exec sp_addlinkedsrvlogin
@rmtsrvname='S7',
@useself='false',
--@locallogin='Remoto1'
@rmtuser='sagita',
@rmtpassword='gatita06';


Y por medio de este codigo una ves conectados desde nuestra autenticación podemos modificar o consultar la base de este usuario dependiendo de los permisos que hayan dado.


un ejemplo es el siguiente

se utiliza el S7 porque es el usuario que se creo en el código anterior y se esta consultando la tabla Becado unicamente.

select * from S7.Becados.dbo.Becado


Referencias


http://tutorialesyopiniones.blogspot.mx/2013/04/como-se-crean-los-servidores-vinculados.html





Configuración de autenticación SQL Server 2008






    Configuración de autenticación SQL Server 2008






Para asignar permisos de autenticación en SQL SERVER 2008 se crea un usuario en la parte de seguridad de SQL selecciona la base de datos a la que se puede acceder, y también se le asignan los  tipos de permisos que se le dan a dicho usuario, pueden ser desde solo consultar la base de datos, hasta permisos para poder  modificar la base como editar y eliminar, despues se selecciona herramientas y seleccionamos la opción de  browse la cual abre una ventana que se debe presionar el botón browse para que muestre las opciones de permisos y se puede activar ya por último se seleccionan los permisos y reiniciamos servicios.

Después se habilitaron los puertos 1433 y se reinicio el servicio para que los cambios realizados surtieran efecto en SQL SERVER

Se abrio el firewall para aplicar nuevos reglas de entradas habilitando el puerto  1433 y le dimos un nombre a la nueva regla.







Video que muestra como habilitar el acceso remoto en SQL Server 2008



 

Referencias





Bases de datos distribuidas



Bases de datos distribuidas



Se habló a cerca de las bases de datos distribuidas y para que se utilizan.



Una Base de Datos Distribuida (BDD) es un conjunto de múltiples bases de datos lógicamente relacionadas las cuales se encuentran distribuidas entre diferentes sitios interconectados por una red de comunicaciones, los cuales tienen la capacidad de procesamiento autónomo lo cual indica que puede realizar operaciones locales o distribuidas
 

También se hablo de  las transacciones son locales y globales y sus desventajas que a continuación se mostraran .

desventajas:

consta de desarrollo de Software
mayor probabilidad de usuarios
mayor sobrecarga del procedimiento.

operación exitosa:
cuando se lleva a cabo la transacción completa de una operación.

Operación atómica:
cuando no se completan los pasos de la operación.

 y para finalizar se hablo a cerca de Middleware.


¿Qué es Middleware? es un intermediario entre dos programas.


Como al igual se menciono Mexico first programa del gobierno federal

¿Cómo funciona?

MéxicoFIRST negoció con los fabricantes de tecnología más importantes de la industria precios y condiciones preferenciales sobre programas de aprendizaje para obtener las certificaciones más demandas, por lo que podrás obtener precios especiales para certificarte.

Centro Netec participa como centro oficial de certificaciones:
- Cisco
-Oracle
- ITIL
- VMware






Referencias:
http://www.netec.com.mx/t/ad_mexico_first?gclid=CLvd1NqJubwCFdSUfgodkg0ASA

http://cursos.aiu.edu/Base%20de%20Datos%20Distribuidas/pdf/Tema%201.pdf





Habilitar DTC por dcomcnfg




Habilitar DTC por dcomcnfg



En esta clase se vio como se configuraron los servicios de Windows los pasos son los siguientes
Ir a inicio y escribir dcomcnfg
 
 











Despues damos clic en servicios de componentes
 
 
 
 
 
 
Posteriormente ubicamos la carpeta que dice Coordinador de transacciones distribuidas
 









 
Damos clic derecho sobre la carpeta Coordinador de transacciones distribuidas
 
 
 

 Y por ultimo damos clic a la pestaña de segurirdad en propiedade DTC y activamos la opción
acceso a DTC desde la red y damos aceptar.
 
 

 
 
 

 En la transacción la primera regla es que se ejecute todo el duplicado de datos respectivamente en cada máquina predestinada o no se ejecute en ninguna.