WINDOWS 2003 SERVER INFRAESTRUCTURA: Configuración de DNS
Nuevos videos de infraestructura de Windows 2003
Para poder realizar una conexión de un equipo cliente a nuestro SQL Server es necesario permitir el paso por el Firewall en nuestro servidor a través de los puertos 1433, 1434, 2383, 443, para los distintos servicios de SQL Server, aquí un script proporcionado por Microsoft para habilitar en el firewall estos puertos, solo hay que copiar este script en el block de notas, guardarlo con extensión “.bat” y luego ejecutarlo. @echo ========= SQL Server Ports =================== @echo Enabling SQLServer default instance port 1433 netsh firewall set portopening TCP 1433 "SQLServer" @echo Enabling Dedicated Admin Connection port 1434 netsh firewall set portopening TCP 1434 "SQL Admin Connection" @echo Enabling conventional SQL Server Service Broker port 4022 netsh firewall set portopening TCP 4022 "SQL Service Broker" @echo Enabling Transact-SQL Debugger/RPC port 135 netsh firewall set portopening TCP 135 "SQL Debugger/RPC" @echo ========= Analysis Services Ports ============== @echo Enabling SSAS Default Instance port 2383 netsh firewall set portopening TCP 2383 "Analysis Services" @echo Enabling SQL Server Browser Service port 2382 netsh firewall set portopening TCP 2382 "SQL Browser" @echo ========= Misc Applications ============== @echo Enabling HTTP port 80 netsh firewall set portopening TCP 80 "HTTP" @echo Enabling SSL port 443 netsh firewall set portopening TCP 443 "SSL" @echo Enabling port for SQL Server Browser Service's 'Browse' Button netsh firewall set portopening UDP 1434 "SQL Browser" @echo Allowing multicast broadcast response on UDP (Browser Service Enumerations OK) netsh firewall set multicastbroadcastresponse ENABLE |
Windows 7. Instalar nativamente y arrancar desde un .VHD Windows 7 permite instalar y/o montar un VHD para que se inicie al arrancar el sistema real. Es decir, su cargador permite montar un disco virtual .VHD como si fuese un disco real y por tanto iniciar el sistema desde allí. Creación de un VHD e instalación del sistema en máquina real:
Después de la instalación en ese disco de Windows 7, podremos arrancar desde él sin problemas ya que nos aparecerá en el menú de arranque de nuestra máquina real. Fijémonos en que si ya tuviésemos un disco virtual creado en vacío, podríamos asignarlo saltándonos el paso 5), es decir dicho paso solo es la creación. Esto nos da una idea más: y si tuviésemos ya un sistema operativo procedente de una máquina virtual en un .VHD, ¿podríamos arrancarlo en la máquina real si el gestor de arranque fuese el de Windows 7?. Veamos... Configurando Opciones de Boot Sabemos, o debemos saber, que podemos cambiar opciones de Boot mediante el comando bcdedit, la pregunta es ¿cómo se haría entonces para añadir cualquier disco .VHD que contenga un sistema operativo en el menú de inicio de nuestra máquina real? Vamos a ceñirnos a añadir un Windows 7 a nuestra máquina. Recordemos que con: bcdedit –v veremos las entradas en el arranque del sistema pero expresadas mediante un GUID correspondiente a la firma del disco. Siempre podríamos añadir una entrada en el menú dando un comando de la forma bcdedit /set {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx} description "Imagen Windows 7 .VHD " siendo las {xxxx.....xxx} el GUID correspondiente a la firma de ese disco –real o virtual-. Igualmente recordemos que podemos cambiar el orden las opciones de boot, por ejemplo: bcdedit /displayorder {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx} /addlast Y recordemos que, si tenemos una colección de VHD’s con Windows instalado, podemos realizar copias en el boot creando las copias de las entradas de la forma que queramos: bcdedit /copy {Numero_Original_GUID} /d "mi nueva descripción" o bcdedit /copy {current} /d "mi nueva descripción" o bcdedit /copy {default} /d "mi nueva descripción" y después de haber realizado dicha copia, la asignación sería: bcdedit /set {Mi_nuevo_número_GUID} device vhd=[C:]\MyNuevoVhdFile.vhd bcdedit /set {Mi_nuevo_número_GUID} osdevice vhd=[C:]\MyNuevoVhdFile.vhd En resumen, la posibilidad de usar discos virtuales, VHD en el boot es la manera más rápida de iniciar un sistema operativo virtual, el cual no tiene nada que ver con la manera de funcionamiento de vmware o virtual PC y se aproxima más al funcionamiento de la máquina en real. |
Categoría | Descripción | Tipo de Dato | Descripción |
Binary | Un dato Binary almacena cadenas de bits. El dato consiste de números hexadecimales. Por ejemplo, el número decimal 245 vale en hexadecimal F5. | binary | Los datos deben tener la misma longitud fija (hasta 8 KB) |
varbinary | Los datos pueden variar en el número de dígitos hexadecimales (hasta 8 KB) | ||
image | Los datos pueden ser de longitud variable y exceder los 8 KB. | ||
Character | Los datos Character consisten de cualquier combinación de letras, símbolos, y caracteres numéricos. Por ejemplo, datos character válidos:"John928" "(0*&(%B99nh jkJ" | char | Los datos deben tener la misma longitud fija (hasta 8 KB) |
varchar | Los datos pueden variar en el número de caracteres (hasta 8 KB) | ||
text | Los datos pueden ser cadena de caracteres ASCII que excedan los 8 KB. | ||
Date time | Los datos Date time consisten de combinaciones de fechas o horas válidas. No existe tipos de datos separados para fechas y horas para almacenar solo fechas o solo horas | datetime | Los datos fecha están comprendidos entre en el 1 de Enero de 1753 hasta el 31 de diciembre de 9999 (requiere 8 bytes por dato). |
smalldatetime | Los datos fecha están comprendidos entre en el 1 de Enero de 1900 hasta el 31 de diciembre de 2079 (requiere 4 bytes por dato). | ||
Decimal | Los datos Decimal consisten de datos numéricos que son almacenados al menor dígito significativo | decimal | Los datos pueden tener un máximo de 30 dígitos, que pueden estar todos a la derecha de la coma decimal. El tipo de dato almacena un representación exacta del número. |
numeric | En SQL Server, el tipo de datos numeric es equivalente al tipo de datos decimal. | ||
Floating point | Datos numéricos aproximados que consisten de datos con una aproximación tanto como el sistema de numeración binaria pueda ofrecer | float | Desde –1.79E + 308 a 1.79E + 308. |
real | Desde –3.40E + 38 a 3.40E + 38. | ||
Integer | Los datos Integer consisten de números enteros positivos y negativos tales como: –15, 0, 5, y 2.509. | bigint | Desde –2^63 (–9223372036854775808) a 2^63–1 (9223372036854775807). Tamaño 8 bytes. |
int | Desde –2.147.483.648 a 2.147.483.647 (requiere de 4 bytes por valor). | ||
smallint | Desde –32,768 a 32.767 (requiere de 2 bytes por valor). | ||
tinyint | Desde cero a 255 (requiere de 1 bytes por valor). | ||
Monetary | Monetary representa montos de dinero positivos o negativos | money | Desde –922.337.203.685.477,5808 a +922.337.203.685.477,5807 Tamaño 8 bytes. |
smallmoney | Desde –214.748,3648 a 214.748,3647 Tamaño 4 bytes. | ||
Special | Special se utiliza para datos que caben en ninguna de las categorís anteriores. | bit | Consisten en un 1 o un 0. Se usan para representar valores lógicos VERDADERO o FALSO, SI o NO |
cursor | Este tipo de dato es usado para variables o prámetros OUTPUT en procedimientos almacenados que contenga una referencia a un cursor. Cualquier variable creada con el tipo de datos cursor puede tomar valor nulo | ||
timestamp | Este tipo de datos es usado para indicar la secuencia de la actividad del SQL Server sobre una fila y es representado por un número incremental en formato binario. | ||
uniqueidentifier | Consiste de números hexadecimales de 16 byte, indicando un identificador único global (GUID). Los GUID son usados cuando una columna deba ser única frente a cualquier otra columna. | ||
SQL_variant | Este tipo de datos soporta a cualquier otro tipo de datos soportado por SQL Server excepto text, ntext, timestamp, image, y sql_variant. | ||
table | Es utilizado para almacenar un conjunto de resultados para su posterior procesamiento. El tipo de datos Table puede ser usado únicamente para para definir variable locales de tipo table o para retornar valores de una función definida por el usuario. | ||
Unicode | Al usar tipo de datos Unicode, una columna puede almacenar cualquier cualquier caracter definido por el estándar Unicode. Lo cual incluye a todos los caracteres definidos en los distintos conjuntos de caracteres. Los tipos de datos Unicode toman el doble de espacio de almacenamiento que los tipos no-Unicode. | nchar | Los datos deben tener la misma longitud fija (hasta 4000 caracteres Unicode) |
nvarchar | Los datos pueden variar en el número de caracteres (hasta 4000 caracteres Unicode) | ||
ntext | Los datos pueden exceder los 4000 caracteres Unicode. |
Ejemplos, usando la base de datos Northwind, 1. La organización necesita saber quién es su mejor cliente (El que más dinero ha generado en ventas), cree un script que devuelva esta información. select Top 1 c.companyname, sum(od.quantity* od.unitprice) from Customers as c inner join orders as o on c.CustomerID=o.CustomerID inner join [Order Details] as od on o.OrderID=od.OrderID group by c.CompanyName order by sum(od.quantity* od.unitprice) desc 2. Cree script al que se le ingrese el número de orden y la elimine, tenga en cuenta que existe una relación entre el detalle de órdenes y la orden. Delete [Order Details] where OrderID=10248 delete orders where OrderID=10250 3. Cree un script que elimine todas las ordenes donde se compró el producto 23 Delete from o from [Order Details] as od inner join orders as o on o.OrderID=od.OrderID where od.ProductID=23 4. Cree un script que muestre todos los clientes que no han realizado una orden. Select c.companyname from Customers as c left outer join orders as od on c.CustomerID=od.customerid where od.OrderID is null 5. En estados Unidos se ha agregado un nuevo impuesto a partir de 1998, por lo que se necesita aumentar el precio de todos los productos en las ventas a partir de ese año, por lo que debe actualizar estas ventas en un 5% update od set od.UnitPrice=od.UnitPrice* 1.05 from [Order Details] as od inner join products as p on od.ProductID=p.ProductID inner join Suppliers as s on s.SupplierID=p.SupplierID where s.Country='USA' 6. Cree un script que devuelva la cantidad de unidades vendidas del producto 23. Select SUM(quantity) from [Order Details] where ProductID=23 7. Cree un script que devuelva todos los clientes que han comprado productos de Estados Unidos, teniendo en cuenta que la procedencia del producto es en base al proveedor. select c.CompanyName from customers as c inner join orders as o on c.customerid=o.customerid inner join [Order Details] as od on o.orderid=od.orderid inner join products as p on od.ProductID=p.ProductID inner join Suppliers as s on s.SupplierID=p.SupplierID where s.Country='USA' 8. Cree un script al que se le ingrese el código del producto y devuelva los clientes que han solicitado este producto. select c.CompanyName from customers as c inner join orders as o on c.customerid=o.customerid inner join [Order Details] as od on o.orderid=od.orderid inner join products as p on od.ProductID=p.ProductID where p.ProductID=@producto |