Академический Документы
Профессиональный Документы
Культура Документы
SISTEMAS SQL SERVER__________________________________________________96 LA FAMILIA WINDOWS 2000______________________________________________99 VERSIONES DE SQL SERVER____________________________________________103 CUESTIONES DE SQL SERVER 2000 RELATIVAS AL HARDWARE____________104 INSTALACIN DEL SERVIDOR___________________________________________109 ACTUALIZACIN DESDE VERSIONES ANTERIORES_______________________117 INSTALACIN DEL CLIENTE____________________________________________124 SERVICIOS DE SQL SERVER_____________________________________________125 USO DEL ADMINISTRADOR DE SERVICIOS DE SQL SERVER_______________126 USO DE SERVICIOS DE WINDOWS 2000___________________________________127 USO DEL ADMINISTRADOR COR ORATIVO DE SQL SERVER_______________129 ESTRUCTURA DE LAS !ASES DE DATOS__________________________________133 !ASES DE DATOS DEL SISTEMA_________________________________________140 CREACIN DE !ASES DE DATOS________________________________________141 E"AMINAR !ASES DE DATOS___________________________________________147 !ORRAR UNA !ASE DE DATOS__________________________________________14# TA!LAS EN LAS !ASES DE DATOS_______________________________________149 CREACION DE UNA TA!LA MEDIANTE EL ADMINISTRADOR COR OR$_____159 VALORES REDETERMINADOS__________________________________________163 CREACIN % USO DE UN DIA&RAMA DE !D______________________________16# RESTRICCIONES DE FOREI&N 'E% EN LOS DIA&RAMAS DE !D___________170
Microsoft SQL Server 2000 es un sistema gestor de bases de datos relacionales (SGBDR) !na base de datos relacional "ro"orciona una forma de organi#ar informaci$n almacen%ndola en tablas de bases de datos La informaci$n relacional se "uede agru"ar en tablas& ' tambi(n se "ueden definir relaciones entre tablas) de a*+ el nombre& base de datos relacional Los usuarios acceden a la informaci$n ,ue est% en el servidor a trav(s de una a"licaci$n Los administradores acceden al servidor directamente "ara reali#ar tareas de configuraci$n& administrativas ' de mantenimiento de la base de datos SQL Server es una base de datos dimensionable& lo ,ue ,uiere decir ,ue "uede almacenar cantidades de datos ', ue "uede so"ortar muc*os usuarios accediendo a los datos al mismo tiem"o. SQL Server naci$ en -./. ' *a cambiado de forma significativa desde entonces Se *an reali#ado grandes me0oras de dimensionabilidad& la integridad& la facilidad de administraci$n& el rendimiento ' as caracter+cas del "roducto SQL Server se "uede utili#ar en dos ti"os de entornos
:omo se *a mencionado& una configuraci$n de tres ca"as involucra a un tercer e,ui"o llamado servidor de aplicaciones. 2n este ti"o de sistema las 4nicas tareas del e,ui"o del cliente son la e0ecuci$n de c$digo "ara solicitar las funciones del servidor de a"licaciones ' la "resentaci$n "osterior de los resultados 2ste ti"o de cliente se denomina cliente ligero. 2l servidor de a"licaciones e0ecuta una a"licaci$n "ara e0ecutar el c$digo em"resarial) esta a"licaci$n es multienhebrada, lo ,ue significa ,ue muc*os usuarios "ueden acceder a ella simult%neamente 2l servidor de a"licaciones reali#a cone5iones al servidor de bases de datos "ara acceder a la informaci$n ' devuelve los resultados al cliente !n e0em"lo de este ti"o de sistema se muestra en la 9igura 2
La venta0a de un sistema de tres ca"as es ,ue se "uede "ermitir ,ue el servidor de a"licaciones organice todas las cone5iones cliente al servidor de bases de datos& en lugar de
de0ar ,ue cada cliente realice su "ro"ia cone5i$n& lo ,ue des"erdicia recursos del servidor de bases de datos 2ste conce"to se denomina cola de conexiones. La cola de cone5iones im"lica ,ue las solicitudes de los clientes se colocan en un gru"o (literalmente& una cola) "ara es"erar la siguiente cone5i$n dis"onible :uando una cone5i$n se libera& "uede ser utili#ada "ara la siguiente "etici$n de la cola 2n cierto sentido& la cola de cone5iones "ermite regular la cantidad de traba0o ,ue se reali#a en el servidor de bases de datos mediante la configuraci$n del n4mero de cone5iones ,ue se encuentran en la cola '& as+& el n4mero dis"onible "ara reali#ar el traba0o del usuario (2l n4mero de cone5iones se "uede configurar "or soft7are ) Se elimina la necesidad de un gran n4mero de cone5iones de usuario ,ue "uedan agotar r%"idamente los recursos ' causar una disminuci$n del rendimiento Se "uede im"lementar una cola de cone5iones utili#ando Microsoft 6nternet 6nformation Server ' un soft7are de cola de cone5iones como :;M<& ,ue es un servicio de com"onentes ,ue se "ro"orciona con el sistema o"erativo Microsoft =indo7s 2000 >o entraremos en detalles sobre c$mo se utili#an estos "roductos& "or,ue la "rogramaci$n de a"licaciones ,ueda fuera del %mbito de este libro ?lgunos sistemas em"resariales ' sitios =eb necesitan m%s "otencia de "roceso ,ue el ,ue "ro"orciona un 4nico servidor SQL Server 2000 "ro"orciona la ca"acidad de dividir en "articiones las tablas a lo largo de m4lti"les servidores ,ue com"arten la carga del "roceso de la informaci$n
=indo7s 2000 ?dvanced Server inclu'e todas las caracter+sticas ,ue a"arecen en =indo7s 2000 Server ' a3ade com"onentes "ara so"ortar a"licaciones cr+ticas ?dvanced Server inclu'e caracter+sticas como e,uilibrio de carga de red& agru"amiento ' un ma'or so"orte "ara el multi"rocesamiento sim(trico
Datacenter Server est% dise3ado "ara satisfacer las necesidades de alta dis"onibilidad ' dimensionabilidad del centro de datos de una em"resa So"orta *asta D2 "rocesadores ' EA gigab'tes (GB) de memoria f+sica 2sta dimensionabilidad "ermite todo ti"o de a"licaciones& desde el sim"le almacenamiento masivo de datos *asta com"le0as simulaciones de ingenier+a
La siguiente tabla resume las diferencias entre los "roductos =indo7s 2000
'i $%(s 2000 ,"%-essi% al F) ci. S; cliente "ara e,uiF "os em"resariales de escritorio ' "ort%tiles
'i $%(s 2000 Se"#e" S; servidor ,ue "roF "orciona arc*ivos& im"resoras& intranet ' traba0o en red A A GB >inguno
'i $%(s 2000 A$#a ce$ Se"#e" S; servidor ,ue "roF "ro"orciona so"orte "ara a"licaciones ' serviF cios de comercio electr$nico / / GB Resoluci$n de fallos de dos nodos) e,uiliF brio de carga de red de D2 nodos :8! com"atible con 8entium a -DD MG#) 25E MB de R?M) - GB de es"acio de disco
'i $%(s 2000 Datace te" Se"#e" S; servidor ,ue "ro "ro"orciona el so"orte de la l+nea de nego cio "ara grandes a"licaciones cr+ticas D2 EA GB Resoluci$n de fallos de cuatro nodos) e,uilibrio de carga de red de D2 nodos :8! com"atible con 8entium a -DD MG#) 25E MB de R?M) - GB de es"acio de disco
C,Us s%&%"ta$as
2 A GB
A/")&amie t% 0cl)ste"i /1
>inguno
:8! com"atible con 8entium a -DD MG#) 25E MB de R?M) - GB de es"acio de disco
!na ve# vistos las versiones del S; recomendables "ara instalar nuestro sistema gestor de BD& es el momento de elegir ,ue versi$n de sistema gestor instalar Se "uede escoger entre cuatro versiones de =indo7s 2000 ' tres versiones de SQL Server 2000 2n esta secci$n se estudiar%n las diferencias entre estas versiones ' "or ,u( seleccionar una frente a otra Las cuatro versiones de =indo7s 2000 est%n dise3adas "ara "ro"orcionar el soft7are adecuado "ara la a"licaci$n adecuada Las ca"acidades de =indo7s 2000 crecen a medida ,ue se "asa de =indo7s 2000 8rofessional a =indo7s 2000 Server& =indo7s 2000 ?dvanced Server '& finalmente& =indo7s 2000 Datacenter Las siguientes secciones describen las ca"acidades de cada versi$n Se deber+a escoger la versi$n de =indo7s 2000 ,ue "ro"orcione las ca"acidades necesarias& en lugar de sim"lemente ad,uirir la versi$n m%s cara con las ma'ores ca"acidades
8ersonal 2dition de SQL Server 2000 La versi$n 8ersonal 2dition s$lo "ermite acceso local a la base de datos 2l acceso desde otros sistemas no est% "ermitido
ota! "lo la versin Personal #dition de "$% "erver &' los componentes para clientes( se pueden instalar en Windows 2000 Professional.
Datacenter con su *ard7are& estos distribuidores ofrecen el m%s alto nivel de so"orte dis"onible "ara =indo7s 2000 2sta integraci$n "ro"orciona un 4nico "unto de contacto "ara el so"orte de =indo7s 2000 ' del *ard7are
ota! Para utili+ar 23 ,P-s ' 23 /0 de memoria en "$% "erver 2000, ha' )ue e*ecutar la versin #nterprise #dition de "$% "erver. 1dems, en Windows 2000 4atacenter se pueden instalar "$% "erver "tandard #dition, "$% "erver Personal #dition ' los componentes para clientes de "$% "erver.
,e"s% al E$iti%
La versi$n 8ersonal 2dition de SQL Server est% dise3ada "ara "e,ue3as bases de datos a las ,ue se accede localmente en un sistema cliente SQL Server 2000 8ersonal 2dition no "ermite ,ue otros e,ui"os obtengan acceso a la base de datos
E te"&"ise E$iti%
La versi$n 2nter"rise 2dition de SQL Server so"orta todas las caracter+sticas ' la funcionalidad de todas las versiones de =indo7s 2000 SQL Server 2000 2nter"rise
2dition re,uiere =indo7s 2000 ?dvanced Server o =indo7s 2000 Datacenter ?dem%s& SQL Server 2000 2nter"rise 2dition so"orta cl4steres de conmutaci$n "or error ' vistas distribuidas actuali#ables
'i $%(s 2000 A$#a ce$ Se"#e" 'i $%(s 2000 Datace te"
:omo se "uede observar& *a' varias o"ciones Se deber+a considerar cuidadosamente la decisi$n de ,u( ad,uirir !na ve# instalado en el sistema *abr% ,ue "artir de cero si se cambia de o"ini$n
Mem%"ia+ !n m+nimo de 25E MB de R?M "ara la edici$n Standard ' 5-2 MB de R?M "ara la edici$n 2nter"rise 2sto su"era var+as veces el re,uerimiento de memoria m+nimo de D2 MB ' EA MB res"ectivamente) la ra#$n "rinci"al "ara esta necesidad de
memoria e5tra es el rendimiento Huntos& los servicios de SQL Server 2000 ' los servicios est%ndar de =indo7s 2000 utili#an entre /0 ' -00 MB de memoria como base Las cone5iones de usuario consumen a"ro5imadamente 2A IB cada una Las solicitudes de datos ' otros "rocesos de SQL Server tambi(n utili#an memoria& ' este consumo de memoria se suma a todos los otros "rocesos ' a"licaciones ,ue se est(n e0ecutando en el servidor
,"%cesa$%"+ SQL Server 2000 s$lo se e0ecuta en m%,uinas 6ntel 5/E o com"atibles) no funcionar% con "rocesadores Motorola M68S RA000& 8o7er8: o D2: ?l"*a SQL Server logra unas altas "restaciones en las "ruebas com"arativas con 6ntel 8entium 666 Jeon a CDD MG# ' ?MD ?t*lon a -000 MG# ?mbos "rocesadores constitu'en un buen "unto de "artida "ara un sistema SQL Server medio 8uede lograr im"ortantes me0oras en el rendimiento con una gran cantidad de memoria cac*( interna del "rocesador La ma'or+a de los "rocesadores Jeon vienen con 5-2 IB& - MB o 2 MB de memoria cac*( interna del "rocesador& ' 2 MB de memoria cac*( "ermiten conseguir un rendimiento general muc*o me0or
SM,+ SQL Server 2000 "ermite el uso de multi"rocesadores sim(tricos ' "uede "rocesar consultas com"le0as en "aralelo Las consultas en "aralelo son valiosas solamente cuando *a' "ocos usuarios en el sistema ' se est%n "rocesando consultas de gran com"le0idad 2n un sistema dedicado ,ue s$lo est( e0ecutando SQL Server ' d( servicio a menos de -00 usuarios simult%neos& un solo "rocesador deber+a ser suficiente Si el servidor "resta servicio a m%s de -00 usuarios o no funciona en un sistema dedicado& "uede ,ue convenga agregar "rocesadores (o utili#ar un sistema ,ue "ermite a3adir "rocesadores adicionales a medida ,ue cre#can sus necesidades)
U i$a$es $e $isc%+ La ca"acidad de almacenamiento de datos ,ue necesite de"ender% totalmente del n4mero ' tama3o de las bases de datos a las ,ue el servidor d( servicio >ecesitar% suficiente es"acio de disco "ara almacenar toda la informaci$n& m%s el es"acio de traba0o& arc*ivos del sistema& memoria virtual& registros de transacciones '& en el caso de un cl4ster& el disco de ,u$rum 2l rendimiento total de 21S es tan im"ortante como la ca"acidad de la unidad 2n la ma'or+a de los casos& las unidades S:S6 &"mall ,omputer "'stem 5nterface, Kinterfa# "ara sistemas inform%ticos de "e,ue3o tama3oL) son m%s r%"idas ,ue las unidades 6D2126D2 &5ntegrated 4evice #lectronics6#nhanced 5ntegrated 4evice #lectronics, Kelectr$nica de dis"ositivos integrados16D2 me0oradaL)& "or lo ,ue se recomienda utili#ar S:S6 8ara un rendimiento $"timo de 21S& la o"ci$n recomendada es 9: &fiber channel, Kcanal de fibraL) "ara soluciones de almacenamiento de alta gama 2n lugar de utili#ar una sola unidad de gran tama3o& debe utili#ar& varias unidades m%s "e,ue3as& lo ,ue "ermite configurar la tolerancia a fallos con R?6D &7edundant 1rra' of 5ndependent 4is8s, Kmatri# redundante de discos inde"endientesL) Se recomienda se"arar los datos ' los registros ' colocarlos en unidades distintas 2sto inclu'e el disco de ,u$rum "ara los mecanismos de cl4ster
,"%tecci. $e l%s $at%s+ Se debe agregar "rotecci$n contra fallos ines"erados de las unidades de disco& utili#ando R?6D
8ara los datos& utilicese R?6D 0 o R?6D 5 8ara los registros& utilicese R?6D - R?6D 0 (bandas de disco sin "aridad) ofrece un buen rendimiento de lectura1escritura& "ero cual,uier unidad defectuosa significa ,ue SQL Server no "odr% continuar funcionando con la base de datos afectada *asta ,ue se sustitu'a la unidad
>o *a' redundancia >o *a' tolerancia a fallos Si un disco falla la informaci$n ,ue contiene se "ierde
R?6D - (es"e0o de disco) crea co"ias du"licadas de los datos en unidades se"aradas& "ero la recu"eraci$n de la unidad defectuosa normalmente obliga a interrum"ir las o"eraciones mientras se recu"era la unidad defectuosa a "artir de los registros de transacci$n o de las co"ias de seguridad de la base de datos
2 accesos a disco "ara cada escritura Gran tolerancia a fallos ' alto rendimiento !sar "ara el disco del S; !sar "ara el registro de transacciones Se recomienda el uso de cac*e de escritura
R?6D 5 (bandas de disco con "aridad) ofrece una buena "rotecci$n contra fallos de una sola unidad& "ero tiene un "obre rendimiento de escritura 8ara un rendimiento ' tolerancia a fallos $"timos& se recomienda
A accesos a disco "ara cada escritura !sar en vol4menes de solo lectura o con un "orcenta0e de escritura no su"erior al -0M Se recomienda el uso de cac*e de escritura
R?6D 0 < - (tambi(n llamado R?6D -0)& ,ue es una estructura de es"e0o de disco& con bandas de disco sin "aridad
2 accesos a disco "ara cada escritura !sar en volumenes con un "orcenta0e de escritura su"erior al -0 !sar cuando el rendimiento es critico Se recomienda el uso de cac*e de escritura
SAI+ SQL Server est% dise3ado "ara mantener la integridad de la base de datos en todo momento ' "uede recu"erar la informaci$n utili#ando los registros de transacciones Sin embargo& esto no "rotege el *ard7are del servidor frente a una "(rdida re"entina de la alimentaci$n o frente a las sobretensiones ?mbos sucesos "ueden da3ar seriamente el *ard7are 8ara evitarlo& *a' ,ue usar un sistema de alimentaci$n ininterrum"ida (S?6) !n S?6 dar% tiem"o "ara cerrar el sistema en forma a"ro"iada en caso de interru"ci$n del suministro de energ+a& ' tambi(n es im"ortante "ara mantener la integridad de la base de datos cuando el servidor utili#a controladores de memoria cac*( de escritura diferida
2ste ca"+tulo sirve de gu+a durante el "roceso de instalaci$n teniendo en cuenta la actuali#aci$n desde versiones anteriores 9inalmente& ' "ara ,ue se "ueda utili#ar SQL Server en un entorno cliente1servidor& se detalla el "roceso de instalaci$n de las utilidades "ara los e,ui"os cliente
I stalaci. l%cal
8ara reali#ar una instalaci$n local *a' ,ue seguir estos sim"les "asos "ara tener SQL Server instalado ' funcionando en el servidorB - 6ntroducir el :D de SQL Server en una unidad de :Ds Si el sistema o"erativo del servidor est% configurado "ara iniciar autom%ticamente los :Ds& el cuadro de di%logo de la instalaci$n de Microsoft SQL Server 2000 a"arecer%& como se muestra en la 9igura 5 l 2n otro caso& ser% necesario e0ecutar manualmente el "rograma ?utorun e5e (situado en el directorio de m%s alto nivel del :D)
2 Si no se *an instalado los service "acNs necesarios "ara el sistema o"erativo o la versi$n re,uerida de Microsoft 6nternet 25"lorer& o si sim"lemente se desea e5aminar la lista de re,uisitos "revios& *a' ,ue "ulsar en Re,uisitos "revios de SQL Server 2000 "ara mostrar el cuadro de dialogo Re,uisitos "revios de SQL Server 2000 Ga' ,ue "ulsar en el sistema o"erativo a"ro"iado "ara ver sus re,uisitos "revios& ' "ulsar des"u(s en el re,uisito "revio ,ue se desea instalar Si 'a est% cargado todo el soft7are a"ro"iado se "uede ir al "aso D
ota! "i es necesario instalar Microsoft 5nternet #xplorer o los service pac8s re)ueridos por Microsoft Windows 2000 o Microsoft Windows 9 3, es posible )ue ha'a )ue reiniciar el sistema ' volver a e*ecutar 1utorun.exe antes de poder proceder con la instalacin de "$% "erver.
!na ve# ,ue se *a'an instalado los re,uisitos "revios *a' ,ue volver al cuadro de di%logo "rinci"al de la instalaci$n "ulsando ?tr%s D A D 8ulsar en :om"onentes de SQL Server 2000 "ara comen#ar la instalaci$n de SQL Server A ?"arece el cuadro de di%logo 6nstalar com"onentes& como se muestra en la 9igura 5 2 Ga' ,ue "ulsar en 6nstalar Servidor de bases de datos "ara ,ue comience la instalaci$n de los com"onentes "rinci"ales de SQL Server
5 ?"arece el cuadro de di%logo de bienvenida al ?sistente "ara la instalaci$n de SQL Server Si se est%n e0ecutando otros "rogramas ser+a conveniente cerrarlos Ga' ,ue "ulsar en Siguiente "ara ,ue contin4e el "roceso de instalaci$n E ?"arece el cuadro de di%logo >ombre del e,ui"o Ga' ,ue "ulsar en 2,ui"o local ' "ulsar des"u(s Siguiente
C / .
C Se muestra el cuadro de di%logo Selecci$n de instalaci$n Ga' ,ue "ulsar en :rear una nueva instancia de SQL Server ' "ulsar entonces Siguiente "ara continuar / ?"arece el cuadro de di%logo 6nformaci$n del usuario Ga' ,ue com"robar ,ue el nombre ' la em"resa son correctos 8ulsar Siguiente "ara continuar . Se muestra el cuadro de di%logo :ontrato de licencia de soft7are Ga' ,ue "ulsar S+ "ara ace"tar el contrato de licencia ' continuar con el "roceso de instalaci$n
-0 -0 ?"arece el cuadro de di%logo :lave del :D Ga' ,ue introducir la clave de :D de 25 caracteres ,ue se encuentra en la eti,ueta amarilla de la funda del :D ' "ulsar Siguiente -- -- Se muestra a*ora el cuadro de di%logo Definici$n de la instalaci$n Ga' ,ue "ulsar Gerramientas cliente ' servidor ' des"u(s Siguiente -2 -2 ?"arece el cuadro de di%logo >ombre de instancia Si se desea dar nombre a esta instancia de SQL Server de forma distinta a la "redeterminada& *a' ,ue des*abilitar la casilla de verificaci$n 8redeterminada ' escribir el nombre deseado Ga' ,ue "ulsar Siguiente "ara continuar con el "roceso de instalaci$n -D -D ?"arece el cuadro de di%logo @i"o de instalaci$n& como se muestra en la 9igura 5 D Se "uede seleccionar instalaci$n @+"ica& M+nima o 8ersonali#ada La instalaci$n @+"ica inclu'e todas las o"ciones e5ce"to las Gerramientas de desarrollo ' las o"ciones de B4s,ueda de te5to La instalaci$n 8ersonali#ada "ermite a3adir esas o"ciones adem%s de eliminar algunas no deseadas La instalaci$n m+nima es e,uivalente a la @+"ica sin las o"ciones Gerramientas de actuali#aci$n& Libros en "antalla ' Gerramientas de administraci$n
2n muc*os casos se ,uerr% reali#ar una instalaci$n @+"ica& "or lo ,ue "ulsaremos @+"ica en la instalaci$n de "r%ctica @ambi(n se "uede es"ecificar d$nde instalar el "rograma ' los arc*ivos de datos de SQL Server "ulsando en los botones 25aminar del gru"o :ar"eta de destino Ga' ,ue "ulsar Siguiente "ara continuar -A -A ?"arece el cuadro de di%logo :uentas de servicios& como se muestra en la 9igura 5 A Se "uede utili#ar o bien una cuenta de usuario de =indo7s >@ o =indo7s 2000& o la cuenta ?dministrador 2n cual,uier caso& la cuenta debe tener el "ermiso 6nicio de sesi$n como servicio Si no se est% seguro sobre c$mo crear estas cuentas de usuario& conviene consultar al administrador o la documentaci$n de =indo7s >@ o =indo7s 2000 Ga' ,ue escribir el nombre ' la contrase3a de la cuenta creada "ara el servicio SQL Server en los cuadros de te5tos a"ro"iados Si se est% instalando SQL Server en una estaci$n de traba0o inde"endiente& *a' ,ue "ulsar !tili#ar la cuenta del sistema local Ga' ,ue "ulsar Siguiente "ara continuar
-5 -5 ? continuaci$n a"arece el cuadro de di%logo Modo de autenticaci$n& como se muestra en la figura 5 5 2ste cuadro de di%logo determina el nivel de seguridad de la instalaci$n de SQL Server Se "uede escoger Modo de autenticaci$n de =indo7s o Modo mi5to Si se selecciona Modo de autenticaci$n de =indo7s& todos los "ermisos de usuario sobre la base de datos se *eredar%n de la :onfiguraci$n de seguridad de =indo7s Si se selecciona mi5to& *abr% ,ue establecer una contrase3a "ara la cuenta sa& o administrador del sistema (s'stem administrator) de SQL Server Se "uede o"tar "or de0ar esta contrase3a en o& "ero *aciendo eso disminuir% gravemente la seguridad de la instalaci$n de SQL Server Des"u(s de seleccionar un modo de autenticaci$n *a' ,ue "ulsar Siguiente "ara continuar
-E -E ?"arece el cuadro de di%logo 6niciar la co"ia de arc*ivos Ga' ,ue "ulsar Siguiente "ara continuar -C -C Se muestra el cuadro de di%logo de modo de licencia Ga' dos o"ciones "ara otorgar licencias a los clientes de SQL Server Se "ueden licenciar clientes "or "uesto o "or "rocesador Las licencias "or "uesto re,uieren una Licencia de acceso de cliente "ara cada e,ui"o cliente ,ue acceder% al servidor !na ve# ,ue se otorga una licencia a un e,ui"o& "uede acceder a cual,uier e,ui"o de la red ,ue e0ecute SQL Server 2000 sin cargo adicional Las licencias "or "rocesador re,uieren una licencia "ara cada "rocesador en el ,ue se e0ecutar% SQL Server 8or e0em"lo& si se e0ecuta SQL Server en una m%,uina con cuatro "rocesadores& es necesario ad,uirir cuatro licencias de "rocesador "ara utili#ar los cuatro "rocesadores Se "odr+a o"tar "or limitar SQL Server a tan s$lo dos de los cuatro "rocesadores 2n ese caso s$lo ser+a necesario ad,uirir dos licencias de "rocesador Des"u(s de ad,uirir el n4mero a"ro"iado de licencias de "rocesador se "ueden conectar un n4mero ilimitado de clientes Ga' ,ue "ulsar :ontinuar "ara comen#ar la instalaci$n de la a"licaci$n ' los arc*ivos de datos de SQL Server SQL Server instalar% los arc*ivos re,ueridos en el sistema ' configurar% los com"onentes necesarios La instalaci$n tardar% tan s$lo unos "ocos minutos& o "odr+a durar m%s& de"endiendo de la velocidad del sistema -/ -/ !na ve# ,ue la instalaci$n est% com"leta& se muestra el cuadro de di%logo 9in de la instalaci$n Ga' ,ue "ulsar 9inali#ar "ara com"letar el "roceso de instalaci$n
I stalaci. "em%ta
Si se sea utili#ar el e,ui"o "ara instalar SQL Server en un servidor de la red& *abr% ,ue reali#ar una instalaci$n remota !na instalaci$n remota difiere ligeramente de una instalaci$n local Los siguientes "asos detallan la forma de reali#ar una instalaci$n remota 2 D Reali#ar los "asos del - al 5 de las instrucciones "ara una instalaci$n local
2 2n el cuadro de di%logo >ombre del e,ui"o *a' ,ue "ulsar en 2,ui"o remoto ' escribir el nombre del e,ui"o del sistema remoto 8ulsar Siguiente "ara continuar D ?"arece el cuadro de di%logo Selecci$n de instalaci$n de SQL Server 2000 Ga' ,ue "ulsar :rear una nueva instancia de SQL Server ' des"u(s Siguiente "ara continuar A Se muestra a*ora el cuadro de di%logo 6nformaci$n del usuario Ga' ,ue verificar ,ue el nombre ' el de la com"a3+a son correctos 8ulsar Siguiente "ara continuar 5 ?"arece el cuadro de di%logo :ontrato de licencia de soft7are Ga' ,ue "ulsar S+ "ara ace"tar el contrato de licencia ' continuar con el "roceso de instalaci$n E Se muestra el cuadro de di%logo :lave del :D Ga' ,ue introducir la clave de :D de 25 caracteres ,ue se encuentra en la eti,ueta amarilla de la funda del :D ' "ulsar siguiente C Se muestra el cuadro de di%logo 6nformaci$n "ara la instalaci$n remota& como se muestra en la 9igura 5 E
A 5 E
Ga' ,ue escribir el nombre de cuenta& la contrase3a ' el dominio del e,ui"o d$nde se desea instalar SQL Server Ga' ,ue asegurarse de ,ue la cuenta ,ue se utili#a tiene autoridad "ara instalar soft7are en el e,ui"o @ambi(n *a' ,ue escribir en el cuadro de te5to Ruta de acceso destino la ruta de acceso "ara la instalaci$n en el e,ui"o
remoto La ruta de acceso "ara la instalaci$n debe de estar en el formato del :onvenio de nomenclatura universal (!>:& !niversal >aming :onvention)& "or e0em"lo& OOservidorremotoOcPO?rc*ivos de "rogramaOMicrosoft SQL Server 8ulsar Siguiente "ara continuar / . / ?"arece el cuadro de di%logo Definici$n de instalaci$n Ga' ,ue "ulsar Gerramientas cliente ' servidor ' "ulsar des"u(s Siguiente . Se muestra el cuadro de di%logo >ombre de instancia Si se desea dar nombre a esta instancia de SQL Server de forma distinta a la "redeterminada& *a' ,ue des*abilitar la casilla de verificaci$n 8redeterminada ' escribir el nombre deseado Ga' ,ue "ulsar Siguiente "ara continuar con el "roceso de instalaci$n
-0 -0 ?"arece el cuadro de di%logo @i"o de instalaci$n ?l igual ,ue en la instalaci$n local& en la instalaci$n remota se "uede seleccionar instalaci$n @+"ica& M+nima o 8ersonali#ada La instalaci$n @+"ica inclu'e todas las o"ciones e5ce"to las Gerramientas de desarrollo ' las o"ciones de B4s,ueda de te5to La instalaci$n 8ersonali#ada "ermite a3adir esas o"ciones adem%s de eliminar algunas no deseadas La instalaci$n m+nima es e,uivalente a la @+"ica sin las o"ciones Gerramientas de actuali#aci$n& Libros en "antalla ' Gerramientas de administraci$n 2n muc*os casos se ,uerr% reali#ar una instalaci$n @+"ica& "or lo ,ue "ulsaremos @+"ica en la instalaci$n de "r%ctica @ambi(n se "uede es"ecificar d$nde instalar el "rograma ' los arc*ivos de datos de SQL Server "ulsando en los botones 25aminar del gru"o :ar"eta de destino Ga' ,ue "ulsar Siguiente "ara continuar -- -- ?"arece el cuadro de di%logo :uentas de servicios& como se mostraba en la 9igura C A Ga' ,ue escribir el nombre ' la contrase3a de la cuenta creada "ara el servicio SQL Server en los cuadros de te5tos a"ro"iados (Si no se cre$ una cuenta inde"endiente se "uede utili#ar la cuenta ?dministrador de =indo7s >@ o =indo7s 2000 ) Ga' ,ue "ulsar Siguiente "ara continuar -2 -2 ? continuaci$n a"arece el cuadro de di%logo Modo de autenticaci$n 2ste cuadro de di%logo determina el nivel de seguridad de la instalaci$n de SQL Server Se "uede escoger Modo de autenticaci$n de =indo7s o Modo mi5to :uando se selecciona Modo de autenticaci$n de =indo7s& todos los "ermisos de usuario sobre la base de datos se *eredan de la :onfiguraci$n de seguridad de =indo7s Si se selecciona Modo mi5to& se "uede definir ' administrar la seguridad de la base de datos de forma inde"endiente Si se selecciona Modo mi5to& *abr% ,ue establecer una contrase3a "ara la cuenta del administrador del sistema (KsaL en el cuadro de di%logo) de SQL Server Se "uede o"tar "or de0ar esta contrase3a en blanco& "ero *aciendo eso disminuir% gravemente la seguridad de la instalaci$n de SQL Server Des"u(s de seleccionar un modo de autenticaci$n *a' ,ue "ulsar Siguiente "ara continuar
-D -D Se muestra el cuadro de di%logo de modo de licencia :omo en la instalaci$n local& en la instalaci$n remota *a' dos o"ciones "ara otorgar licencias a los clientes de SQL Server Se "ueden licenciar clientes "or "uesto o "or "rocesador :ons4ltese el "aso -E del "rocedimiento de instalaci$n local "ara m%s informaci$n sobre los dos m(todos de licencias -A -A !na ve# ,ue el "roceso de instalaci$n se *a'a conectado al e,ui"o remoto ' *a'a verificado ,ue se *a "odido establecer la cone5i$n& se reali#ar% la instalaci$n remota de la misma forma ,ue lo *i#o la local @odas las selecciones ' o"ciones se escogen de la misma forma ,ue en la instalaci$n local Durante el "roceso de instalaci$n remota de SQL Server& SQL Server crea un arc*ivo llamado S,lst" log 2ste arc*ivo se encuentra en la car"eta MS'stemrootM en un sistema =indo7s >@ o =indo7s 2000 La car"eta MS'stemrootM es normalmente :BO=innt 2ste arc*ivo enumera cada "aso e0ecutado adem%s de cual,uier error o "roblema ,ue *a'a encontrado el "roceso de 6nstalaci$n Si& "or casualidad& falla la instalaci$n remota& este arc*ivo "uede a'udar en el "roceso de soluci$n de "roblemas
2 20ecutar uno de los arc*ivos de "rocesamiento "or lotes ( bat) ,ue se *an "ro"orcionado "ara la instalaci$n desatendida 2stos arc*ivos son los siguientesB S,lins bat& "ara reali#ar una instalaci$n @+"ica de SQL Server en =indo7s .51./& =indo7s >@ o =indo7s 2000 2ste arc*ivo de "rocesamiento "or lotes utili#a el arc*ivo de iniciali#aci$n S,lins iss S,lcst bat& "ara reali#ar una instalaci$n 8ersonali#ada de SQL Server en =indo7s .51./& =indo7s >@ o =indo7s 2000 2ste arc*ivo de "rocesamiento "or lotes utili#a el arc*ivo de iniciali#aci$n S,lcst iss S,lcli bat& "ara instalar las utilidades "ara clientes 2stas utilidades se instalan utili#ando el arc*ivo de iniciali#aci$n S,lcli iss Las utilidades "ara clientes se instalan en la car"eta :BO?rc*ivos de "rogramaOMicrosoft SQL ServerO/0 S,lrem bat& "ara eliminar todos los com"onentes de SQL Server del sistema Se debe es"ecificar la car"eta de instalaci$n de SQL Server como "ar%metro
?ntes de e0ecutar el arc*ivo de "rocesamiento "or lotes a"ro"iado se "uede "ersonali#ar el arc*ivo iss asociado "ara sistemas "articulares 8or e0em"lo& se "uede cambiar el modo de licencia del "redeterminado "or servidor a "or "uesto 8ara llevar esto a cabo se deber+a modificar la secci$n QLicenseR del arc*ivo iss a"ro"iado cambiando LicenseModeS82RS2RT2R "or LicenseModeS82RS2?@
20ecutar todas las com"robaciones de consistencia de la base de datos ("or medio de DB::) en las bases de datos de SQL Server E 5 "ara asegurarse de ,ue se encuentran en estado co*erente 2stablecer tem"db en& al menos& -0 megab'tes (MB) 2l tama3o recomendado es 25 MB& "ero -0MB ser%n suficientes Des*abilitar todos los "rocedimientos almacenados de inicio ,ue *a'a activos
Detener todos los servicios de du"licaci$n ' asegurarse de ,ue el registro de du"licaci$n est% vac+o 6nstalar Service 8acN D "ara SQL Server E 5 o "osterior& si no lo est% 'a
8ara actuali#ar la informaci$n de SQL Server E 5 a los formatos de SQL Server 2000 (des"u(s de *aber instalado SQL Server 2000) *a' ,ue com"letar los siguientes "asosB - 8ulsar 6nicio& a"untar a 8rogramas& des"u(s a Microsoft SQL ServerFconmutador ' "ulsar ?sistente "ara actuali#aci$n de SQL Server "ara mostrar la "antalla de bienvenida del ?sistente "ara actuali#aci$n de SQL Server& como se muestra en la 9igura 5 C 8ulsar Siguiente "ara comen#ar el "roceso de actuali#aci$n
2 ?"arece la "antalla @ransferencia de datos ' ob0etos del ?sistente "ara actuali#aci$n de SQL Server& como se muestra en la 9igura 5 / De forma "redeterminada& el ?sistente "ara actuali#aci$n de SQL Server convertir% todos los ob0etos ' datos de la base de datos del formato de SQL Server E 5 al de SQL Server 2000 8ara com"robar ,ue esta conversi$n se reali#a con (5ito *a' ,ue seleccionar la
casilla de verificaci$n Talidar la transferencia correcta de datos de ob0etos La com"robaci$n "uede consumir muc*o tiem"o& "ero es me0or reali#ar esta selecci$n Si *a' "reocu"aci$n sobre la consistencia de la informaci$n convertida& se "uede seleccionar& la casilla de verificaci$n :om"robaci$n e5*austiva de la integridad de los datos 2sta o"ci$n "rovocar% ,ue el "roceso de conversi$n dure a4n m%s "ero asegurar% el m%s alto nivel de integridad Si no se *a e0ecutado recientemente DB:: de SQL Server E 5& se deber+a seleccionar esta o"ci$n "ara asegurar ,ue la corru"ci$n de la base de datos no afectar% al "roceso de conversi$n Si se dis"one de una unidad de cintas "resente en el sistema& se "ro"orcionar% una o"ci$n "ara utili#ar cintas en lugar de canali#aciones con nombre como m(todo de transferencia de datos Ga' ,ue "ulsar Siguiente "ara continuar
D La "antalla 6nicio de sesi$n del ?sistente "ara actuali#aci$n de SQL Server se muestra a continuaci$n& al igual ,ue en la 9igura 5 0. Ga' ,ue seleccionar el nombre del servidor desde la lista des"legable ' escribir la contrase3a del administrador del sistema SQL Server "ara la base de datos de SQL Server E 5 ,ue se est% convirtiendo @ambi(n *a' ,ue escribir la contrase3a del administrador del sistema SQL Server "ara la base de datos de SQL Server 2000 destino Si se desean argumentos de inicio "ara alguno de los servidores *a' ,ue escribirlos en el cuadro de te5to ?rgumentos o"cionales de inicio a"ro"iado 2stas o"ciones "ueden incluir indicadores de tra#a Si se o"ta "or no incluir argumentos de inicio *a' ,ue de0ar estos cuadros de te5to en blanco (8ara informaci$n adicional cons4ltese el +ndice de los Libros en "antalla ' b4s,uese Ko"ciones de inicioL ) Ga' ,ue "ulsar Siguiente "ara continuar
A !na "antalla del ?sistente "ara actuali#aci$n de SQL Server muestra un mensa0e advirtiendo de ,ue el ?sistente "ara actuali#aci$n de SQL Server necesita detener e iniciar de nuevo las bases de datos de SQL Server E 5 ' SQL Server 2000 ' ,ue no deber+a *aber usuarios con sesi$n iniciada en ninguno de los servidores de base de datos mientras se reali#a el "roceso de conversi$n Ga' ,ue "ulsar S+ "ara continuar
ota! #n este punto el sistema conmutar entre "$% "erver 2.; ' "$% "erver 2000.
5 ?"arece la "antalla Selecci$n de "%gina de c$digos 2sta "antalla "ermite es"ecificar la "%gina de c$digo de secuencia de comandos (,ue determina el 0uego de caracteres) ,ue se va a utili#ar "ara la conversi$n ? menos ,ue *a'a una necesidad es"ecial de otros 0uegos de caracteres distintos de los ,ue el sistema *a configurado "reviamente& se deber+a ace"tar la configuraci$n "redeterminada Ga' ,ue "ulsar Siguiente "ara continuar E 2l ?sistente "ara actuali#aci$n de SQL Server se comunica con la base de datos de SQL Server E 5 "ara determinar las bases de datos dis"onibles "ara la conversi$n ' muestra una lista con dic*as bases de datos en la "antalla ?ctuali#ar bases de datos a SQL Server 2000& como se muestra en la 9igura 5 -0
Las bases de datos ,ue se van a convertir se muestran en el cuadro de lista de la derec*a 8ara e5cluir una base de datos del "roceso de conversi$n *a' ,ue seleccionar su nombre en el cuadro de lista 6ncluir estas bases de datos ' "ulsar des"u(s 25cluir La base de datos e5cluida a"arecer% en el cuadro de lista de la i#,uierda ? menos ,ue no se desee utili#ar una base de datos en "articular nunca m%s& no *a' ninguna ra#$n "ara e5cluir ninguna base de datos Ga' ,ue "ulsar Siguiente "ara continuar C C ?"arece la "antalla :reaci$n de bases de datos& como muestra la 9igura 5 -- 2sta "antalla "ermite es"ecificar c$mo se crean las bases de datos >ormalmente& se utili#ar% la configuraci$n "redeterminada Se "uede cambiar la configuraci$n si se desea es"ecificar una nueva ubicaci$n "ara los arc*ivos de datos Ga' ,ue "ulsar Siguiente "ara continuar
ota! #n la configuracin predeterminada, "$% "erver crea archivos )ue son lo suficientemente grandes para almacenar los datos ' los ob*etos )ue se van a convertir &tal cual se han cargado en las bases de datos de "$% "erver 2.;(. "in embargo, no crea espacio libre en estos archivos. 9ambi<n se crea un archivo de registro para cada base de datos convertida. "e puede cambiar el nombre ' la ruta de acceso de los archivos de registro, el tama=o inicial del archivo ' e6 incremento de crecimiento pulsando Modificar. %a segunda opcin para crear bases de datos es -tili+ar bases de datos 'a creadas en "$% "erver 2000. ,on esta opcin ha' )ue crear los archivos de datos ' de registro con "$% "erver 2000 antes de iniciar el 1sistente para actuali+ar, ' "$% "erver utili+ar esas bases de datos para la informacin convertida. %a tercera opcin es utili+ar una secuencia de comandos para la creacin de> archivo de la base de datos. #sta secuencia de comandos deber?a contener la 5nstruccin ,7#19# 419101"# necesaria para crear los archivos de datos ' de registro )ue se utili+arn para la conversin. @a' )ue pulsar #xaminar para locali+ar esta secuencia de comandos. %a segunda ' tercera opciones no se recomiendan por)ue se deben
utili+ar en "$% "erver 2000 los mismos nombres para las bases de datos )ue se utili+aron en "A% "erver 2.;, ' los archivos de "$% "erver 2000 pueden ocupar ms )ue los archivos originales de "A% "erver 2.;. "i se utili+a la opcin predeterminada, "$% "erver estimar por s? mismo este crecimiento de la informacin.
/ ?"arece la "antalla :onfiguraci$n del sistema& como se muestra en la 9igura 5 -2 2sta "antalla "ermite es"ecificar ,u( ob0etos ' configuraciones del sistema se transfieren a la nueva base de datos Si se selecciona la casilla de verificaci$n :onfiguraci$n del servidor& se convierten todos los inicios de sesi$n ' los registros de inicio de sesi$n remota Si se selecciona la casilla de verificaci$n :onfiguraci$n de SQL 25ecutive& se convierten todas las tareas "rogramadas Si se selecciona la casilla de verificaci$n :onfiguraci$n de du"licaci$n& se convertir% el so"orte de du"licaci$n (La casilla de verificaci$n :onfiguraci$n de du"licaci$n se encuentra desactivada en nuestro e0em"lo "or,ue no se utili#aba re"licaci$n en nuestras bases de datos de SQL Server E 5& "or lo ,ue no *a' nada dis"onible a,u+ "ara transferir La du"licaci$n de bases de datos se trata en el :a"+tulo 2E )
Ba0o :onfiguraci$n avan#ada en el ?sistente "ara actuali#aci$n& se "ueden establecer las o"ciones Talores >ull ?>S6 e 6dentificadores entre comillas La o"ci$n Talores >ull ?>S6 afecta a las com"araciones ,ue utili#an valores nulos Si se establece como ?ctivados& los o"eradores de com"araci$n (S ' UV) siem"re devolver%n >!LL cuando uno de los argumentos del o"erador sea >!LL Si se establece como Desactivados& estos o"eradores devolver%n @R!2 si ambos argumentos son >!LL& o 9?LS2 si alguno de los argumentos es >!LL ' el otro es >;@ >!LL La o"ci$n 6dentificadores entre comillas determina la forma en ,ue SQL Server 2000 mane0ar% las comillas dobles Si esta o"ci$n se establece como ?ctivados& las comillas dobles indicar%n un identificador como un nombre de columna Si se establece como Desactivados& las comillas dobles indicar%n una cadena de caracteres& al igual ,ue *acen las comillas sim"les Si se "ulsa Mi5tos& SQL Server 2000 convertir% los ob0etos
con la o"ci$n 6dentificadores entre comillas como estuviera establecida en SQL Server E 5 Si no se est% seguro sobre esta o"ci$n& lo me0or es "ulsar Mi5tos Ga' ,ue "ulsar Siguiente "ara continuar . . Des"u(s de una "e,ue3a demora& a"arece la "antalla 9inali#aci$n del ?sistente "ara actuali#aci$n de SQL Server& como se muestra en la 9igura 5 -D 2sta "antalla "ermite revisar todas las o"ciones de conversi$n seleccionadas Si es necesario reali#ar cambios& *a' ,ue "ulsar ?tr%s ' cambiar la configuraci$n 2n otro caso& *a' ,ue "ulsar 9inali#ar "ara "roceder con el "roceso de conversi$n
-0 -0 ?"arece el cuadro de di%logo 6nt(r"rete de secuencias de comandos de actuali#aci$n de SQL Server& como se muestra en la 9igura 5 -A 2ste cuadro de di%logo muestra una lista de e0ecuci$n de los elementos actuali#ados& lo ,ue "ermite al administrador algo e res"uesta sobre el "rogreso del "roceso de actuali#aci$n
ota! 4ependiendo del tama=o de las bases de datos )ue se estn convirtiendo ' de s? se opt por comprobar de forma extensiva las bases de datos convertidas, este proceso de conversin podr?a durar varias horas.
:uando el "roceso de actuali#aci$n se *a'a com"letado& a"arecer% el cuadro de di%logo ?ctuali#aci$n com"letada Ga' ,ue "ulsar ?ce"tar "ara descartar el cuadro de di%logo ' "ulsar des"u(s :errar "ara cerrar el cuadro de di%logo 6nt(r"rete de secuencias de comandos de actuali#aci$n de SQL Server
2 D
- Reali#ar los "asos del - al . tal cual se esbo#aron antes en la secci$n 6nstalaci$n local 2 :uando a"are#ca el cuadro de di%logo Definici$n de instalaci$n& *a' ,ue "ulsar S$lo *erramientas cliente ' des"u(s Siguiente "ara continuar D 2n el cuadro de di%logo Seleccionar com"onentes ,ue a"arece& *a' ,ue seleccionar las o"ciones deseadas ' "ulsar Siguiente Se "uede seleccionar Gerramientas de administraci$n& :onectividad de clientes& Libros en "antalla& Gerramientas de desarrollo& 20em"los de c$digo o cual,uier combinaci$n de dic*as o"ciones De forma "redeterminada est%n seleccionadas las o"ciones Gerramientas de administraci$n& :onectividad de clientes& Libros en "antalla ' Gerramientas de desarrollo A :uando a"are#ca el cuadro de di%logo 6niciar la co"ia de arc*ivos *a' ,ue "ulsar Siguiente "ara continuar
autom%ticamente "ara asegurar ,ue los traba0os& alertas ' notificaciones "lanificadas "uedan e0ecutarse 2l :oordinador de transacciones distribuidas de Microsoft es un administrador de transacciones ,ue ofrece la ca"acidad de incluir diferentes fuentes de datos& inclu'endo datos de bases de datos remotas& en las transacciones de las a"licaciones cliente 2sto significa ,ue una 4nica transacci$n "uede actuali#ar datos en m4lti"les servidores remotos 2ste administrador de transacciones asegura ,ue todas las actuali#aciones se convertir%n en "ermanentes si se lleva a cabo la transacci$n o& en caso de error& asegura ,ue las modificaciones se des*ar%n en todas las fuentes de datos 2l servicio Microsoft Searc* se arranca al iniciar Microsoft Searc*& ,ue so"orta inde5aci$n ' b4s,ueda de te5to com"leto La inde5aci$n sobre te5to com"leto "ermite ,ue se realicen b4s,uedas m%s com"le0as sobre datos de cadenas de caracteres 8or e0em"lo& se "ueden buscar "alabras ,ue sean similares a una "alabra dada o se "ueden buscar cadenas ,ue contengan una frase "articular :omo se *a dic*o antes en este ca"+tulo& *a' varias *erramientas ,ue "ueden utili#arse "ara "arar e iniciar los servicios de SQL ServerB el ?dministrador de servicios de SQL Server& el ?dministrador cor"orativo de SQL Server ' Servicios de =indo7s 2000
- 8ulsar 6nicio& a"untar a 8rogramas& a"untar a Microsoft SQL Server ' a continuaci$n elegir ?dministrador de servicios "ara mostrar la a"licaci$n ?dministrador de servicios& ,ue a"arece en la figura anterior
2l nombre del servidor local ' el nombre del servicio de SQL Server a"arecen en las listas des"legables Servidor ' Servicios 2n la lista des"legable Servidor& seleccionar el nombre del servidor a cu'os servicios se ,uiera controlar ( tese )ue el 1dministrador de servicios puede utili+arse para administrar un servidor a trav<s de la red.) 2n la lista des"legable Servicios& seleccionar el servicio es"ec+fico ,ue ,uiera controlarseB SQL Server (MSSQLS2RT2R)& :oordinador de transacciones distribuidas de Microsoft (:oordinador de transacciones distribuidas)& Microsoft Searc* (Microsoft Searc*) o ?gente SQL Server (SQLS2RT2R?G2>@) Se "uede iniciar o detener el servicio seleccionado al "ulsar el bot$n a"ro"iado Si se *a seleccionado el servicio SQL Server& tambi(n se dis"one de la o"ci$n de detener el servicio 2l s+mbolo del c+rculo (ligeramente "or deba0o ' a la i#,uierda del centro de la ventana de di%logo) muestra el estado actual del servicio seleccionado Si SQL Server se encuentra en estado de "ausa& "ulsar 6niciar o continuar "ara reanudar el servicio ?l "oner en "ausa SQL Server se evita ,ue los usuarios inicien sesi$n ' da tiem"o "ara "edir a los usuarios ,ue terminen se traba0o ' terminen su sesi$n antes de detener el servidor Si se detiene SQL Server sin la "ausa& todos los "rocesos de servidor terminan inmediatamente Detener SQL Server evita nuevas cone5iones ' desconecta a los usuarios ,ue est(n conectados Mientras se e0ecuta el ?dministrador de servicios& la "antalla se actuali#a cada 5 segundos 8ara cambiar el intervalo de actuali#aci$n& "ulsar el "e,ue3o icono de la es,uina su"erior i#,uierda de la ventana de di%logo "ara des"legar el men4 Sistema ' elegir ;"ciones "ara mostrar la ventana de di%logo ;"ciones del ?dministrador de servicios de SQL Server 2n el cuadro 6ntervalo de sondeo se "uede es"ecificar un nuevo tiem"o de intervalo de sondeo "ara los servicios Si se selecciona la casilla de verificaci$n :om"robar acci$n de control del servicio& el ?dministrador de servicios verificar% cual,uier acci$n ,ue se realice "ara iniciar& detener o "oner en "ausa los servicios mediante una "regunta con un cuadro de di%logo Las configuraciones de intervalo de sondeo ' verificaci$n se a0ustar%n igual "ara cada uno de los cuatro servicios ota! "i los servicios "$% "erver ' el 1gente "$% "erver no se encuentran configurados para )ue se inicien automticamente se les debe iniciar de manera manual.
sistema 8ara iniciar autom%ticamente los servicios de SQL Server desde Servicios de =indo7s 2000 se *an de seguir los "asos siguientesB 8ulsar 6nicio& a"untar a 8rogramas& a"untar a Gerramientas administrativas ' a continuaci$n elegir Servicios "ara iniciar Servicios
Des"la#arse *acia aba0o en el cuadro de lista de Servicios "ara encontrar :oordinador de transacciones distribuidas& Microsoft Searc*& MSSQLS2RT2R o SQLS2RT2R?G2>@ 8ulsar con el bot$n derec*o el servicio "ara el ,ue se ,uiera configurar la o"ci$n de inicio ' elegir 8ro"iedades del men4 de conte5to "ara mostrar la ventana 8ro"iedades D 2n la lista de o"ciones des"legable @i"o de inicio& seleccionar ?utom%tico& Manual o Des*abilitado ?l seleccionar ?utom%tico se *ar% ,ue el servicio se inicie autom%ticamente cada ve# ,ue se inicie el sistema ?l seleccionar Manual se re,uerir% ,ue se inicie el servicio manualmente cuando ,uiera usarse ?l seleccionar Des*abilitar se evitar% ,ue ese servicio se inicie& tanto autom%tica como manualmente 8ulsar ?ce"tar "ara guardar la configuraci$n A Ga' tres "esta3as m%s en la ventana 8ro"iedades La "esta3a 6niciar sesi$n "ermite es"ecificar la cuenta con ,ue el servicio seleccionado debe iniciar sesi$n La "esta3a Recu"eraci$n "ermite configurar o"ciones ,ue deben ocurrir si el servicio seleccionado falla La "esta3a De"endencias muestra de ,u( servicios de"ende ' ,u( servicios de"enden del servicio seleccionado& si los *a' 8or e0em"lo& el servicio ?gente SQL Server de"ende del servicio SQL Server 2l servicio ?gente SQL Server no "uede inciarse si e- servicio SQL Server se encuentra detenido
La lista siguiente describe cuatro tareas ,ue "ueden reali#arse mediante la utili#aci$n del ?dministrador cor"orativo Se deben reali#ar estas tareas antes de comen#ar a utili#ar la instalaci$n de SQL Server "or "rimera ve# F C"ea" ) /")&% $e se"#i$%"es+ Mediante la creaci$n de un gru"o de servidores se "uede restringir el acceso a la informaci$n a 4nicamente ese gru"o Las cuentas con necesidades de recursos similares "ueden ' deber+an reunirse en gru"os "ara sim"lificar la gesti$n de cuentas F Re/ist"a" el se"#i$%"+ Debe registrarse el servidor con MM: antes de "oder em"e#ar a administrarlo F Acce$e" al se"#i$%"+ !na ve# ,ue se *a registrado el servidor& se "ueden ver ' configurar varias "ro"iedades Si se tiene un entorno multiservidor& se "uede utili#ar el ?dministrador cor"orativo "ara administrar ' configurar los servidores desde un 4nico lugar F Cam*ia" la c% t"ase:a $e a$mi ist"a$%" $e sistema &"e$ete"mi a$a ?l instalar SQL Server& la cuenta de administrador de sistema "redeterminada se configura sin contrase3a Se debe es"ecificar una contrase3a antes de comen#ar a usar SQL Server
2scribir un nombre "ara el nuevo gru"o de servidores en la ventana de di%logo Gru"os de servidores ,ue a"arece Si se "ulsa en Subgru"o de& se "uede seleccionar el gru"o del ,ue el nuevo gru"o de servidores ser% subgru"o Si se "ulsa Gru"o de nivel su"erior& el nuevo gru"o de servidores ser% un gru"o de SQL Server de nivel su"erior& del mismo nivel ,ue Gru"o de SQL Server 8ulsar ?ce"tar "ara guardar el nuevo gru"o
?"arece la "antalla :om"letando el ?sistente "ara registro de servidor SQL Server 2l servidor de la lista ser% registrado Si se necesita reali#ar cual,uier cambio& "ulsar ?tr%s) de lo contrario& "ulsar 9inali#ar "ara terminar el "roceso de registro ?"arece la ventana de di%logo Registrar mensa0es de SQL Server& ,ue confirma ,ue el registro se finali#$ con (5ito 8ulsar :errar "ara cerrar esta ventana de di%logo
Acce$e" al se"#i$%"
!na ve# ,ue se *a'a registrado con (5ito el servidor utili#ando ?dministrador cor"orativo& se "uede acceder a todas sus "ro"iedades& bases de datos ' ob0etos 8ara ver las "ro"iedades ' ob0etos del servidor reci(n registrado& en "rimer lugar *a' ,ue e5"andir el gru"o de servidores en el "anel i#,uierdo de la ventana de ?dministrador cor"orativo ?"arece una lista de todos los servidores del gru"o ? continuaci$n e5"andir el nombre del servidor "ara ,ue se muestren todas sus "ro"iedades ' ob0etos
2 25"andir la car"eta Seguridad ' luego "ulsar en 6nicios de Sesi$n (Logins) "ara mostrar las cuentas de usuario de SQL Server en el "anel de la derec*a D 8ulsar el bot$n derec*o del rat$n en la cuenta de usuario sa ' elegir 8ro"iedades en el men4 de conte5to ,ue a"arece A 2scribir una contrase3a nueva en el cuadro de te5to :ontrase3a ' a continuaci$n "ulsar ?ce"tar "ara ,ue se muestre el cuadro de di%logo :onfirmar contrase3a 5 Tolver a escribir la contrase3a ' "ulsar ?ce"tar 2ste es un "aso im"ortante "ara asegurar la instalaci$n de SQL Server
A"c<i#%s
:omo 'a se *a mencionado& una base de datos de SQL Server est% com"uesta de un con0unto de arc*ivos del sistema o"erativo !n arc*ivo de base de datos "uede ser un arc*ivo de datos o bien un arc*ivo de registro Los arc*ivos de datos se usan "ara almacenar datos ' ob0etos como tablas& +ndices& vistas& desencadenadores ' "rocedimientos almacenados Ga' dos ti"os de arc*ivos de datosB "rinci"ales ' secundarios Los arc*ivos de registro sirven "ara almacenar solamente informaci$n del registro de transacciones 2l es"acio de registro se gestiona siem"re de manera se"arada del es"acio de datos ' nunca "uede formar "arte de un arc*ivos de datos @odas las bases de datos deben crearse con& al menos& un arc*ivos de datos ' un arc*ivo de registro& ' los arc*ivos no "ueden ser utili#ados "or m%s de una base de datos& esto es& las bases de datos no "ueden com"artir arc*ivos La lista siguiente describe los tres ti"os de arc*ivos ,ue "uede usar una base de datosB
A"c<i#% $e $at%s &"i ci&al+ !n arc*ivo de datos "rinci"al contiene toda la informaci$n de inicio "ara la base de datos ' sus tablas ' ob0etos de sistema ?"unta al resto de arc*ivo creados en la base de datos @ambi(n "uede almacenar tablas ' ob0etos definidos "or el usuario& "ero no tiene "or ,u( *acerlo :ada base de datos debe tener e5actamente un arc*ivo "rinci"al La e5tensi$n de arc*ivo recomendada es mdf
A"c<i#%s $e $at%s sec) $a"i%s+ Los arc*ivos de datos secundarios son o"cionales 8ueden contener datos ' ob0etos ,ue no se encuentren en el arc*ivo "rinci"al !na base de datos "odr+a no tener ning4n arc*ivo secundario si todos sus datos se encuentran en el arc*ivo "rinci"al Se "ueden tener cero& uno& o m4lti"les
arc*ivos secundarios ?lgunas bases de datos necesitan arc*ivos secundarios m4lti"les "ara "oder re"artir los datos entre discos se"arados La e5tensi$n de arc*ivo recomendada es ndf
A"c<i#%s $e "e/ist"% $e t"a sacci% es+ !n arc*ivo de registro de transacciones contiene toda la informaci$n de registro de transacciones utili#ada "ara recu"erar la base de datos @oda base de datos debe tener al menos un arc*ivo de registro ' "uede tener m4lti"les arc*ivos de registro La e5tensi$n de arc*ivo recomendada es ldf
ota! #l tama=o mximo para una base de datos de "$% "erver es de C2 terab'tes &90( para archivos de datos ' 3 90 para archivos de registro.
!na base de datos sim"le "odr+a tener un arc*ivo de datos "rinci"al& ,ue sea suficientemente grande corno "ara contener todos los datos ' ob0etos ' un arc*ivo de registro de transacciones !na base de datos m%s com"le0a "odr+a tener un arc*ivo de datos "rinci"al& cinco arc*ivos de datos secundarios ' dos arc*ivos de registro de transacciones 2ntonces& Wc$mo "odr+an estar los datos re"artidos entre todos los arc*ivos de datosX La res"uesta es ,ue se "ueden utili#ar gru"os de arc*ivos "ara ordenar los datos
G")&%s $e a"c<i#%s
Los gru"os de arc*ivos "ermiten agru"ar arc*ivos con "ro"$sitos administrativos ' de em"la#amiento de datos (Son similares a los segmentos de Microsoft SQL Server E 5 ' anteriores ) Los gru"os de arc*ivos "ueden me0orar el rendimiento de la base de datos "ermitiendo ,ue se cree una base de datos re"artida entre m4lti"les discos& m4lti"les controladoras de disco u sistemas R?6D Se "ueden crear tablas e +ndices en discos es"ec+ficos mediante el uso de gru"os de arc*ivos& "ermitiendo de esta manera dirigir la 21S de una cierta tabla o +ndice a discos& controladoras o con0untos de discos es"ec+ficos Ga' tres ti"os de gru"os de arc*ivos Las caracter+sticas "rinci"ales de estos gru"os de arc*ivos se resumen en la siguiente listaB
G")&% $e a"c<i#%s &"i ci&al+ :ontiene el arc*ivo de datos "rinci"al ' todos los otros arc*ivos ,ue no se *a'an "uesto en otro gru"o de arc*ivos Las tablas del sistema F,ue definen usuarios& ob0etos ' "ermisos "ara una base de datosF est%n asignadas al gru"o de arc*ivos "rinci"al de esa base de datos SQL Server crea autom%ticamente las tablas de sistema al crearse una base de datos
G")&%s $e a"c<i#%s $e-i i$%s &%" el )s)a"i%+ 6nclu'en cual,uier gru"o de arc*ivos creado "or el usuario mientras dura el "roceso de creaci$n (o cambio "osterior) de una base de datos !na tabla o un +ndice "uede ser creado "ara ser colocado en un gru"o de arc*ivos definido "or el usuario es"ec+fico
G")&% $e a"c<i#%s &"e$ete"mi a$%+ Guarda todas las "%ginas "ara las tablas e +ndices ,ue no tienen un gru"o de arc*ivos es"ecificado al crearse 2l gru"o de arc*ivos "redeterminado es& de manera "redeterminada& el gru"o de arc*ivos "rinci"al Los miembros de la funci$n de base de datos dbYo7ner "ueden conmutar la "ro"iedad de "redeterminado de un gru"o de arc*ivos a otro Solamente un gru"o de arc*ivos "uede ser "redeterminado en un momento dado Fnuevamente& si no *a' es"ecificado ning4n gru"o de arc*ivos "redeterminado& el gru"o de arc*ivos "rinci"al "ermanece como el "redeterminado autom%ticamente
8ara me0orar el rendimiento se "uede controlar la ubicaci$n de los datos mediante la creaci$n de tablas e +ndices en gru"os de arc*ivos diferentes 8or e0em"lo& "odr+a desearse "oner una tabla ,ue es utili#ada intensivamente en un gru"o de arc*ivos de un gru"o grande de discos (com"uesto de -0 unidades de disco& "or e0em"lo) ' "oner otra tabla ,ue se utili#a de una manera menos intensiva en otro gru"o de arc*ivos creado en un gru"o de discos distinto& m%s "e,ue3o (com"uesto de A unidades de disco& "or e0em"lo) ?s+& la tabla a la ,ue se accede m%s frecuentemente estar% re"artida en el n4mero ma'or de discos& "ermitiendo una 21S de disco con ma'or "aralelismo Si no se utili#a R?6D "ero se tienen m4lti"les unidades de disco a4n se "uede *acer uso de los gru"os de arc*ivos 8or e0em"lo& se "uede crear un arc*ivo diferente en cada unidad de disco& "oniendo cada arc*ivo en un gru"o definido "or el usuario distinto 2sto "ermite asignar cada tabla e +ndice en un gru"o de arc*ivos definido "or el usuario distinto (' en un disco es"ec+fico) mediante la designaci$n del gru"o de arc*ivos en el momento de crear la tabla o +ndice La figura siguiente muestra un orden de e0em"loB un arc*ivo de datos "rinci"al en el gru"o de arc*ivos "rinci"al en la unidad :& un arc*ivo de datos secundario en cada uno de los gru"os de arc*ivos definidos "or el usuario (9G- ' 9G2) en las unidades 2 ' 9 ' un arc*ivo de registro en la unidad G ? continuaci$n se "ueden crear tablas e +ndices en cual,uiera de los gru"os de arc*ivos definidos "or el usuarioB D/E o D/2.
0 "odr+a usarse un gru"o de arc*ivos definido "or el usuario "ara re"artir los datos entre varios discos La figura siguiente muestra un gru"o de arc*ivos definido "or el
usuario (9G-) ,ue inclu'e dos arc*ivos de datos secundarios& uno en la unidad 2 ' otro en la unidad 9 (con el arc*ivo de registro en la unidad G ' el arc*ivo "rinci"al en la unidad :) >uevamente& en este caso& se su"one ,ue cada arc*ivo de la base de datos se crea en una 4nica unidad de disco f+sica) no *a' *ard7are R?6D im"licado Las tablas e +ndices ,ue se creen en el gru"o de arc*ivos definido "or el usuario se re"artir%n entre los dos discos& como resultado de la estrategia de relleno "ro"orcional de SQL Server
Si se utili#a un sistema R?6D "odr+a necesitarse re"artir los datos de una tabla m%s grande de lo normal entre m4lti"les dis"osiciones l$gicas de discos configuradas en dos o m%s controladoras R?6D 2sto se *ace creando un gru"o de arc*ivos definido "or el usuario ,ue inclu'a un arc*ivo en cada una de esas controladoras Su"$ngase ,ue se *an creado dos arc*ivos de datos secundarios& cada uno de ellos en una dis"osici$n de discos diferente& con cada dis"osici$n com"uesta de oc*o discos f+sicos ' configurada con R?6D 5 Las dos dis"osiciones se encuentran en controladoras R?6D distintas 8ara crear una tabla o un +ndice re"artido entre las dos controladoras (esto es& entre las -E unidades de disco) se debe definir un 4nico gru"o de arc*ivos definido "or el usuario en el ,ue se colo,uen los dos arc*ivos& ' a continuaci$n crear la tabla o +ndice en ese gru"o de arc*ivos La figura siguiente muestra el gru"o de arc*ivos definido "or el usuario& (9G-) ,ue abarca -E discos f+sicos& o dos dis"osiciones l$gicas de discos R?6D @ambi(n muestra el arc*ivos de datos "rinci"al en otra controladora (con R?6D -) ' el arc*ivo de registro en otra controladora m%s (con R?6D -0) SQL Server "ermite distribuir de manera $"tima los datos entre unidades de disco "or,ue secciona& o re"arte& autom%ticamente los datos de manera "ro"orcional entre todos los arc*ivos de un gru"o de arc*ivos KDistribuci$n en con0untos de bandasL es el t(rmino utili#ado "ara describir la distribuci$n de datos entre m%s de un arc*ivo de base de datos La distribuci$n de arc*ivos de SQL Server es inde"endiente de la distribuci$n en con0untos de bandas "ara discos R?6D& ' "uede usarse solo o 0unto con R?6D& como se *a visto en los e0em"los anteriores
8ara distribuir los datos& SQL Server escribe datos en un arc*ivo en una cantidad "ro"orcional al es"acio libre en ese arc*ivo com"arado con el es"acio libre en otros arc*ivos 2l es"acio se asigna a las tablas e +ndices en e5tensiones !na e5tensi$n es una unidad de / "%ginas& ' cada "%gina es de / Nilob'tes (I)& ,ue *acen un total de EAI "or e5tensi$n 8or e0em"lo& si se necesitan asignar cinco e5tensiones entre el arc*ivo 9-& ,ue tiene A00 megab'tes (MB) libres ' el arc*ivo 92 ,ue tiene -00 MB libres& cuatro e5tensiones se asignan a 9- ' una se asigna a 92 ?mbos arc*ivos se llenar%n m%s o menos al mismo tiem"o& lo ,ue "ermite una me0or distribuci$n de 21S entre los discos Se dar% distribuci$n "ro"orcional si los arc*ivos 9- ' 92 est%n en un gru"o de arc*ivos definido "or el usuario o en el gru"o de arc*ivos "rinci"al Si todos los arc*ivos de un gru"o de arc*ivos se definen con el mismo tama3o inicial& los datos se re"artir%n a "artes iguales entre los arc*ivos a medida ,ue se cargan 2ste m(todo de crear los arc*ivos con el mismo tama3o inicial en un gru"o de arc*ivos es el recomendado "ara distribuir los datos a "artes iguales entre las unidades& "ara intentar conseguir 21S tambi(n distribuida a "artes iguales ;tro beneficio de la utili#aci$n de gru"os de arc*ivos es ,ue SQL "ermite reali#ar co"ia seguridad de la base de datos basadas en un arc*ivo o gru"o de arc*ivos Si la base de datos es demasiado grande como "ara *acer co"ia de seguridad de toda ella de una sola ve#& se "uede *acer co"ia de seguridad de s$lo ciertas "artes
Se debe tener una estrategia bien desarrollada "ara el uso de arc*ivos ' gru"os de arc*ivos antes de crear la base de datos 8ara ello se deben conocer las siguientes reglas de SQL Server 2000B Los arc*ivos ' gru"os de arc*ivos no "ueden ser usados "or m%s de una base de datos !n arc*ivo s$lo "uede ser miembro de un gru"o de arc*ivos
Los datos ' la informaci$n del registro de transacciones no "ueden formar "arte del mismo arc*ivo 2l es"acio de registro siem"re se gestiona de manera se"arada del es"acio de datos Los arc*ivos de registro de transacciones no son nunca "arte de un gru"o de arc*ivos !na ve# se crea un arc*ivo como "arte de una base de datos& no "uede moverse a otro gru"o de arc*ivos Si se ,uiere mover un arc*ivo& *a' ,ue borrarlo ' volverlo a crear
?dem%s de estas reglas& *a' modos es"ec+ficos de uso de arc*ivos ' gru"os de arc*ivos ,ue a'udan a dise3ar la base de datosB La ma'or+a de las bases de datos funcionar%n correctamente con s$lo un arc*ivo de datos "rinci"al ' un arc*ivo de registro de transacciones 2ste es el dise3o recomendado "ara bases de datos ,ue no *acen un uso "articularmente intenso de la 21S Si se tiene un sistema con una utili#aci$n intensiva de la 21S ,ue re,uiera muc*as unidades de disco& "robablemente se desee utili#ar gru"os de arc*ivos definidos "or el usuario ,ue re"artan los datos entre discos o dis"osiciones de discos "ara me0orar el rendimiento de la 21S "aralela :olocar los arc*ivos de registro siem"re en discos distintos de los discos ,ue contengan arc*ivos de datos& tal ' como mencion$ anteriormente Si se necesita usar arc*ivos de datos m4lti"les& utili#ar el arc*ivo de datos "rinci"al solamente "ara las tablas ' ob0etos del sistema& ' crear uno o m%s arc*ivos de datos secundarios "ara los datos ' ob0etos del usuario :rear los arc*ivos ' gru"os de arc*ivos entre tantos discos f+sicos como *a'a dis"onibles "ara "ermitir una ma'or cantidad de 21S de disco "aralela ' ma5imi#ar el rendimiento :olocar los +ndices no agru"ados "ara tablas utili#adas intensivamente en un gru"o de arc*ivos se"arado en discos f+sicos diferentes de los discos ,ue contengan los datos de la tabla en s+ 2sta t(cnica tambi(n "ermite 21S de disco "aralela
8oner las tablas diferentes ,ue se usen en una misma consulta en discos f+sicos diferentes& si es "osible& "ara "ermitir 21S "aralela de disco mientras el motor de b4s,ueda encuentra los datos
2l tama3o m%5imo de arc*ivo es sim"lemente eso Fel tama3o m%5imo *asta el ,ue se "ermite crecer a un arc*ivo 2ste valor tambi(n se es"ecifica en la creaci$n de un arc*ivo "ero se "uede revisar "osteriormente utili#ando el ?dministrador cor"orativo o el comando ?L@2R D?@?B?S2 Si no se fi0a un tama3o m%5imo "ara un arc*ivo& SQL Server continuar% *aciendo crecer al arc*ivo *asta ,ue se llene todo el es"acio de disco 8ara evitar ,ue se termine el es"acio de disco ' ,ue SQL Server reciba errores *a' ,ue fi0ar un tama3o m%5imo "ara cada arc*ivo Si alguna ve# un arc*ivo alcan#a su tama3o m%5imo& se "uede incrementar el tama3o m%5imo mediante el uso de la sentencia ?L@2R D?@?B?S2 o se "uede crear otro arc*ivo en el mismo disco si a4n *a' es"acio en ese disco o en un disco distinto Ga' ,ue asegurarse de ,ue el nuevo arc*ivo est( en el mismo gru"o de arc*ivos ,ue el arc*ivo original Si se "ermite a un arc*ivo crecer sin restricciones (,ue es lo "redeterminado) *asta ,ue se utilice todo el es"acio de disco dis"onible& *abr% ,ue crear un arc*ivo en otro disco ,ue tenga es"acio libre 8or norma& deber+a utili#arse crecimiento autom%tico de arc*ivos ' tama3os de arc*ivo m%5imos 6ncluso aun,ue se encuentre dis"onible el crecimiento autom%tico de arc*ivos& a4n se deber+a su"ervisar el crecimiento de la base de datos regularmente F,ui#%s diaria o semanalmente "ara unos registros "ro"ios Se "uede mantener la informaci$n de crecimiento en una *o0a de c%lculo& "or e0em"lo :on esta informaci$n se "uede e5tra"olar
"ara estimar cu%nto es"acio en disco se va a necesitar "ara el mes ,ue viene& el a3o ,ue viene& los "r$5imos cinco a3os& etc Mediante la su"ervisi$n del es"acio se deber+a conocer ,u( arc*ivos *an e5"erimentado crecimiento autom%tico ' cu%ndo o si se deber+a alterar la base de datos "ara a3adir m%s arc*ivos 2sta evaluaci$n continua del es"acio a'udar% a evitar el alcan#ar el tama3o m%5imo de arc*ivo o el utili#ar todo el es"acio en disco dis"onible
Maste"+ Registra la informaci$n a escala de sistema& la informaci$n de iniciali#aci$n de SQL Server ' los "ar%metros de configuraci$n de SQL Server 2sta base de datos tambi(n registra todas las cuentas de inicio de sesi$n& la e5istencia de todas las dem%s bases de datos ' la "osici$n del arc*ivo "rinci"al de todas las bases de datos de usuario Siem"re se debe mantener una co"ia de seguridad reciente de la base de datos master
Tem&$*+ ?lberga tablas ' "rocedimientos almacenados tem"orales 2sta base de datos tambi(n se utili#a "ara otras necesidades de almacenamiento tem"orales de SQL Server& "or e0em"lo "ara la ordenaci$n de datos Se vuelve a crear una co"ia lim"ia de la base de datos tem"db cada ve# ,ue se inicia SQL Server Seguidamente crece de manera autom%tica& seg4n va'a siendo necesario Si se necesita una gran cantidad de es"acio tem"db& se "uede aumentar el tama3o "redeterminado de la base de datos mediante el uso del comando ?L@2R D?@?B?S2
M%$el+ Sirve como "lantilla "ara todas las dem%s bases de datos ,ue se creen en el sistema& entre ellas tem"db :uando se crea una base de datos& la "rimera "arte de ella se crea como una co"ia de los contenidos de la base de datos model 2l resto de la base de datos se rellena con "%ginas vac+as La base de datos model debe e5istir en el sistema "or,ue se utili#a "ara volver a crear tem"db cada ve# ,ue SQL Server se inicia Se "uede alterar la base de datos model "ara ,ue inclu'a ti"os de datos& tablas& etc & definidos "or el usuario Si se altera la base de datos model& cada base de datos ,ue se cree tendr% los atributos modificados
Ms$*+ :ontiene tablas ,ue el ?gente de SQL Server utili#a "ara la "lanificaci$n de traba0os ' alertas ' "ara el registro de o"eradores 2sta base de datos tambi(n alberga las tablas ,ue se usan "ara la du"licaci$n
:ada una de estas bases de datos del sistema tiene sus "ro"ios arc*ivo de datos "rinci"al ' arc*ivo de registro Las bases de datos se almacenan en la car"eta ,ue se design$ "ara arc*ivos del sistema durante la instalaci$n de SQL Server
2 D
2 8ulsar dos veces en el ?sistente "ara creaci$n de bases de datos "ara iniciar el ?sistente "ara creaci$n de bases de datos D 8ulsar Siguiente "ara "asar a la "antalla Dar nombre a la base de datos ' es"ecificar su ubicaci$n 2scribir el nombre de la base de datos ,ue se ,uiere crear ' las rutas de las "osiciones donde se ,uieren almacenar los arc*ivos de datos ' los arc*ivos de registro 2stas "osiciones deben contener una unidad v%lida ' una car"eta ,ue 'a e5ista en el sistema local Si se "ulsa el bot$n "ara e5aminar Q R a la derec*a de uno de los cuadros de te5to inferiores se "uede buscar ' seleccionar una car"eta !na ve# se *a'a nombrado la base de datos ' locali#ado la ruta en ,ue deben estar los arc*ivos de datos ' registro& "ulsar Siguiente "ara continuar
A Se muestra la "antalla Dar nombre a los arc*ivos de base de datos 2n esta "antalla se "uede escribir el nombre ' tama3o inicial "ara cada uno de los arc*ivos de base de datos 2l arc*ivo "rinci"al de la base de datos se crea autom%ticamente ' se le da el nombre de la base de datos como "refi0o en su nombre Se "uede ace"tar este nombre o escribir uno diferente 2l arc*ivo de datos "rinci"al tiene una e5tensi$n mdf Si se tiene idea de c$mo de grandes ser%n los arc*ivos de la base de datos& escribir un valor de tama3o inicial a*ora De otro modo& de0ar el tama3o "redeterminado) se "uede modificar m%s tarde utili#ando el ?dministrador cor"orativo o el comando ?L@2R D?@?B?S2 :uales,uiera arc*ivos ,ue se creen a"arte del arc*ivo "rimero o "rinci"al ser%n arc*ivos secundarios ' se les dar% autom%ticamente la e5tensi$n ndf @odos los arc*ivos creados a,u+ ser%n colocados en el gru"o de arc*ivos "rinci"al >o *a' o"ci$n "ara crear gru"os de arc*ivos definidos "or el usuario con el ?sistente "ara creaci$n de bases de datos 2n el e0em"lo& se de0a el arc*ivo "rinci"al& MiBDYData& ' se a3ade un arc*ivo secundario& MiBDYData2 ?mbos arc*ivos ser%n colocados en el mismo lugar ,ue se es"ecific$ en el "aso D (>o se debe continuar s+ no se desea "oner todos los arc*ivos de datos en la misma unidad ' la misma car"eta 8or el contrario& deber%
utili#arse uno de los otros m(todos ,ue se muestran en las secciones siguientes "ara crear una base de datos ) 8ulsar Siguiente "ara continuar
5 Se muestra la "antalla Definir el crecimiento del arc*ivo de base de datos :omo se *a mencionado antes en este ca"+tulo& SQL Server "uede aumentar autom%ticamente el tama3o de la base de datos seg4n se necesite& lo cual a'uda a reducir la sobrecarga de mantenimiento 2n general& se deber+a seleccionar la caracter+stica de crecimiento autom%tico (:recimiento autom%tico de arc*ivos de base de datos) "or,ue im"lica "oca sobrecarga de rendimiento de otra forma& se necesitar% a0ustar manualmente el tama3o de la base de datos seg4n sea necesario Si se "ulsa :recimiento autom%tico de arc*ivos de base de datos se "uede es"ecificar la manera en ,ue el arc*ivo de base de datos deber% aumentarB bien en fragmentos de un n4mero fi0o de megab'tes o seg4n un "orcenta0e del tama3o actual Debe tenerse en cuenta ,ue el arc*ivo de base de datos crecer% s$lo seg4n se necesite @ambi(n se "uede restringir la base de datos a un tama3o m%5imo o de0arla crecer sin restricciones Las configuraciones de esta "antalla se a"licar%n a cada arc*ivo de base de datos ,ue se creara en el "aso A >o se "uede utili#ar el ?sistente "ara creaci$n de bases de datos "ara configurar "ar%metros de crecimiento "ara arc*ivos individuales 8ulsar Siguiente "ara continuar
E ?"arece la "antalla Dar nombre a los arc*ivos del registro de transacciones 2sta "antalla "arece igual a la "antalla Dar nombre a los arc*ivos de base de datos& "ero esta versi$n es "ara el arc*ivo de registro Ga de tenerse cuidado de no confundir las "antallas @al ' como se *i#o en el "aso A "ara los arc*ivos de base de datos& escribir el nombre ' tama3o inicial "ara el registro de transacciones (Recu(rdese ,ue un registro de transacciones contiene una grabaci$n de todas las modificaciones de la base de datos "ara "osibilitar la recu"eraci$n en caso de un fallo de sistema ) 2l "rimer arc*ivo de registro de transacciones se crea autom%ticamente ' se le da el nombre de la base de datos como "refi0o de su nombre Se "uede ace"tar este nombre o escribir uno distinto Los datos del registro de transacciones se almacenan en un arc*ivo con la e5tensi$n 6df Se "uede a3adir m%s arc*ivos de registro en unidades diferentes si es necesario Si se tiene idea del tama3o ,ue tendr% el arc*ivo de transacciones& escribir un valor a*ora De otra manera& de0ar el tama3o "redeterminado) se "uede modificar "osteriormente utili#ando el ?dministrador cor"orativo o el comando ?L@2R D?@?B?S2 8ulsar Siguiente "ara continuar C Se muestra la "antalla Definir el crecimiento del arc*ivo de registro de transacciones 2sta "antalla "arece igual ,ue la "antalla Definir el crecimiento del arc*ivo de base de datos De igual modo ,ue en el "aso 5& se "uede seleccionar :recimiento autom%tico de arc*ivos de registro de transacciones '& si se desea& se "uede es"ecificar los "ar%metros de crecimiento ' el tama3o m%5imo de arc*ivo 8ulsar Siguiente "ara continuar / ?"arece la "antalla :om"letando el ?sistente "ara creaci$n de bases de datos Revisar la informaci$n ,ue se *a es"ecificado "ara la nueva base de datos Si es ace"table& "ulsar 9inali#ar "ara terminar la creaci$n de la base de datos) de lo contrario& "ulsar ?tr%s ' *acer cual,uier cambio necesario
. !na ve# se *a creado la base de datos& a"arece un cuadro de mensa0e ?sistente "ara creaci$n de bases de datos "ara informar ,ue la base de datos se *a creado correctamente 8ulsar ?ce"tar "ara cerrar este cuadro de mensa0e -0 ?"arece otro cuadro de mensa0e& ,ue "regunta si se ,uiere crear un "lan de mantenimiento "ara la nueva base de datos Se recomienda crear un "lan de mantenimiento "ara asegurarse de ,ue la base de datos tenga un com"ortamiento correcto& se *aga co"ia de seguridad regularmente "or si *a' fallo del sistema ' sea verificada contra inconsistencias
D 8ulsar la "esta3a ?rc*ivos de datos :omo se muestra en la figura siguiente& el ?dministrador cor"orativo crea autom%ticamente el arc*ivo de datos "rinci"al& con el nombre de la base de datos como "refi0o ' 8R6M?RZ como gru"o de arc*ivos Se "uede cambiar el nombre& "osici$n ' tama3o del arc*ivo "rinci"al& "ero no se "uede cambiar el gru"o de arc*ivos del arc*ivo de datos "rinci"al 2scribir el nombre de arc*ivo (nombre l$gico)& ubicaci$n (nombre f+sico)& tama3o ' gru"o de arc*ivos de cada arc*ivo ,ue se desee crear 8ara cada arc*ivo distinto del arc*ivo "rinci"al se "uede escribir un nombre de gru"o de arc*ivos definido "or el usuario& ' dic*o gru"o de arc*ivos ser% creado 2n el e0em"lo& se crea el arc*ivo de datos secundario MiBDYData2 en el gru"o de arc*ivos MiY9G La ubicaci$n de cada arc*ivo es de manera "redeterminada la car"eta en la unidad en ,ue SQL Server est% instalado Se "uede cambiar esta configuraci$n escribiendo una nueva ruta o mediante el uso del bot$n de e5aminar
2n el %rea 8ro"iedades de arc*ivo en la "arte ba0a de la ventana se "ueden seleccionar las o"ciones de crecimiento autom%tico seg4n cada arc*ivo Seleccionar el nombre del arc*ivo "ara el ,ue se ,uiera configurar las o"ciones de crecimiento Seleccionar la casilla de verificaci$n :recimiento autom%tico del arc*ivo "ara *abilitar el crecimiento autom%tico "ara ese arc*ivo ? continuaci$n se "uede es"ecificar el incremento de crecimiento en megab'tes o como "orcenta0e del es"acio libre restante en el arc*ivo @ambi(n se "uede es"ecificar un tama3o m%5imo de arc*ivo "ulsando Limitar crecimiento de arc*ivo a (MB) e introducir un tama3o en megab'tes o se "uede de0ar el tama3o del arc*ivo sin limitar Se "uede configurar estas o"ciones a medida ,ue se crea cada arc*ivo o se "ueden de0ar los
valores "redeterminados ' cambiarlos "osteriormente mediante la ventana 8ro"iedades de la base de datos de ?dministrador de arc*ivos Si se necesita borrar un arc*ivo de la lista& seleccionar el nombre de ese arc*ivo ' "resionar la tecla Su"rimir 5 @ras terminar la configuraci$n de todos los arc*ivos de datos& "ulsar la "esta3a Registro de transacciones de la ventana 8ro"iedades de la base de datos "ara configurar los arc*ivos del registro de transacciones Los arc*ivos de registro se configuran de la misma manera ,ue los arc*ivos de datos& e5ce"to ,ue no se "uede seleccionar un gru"o de arc*ivos "ara los arc*ivos de registro dado ,ue (stos no "ertenecen a ning4n gru"o de arc*ivos 2scribir el nombre de arc*ivo (nombre l$gico)& la ubicaci$n (nombre f+sico) ' el tama3o inicial del arc*ivo o los arc*ivos de registro Ga' ,ue elegir tambi(n las o"ciones de crecimiento autom%tico "ara los arc*ivos de registro como se *a descrito en el "aso A "ara arc*ivos de datos E !na ve# se *a'an definido tantos arc*ivos como se desee& "ulsar ?ce"tar SQL Server crear% la base de datos Tolver al ?dministrador cor"orativo ' "ulsar la car"eta Bases de datos del servidor al ,ue se *a a3adido la base de datos 2n el "anel derec*o del ?dministrador cor"orativo se ver% ,ue SQL Server *a a3adido un icono "ara esa base de datos
2n alg4n momento se "uede ,uerer ,uitar una base de datos Ga' ,ue recordar ,ue esto es una calle de direcci$n 4nica Funa ve# ,ue se borra una base de datos& la 4nica manera de recu"erarla es restaurar una versi$n de co"ia de seguridad 2s m%s seguro& "or tanto& *acer co"ia de seguridad de la base de datos antes de borrarla& s$lo "or si acaso se "ueda volver a necesitarla m%s tarde Se "uede borrar una base de datos utili#ando ?dministrador cor"orativo o comandos @FSQL
8ulsar con el bot$n derec*o del rat$n en el nombre de la base de datos ,ue se ,uiere eliminar '& a continuaci$n& elegir 2liminar en el men4 de conte5to ?"arece el cuadro de mensa0e 2liminar base de datos 8regunta si se ,uiere eliminar el *istorial de co"ia de seguridad ' recu"eraci$n de la base de datos& as+ como borrar la base de datos Si se selecciona esta o"ci$n& toda la informaci$n de co"ia de seguF ridad ' recu"eraci$n de las tablas de *istorial de co"ia de seguridad ' recu"eraci$n ,ue reside en la base de datos msdb ser% borrada Si se ,uiere guardar esta informaci$n& ,uitar la selecci$n de la casilla de verificaci$n 8ulsar S+ "ara confirmar el borrado
@ras borrar una base de datos se deber+a *acer una nueva co"ia de seguridad de la base de datos master& de manera ,ue contenga la informaci$n actual acerca de bases de datos de usuario ' no inclu'a informaci$n sobre la base de datos ,ue acaba de ser eliminada ?dvi(rtase tambi(n ,ue una base de datos no "uede borrarse mientras *a'a usuarios accediendo a ella @odos los usuarios deben desconectar de una base de datos antes de ,ue sea eliminada
restricciones "odr+an necesitarse& d$nde "odr+an ser 4tiles valores "redeterminados ' m%s cosas ? continuaci$n se abordar% el a"rendi#a0e de la creaci$n tablas desde sus cimientos
8ara definir una tabla se debe decidir ,u( columnas definir ' ,u( ti"o de datos& como "or e0em"lo datos de caracteres o num(ricos& se "ermite ,ue *a'a en cada columna @ambi(n se debe decidir sobre un rango "ermisible a esos datos F"or e0em"lo& "odr+a decidirse "ermitir *asta D0 caracteres o n4meros de A b'tes 2stos atributos se es"ecifican mediante la asignaci$n a cada columna de un ti"o de datos& ,ue es un con0unto de atributos ,ue determinan ,u( ti"o ' rango de datos "uede albergar esa columna SQL Server "ro"orciona algunos ti"os de datos de sistema ,ue "ueden utili#arse& o se "ueden crear unos "ro"ios constru'(ndolos sobre los ti"os del sistema (>o se "uede cambiar un ti"o de datos del sistema& "ero se "uede crear un ti"o com"letamente nuevo ) Utili6aci. $e ti&%s $e $at%s $el sistema
:omo se *a mencionado& se es"ecifica un ti"o de datos "ara cada columna de una tabla La asignaci$n de un ti"o de datos a una columna fi0a los siguientes atributosB F La clase de datos ,ue la columna "uede contener& como caracteres& enteros o im%genes F 2l tama3o o longitud de los datos de una columna
F La "recisi$n del n4mero (s$lo "ara ti"os num(ricos) Festo es& el n4mero de d+gitos ,ue "uede contener un n4mero F La escala del n4mero (s$lo "ara ti"os num(ricos) Festo es& el n4mero de d+gitos ,ue "ueden almacenarse a la derec*a del "unto decimal
Los ti"os de datos tambi(n afectan a las columnas en las vistas& a los "ar%metros en los "rocedimientos almacenados& a las variables ' a las funciones @FSQL ,ue devuelven uno o m%s valores de datos Los ti"os de datos integrados ,ue ofrece SQL Server se definen en la tabla siguiente SQL Server 2000 introduce tres ti"os de datosB bigint& s,lYvariant ' table (:on "ocas e5ce"ciones& e5"uestas en esta tabla& se utili#an los mismos ti"os de datos "ara todos los ob0etos mencionados )
Ti&% $e $at%s bigint binar' Q(n)R Desc"i&ci. !n n4mero entero de / b'tes Datos binarios de longitud fi0a de n b'tes& donde n es un valor de - a /000 Ga' ,ue usar binar' cuando las entradas de datos de una columna se su"ongan "r$5imas al mismo tama3o 9ipo de datos entero ,ue "uede tomar los valores -& 0 o -%%. Las columnas de bits no "ueden tener +ndices en ellas Tama:% $e almace amie t% / b'tes n F 3 b'tes
bit
- b'te "ara una tabla con columnas de *asta / bits& 2 b'tes "ara una tabla con columnas de entre . ' -E bits& ' as+ sucesivamente n b'tes >o a"licable / b'tes De 5 a -C b'tes& de"endiendo de la "recisi$n
Datos de caracteres no !nicode de tama3o fi0o con longitud de n caracteres& donde n es un valor de - a /000 !na referencia a un cursor S$lo "uede usarse "ara variables ' "ar%metros de "rocedimientos almacenados Datos de fec*a ' *ora desde el - de enero de -C5D al Dde diciembre de ....& con una "recisi$n de D&DD milisegundos
decimal G&p, GsH(H o >4meros de "recisi$n ' escala fi0as (2l ti"o de datos numeI numeric G&p, GsH(H ric es sin$nimo de decimal.( La "recisi$n (") es"ecifica el n4mero total de d+gitos ,ue "ueden almacenarse& tanto a la i#,uierda como a la derec*a del "unto decimal La escala (s) es"ecifica el n4mero m%5imo de d+gitos ,ue "ueden alma cenarse a la derec*a del "unto decimal La escala debe ser menor o igual ,ue la "recisi$n La "recisi$n m+nima es -& ' la "recisi$n m%5ima es 2/ a no ser ,ue se inicie SQL Server con el "ar%metro F"& en cu'o caso la "recisi$n "uede ser
*asta D/ float G&n(H Datos num(ricos de "recisi$n flotante ,ue "ueden alcan#ar desde F-& C.2<D0/ *asta -& C.2<D0/ 2l valor n es el n4meF ro de bits utili#ados "ara almacenar la mantisa del n4mero de coma flotante ' "uede variar entre - ' 5D !tili#ado "ara datos binarios de longitud variable ma'or de /000 b'tes& con un m%5imo de 2\D- - b'tes !na entrada en una columna image es un "untero a la "osici$n del valor de los datos image Los datos se almacenan de manera se"aF rada de los datos de la tabla Datos de un n4mero entero desde F2--D- (F2 -AC A/D EA/) *asta 2\D- F - (2 -AC A/D EAC) Talores de datos monetarios entre F2--ED (F.22 DDC 20D E/5 ACC&5/0/) ' 2\ED F (.22 DDC 20D E/5 ACC&5/0C)& con e5actitud *asta la die#miF l(sima de una unidad monetaria Datos de caracteres !nicode de longitud fi0a de n caracteF res& donde n es un valor entre - ' A000 Los caracteres !nicode usan 2 b'tes "or car%cter ' "ueden so"ortar todos los caracteres internacionales Datos !nicode de longitud variable con un m%5imo de 2FD0 S - (- 0CD CA- /2D) caracteres La entrada en la columna ntext es un "untero a la "osici$n de los datos 2l dato se almacena de manera se"arada de los datos de la tabla Datos !nicode de longitud variable de n caracteres& donde n es un valor entre - ' A000 Recu(rdese ,ue los caracteres !nicode usan 2 b'tes "or car%cter ' "ueden so"ortar todos los caracteres internacionales Datos num(ricos de "recisi$n flotante ,ue "ueden variar entre FD&A02<D/ ' D&A02<D/ 2l sin$nimo del ti"o real es float (2A) Datos de fec*a ' *ora desde el - de enero de -.00 *asta el E de 0unio de 20C.& con e5actitud *asta el minuto (menos "reciso ,ue el ti"o de datos datetime(. Datos enteros entre I2JE; K C2.L2.( *asta 2JE; K E &C2.L2L(. Talores de datos monetarios desde I2E3.L3.,C23. *asta 2E3.L3.,C23L, con e5actitud de *asta una die#mil(sima de unidad monetaria 8ermite valores de diferentes ti"os de datos 2l valor del dato ' los datos ,ue describen ese valor Fsu ti"o de datos base& escala& "recisi$n& tama3o m%5imo e intercalaci$nF se almacenan en esta columna !n ti"o de datos definido "or el usuario de SQL Server es"ecial ' "ro"orcionado "or el sistema 2l ti"o de datos s'sname est% definido "or SQL Server como nvarchar &E2.(, lo cual significa ,ue "uede almacenar -2/ caracteres !nicode (o 25E b'tes) Ga' ,ue usar s'sname "ara columF nas ,ue almacenen nombres de ob0etos De A a / b'tes& de"endiendo de la "recisi$n
image
A b'tes / b'tes
nchar G&n(H
nte5t
-E b'tes "ara el "untero ' 2 b'tes 5 el n4mero de caracteres introducidos "ara los datos
nvarchar
real
A b'tes
smalldatetime
A b'tes
smallint smallmone'
2 b'tes A b'tes
s)l:variant
2l tama3o var+a
s'sname
25E b'tes
table
Similar a utili#ar una tabla tem"oral Fla declaraci$n incluF Tar+a seg4n la definici$n de la 'e una lista de columnas ' ti"os de datos 8uede utili#arse tabla "ara definir una variable local o "ara el valor de retorno de
una funci$n definida "or el usuario text !sado "ara datos de caracteres no !nicode de longitud variable ma'or ,ue /000 b'tes !na entrada en una columF na te5t "uede albergar *asta 2JCE K E caracteres 2s un "unF tero a la "osici$n del valor del dato 2l dato se almacena de manera se"arada de los datos de la tabla !na columna timestamp se actuali#a autom%ticamente cada ve# ,ue se inserta o actuali#a una fila :ada tabla "uede tener s$lo una columna timestamp. Datos enteros entre - ' 255 ?lmacena un valor binario de -E b'tes ,ue es un identificaF dor e5clusivo global (Globall' !ni,ue 6dentifier& G!6D) Datos binarios de longitud variable de n b'tes& donde n es un valor entre - ' /000. !sar varbinar' cuando se es"ere ,ue las entradas de datos en una columna var+en consideraF blemente en tama3o Datos de caracteres no !nicode de longitud variable de n caracteres m donde n es un valor entre - ' /000. -E b'tes "ara el "untero
timestamp
/ b'tes
varchar G&n(H
Selecci. $el ti&% $e $at%s a$ec)a$% La selecci$n del ti"o de datos adecuado "ara cada columna es im"ortante a la *ora de crear tablas Se desea ,ue est( "ermitido el rango de los valores ,ue se necesita almacenar en la columna& ' tambi(n se desea ,ue se rec*acen los valores ,ue no deber+an ser "ermitidos (como un valor de caracteres en una columna ,ue re,uiere un n4mero) Los ti"os de datos se encargar%n de esto Ga' dos "reguntas ,ue "ueden a'udar a guiarse al elegir ti"os de datosB F F W2s el ti"o de datos a"ro"iado "ara la clase de datos ,ue se necesita almacenarX WDebe usarse un ti"o de datos de longitud fi0a o variableX
La selecci$n del ti"o de datos a"ro"iado es un "roceso relativamente sencillo Los datos ,ue se va'an a introducir en una columna deben satisfacer al ti"o de datos es"ecificado "ara esa columna ?s+& se debe elegir el ti"o de datos ,ue cubra me0or el rango de valores ,ue la columna "ueda albergar a lo largo del tiem"o de vida de la a"licaci$n& al tiem"o ,ue limite la cantidad de es"acio des"erdiciado 2s"acio des"erdiciado es es"acio ,ue est% asignado a una columna "ero ,ue no se usa 8or e0em"lo& su"$ngase ,ue se tiene una columna ,ue s$lo necesitar% contener valores enteros en el rango de - a -00 2l ti"o de datos integer "ermitir+a ciertamente dic*os valores& "ero cada entero toma A b'tes de es"acio 2l ti"o de datos tin'int "ermite valores entre 0 ' 255& ' s$lo ocu"a - b'te de es"acio 2n este caso& tin'int ser+a la me0or elecci$n "or,ue a*orrar+a es"acio en disco al almacenar los datos de esa columna
? continuaci$n debe elegirse entre utili#ar ti"os de datos de longitud fi0a o variable Si todos los valores de una columna estuvieran cerca de un mismo tama3o& un ti"o de datos de longitud fi0a es m%s eficiente debido a la sobrecarga im"licada "or los ti"os de datos de longitud variable Generalmente& los ti"os de datos de longitud variable son a"ro"iados cuando se es"era una am"lia variaci$n en el tama3o de los datos almacenados en la columna ' cuando los datos de la columna no cambien con frecuencia Los ti"os de datos de longitud variable inclu'en varc*ar& nvarc*ar& varbinar'& te5t& nte5t e image 2l uso de ti"os de datos de longitud variable "uede redundar en significativos a*orros de es"acio de almacenamiento 8or e0em"lo& si se define un ti"o de datos de longitud fi0a ,ue sea suficientemente grande "ara almacenar el ma'or valor "osible en una columna& todos los valores m%s "e,ue3os de esa columna tomar%n tanto es"acio de almacenamiento como el ,ue toma el ma'or valor 2sto da como resultado un enorme des"erdicio de es"acio si s$lo un "e,ue3o "orcenta0e de filas se almacenan el valor m%s grande Si la ma'or+a de filas almacenan un valor m%s "e,ue3o& el es"acio adicional utili#ado "ara almacenar esos valores m%s "e,ue3os es es"acio des"erdiciado 8or otro lado& si se define un ti"o de datos de longitud variable& los valores menores tomar%n s$lo el es"acio ,ue necesiten 8ero& de nuevo& los ti"os de datos de longitud variable necesitan ma'or sobrecarga de "rocesamiento ?s+ ,ue si no se necesita el ti"o de longitud variable& me0or utili#ar longitud fi0a Si& de todos modos& tiene sentido utili#ar un ti"o de longitud variable "or los a*orros de es"acio& debe usarse 2ntonces& Wc$mo *acer elecciones sobre ti"os de datos ' tama3os "ara las tablasX S+ganse los conse0os "recedentes ' *%ganse las elecciones ,ue sean m%s a"ro"iadas a las necesidades de la a"licaci$n 2n general& se debe intentar no des"erdiciar es"acio al fi0ar las longitudes de las columnas ' no olvidar considerar necesidades futuras T"a*aB% c% ti&%s $e $at%s $e-i i$%s &%" el )s)a"i% Los ti"os de datos definidos "or el usuario& o ti"os de datos alias& son ti"os de datos del sistema ,ue se *an "ersonali#ado 8ersonali#ar& o definir& un ti"o de datos es 4til cuando se tienen varias tablas ,ue *an de almacenar el mismo ti"o de datos en una columna ' se desea asegurar ,ue las corres"ondientes columnas de cada tabla tendr%n e5actamente el mismo ti"o& longitud ' admisi$n de nulos Se "uede definir un ti"o de datos con un nombre descri"tivo "ara facilitar la "rogramaci$n ' consistencia Luego& "uede usarse el ti"o de datos al crear las distintas tablas 8or e0em"lo& su"$ngase ,ue se tiene otra tabla Fllamada MarcasF en la misma base de datos en ,ue est% 6nfoY8roductos La tabla Marcas tendr% una columna 6DYMarca ,ue se corres"onde con la columna 6DYMarca de la tabla 6nfoY8roductos ' la tabla Marcas "ro"orcionar% el nombre de la marca ' otras informaciones convenientes acerca de las marcas 8ara asegurar ,ue las columnas 6DYMarca de las dos tablas tengan el mismo ti"o de datos ' no "ermitan valores >!LL "odr+a crearse un ti"o de datos definido "or el usuario ' asignarlo a ambas columnas ?*ora& cabe imaginar ,ue se tienen varias tablas con columnas ,ue necesitan tener los mismos atributos 8odr+a no recordarse si se utili#$
smallint o tin'int "ara a,uella columna de una tabla o si se "ermit+an valores >!LL Si se *ubiera definido un ti"o de datos con un nombre descri"tivo no *abr+a ,ue "reocu"arse sobre los atributos cada ve# ,ue se usara& ' se *abr+a asegurado ,ue los ti"os de datos son consistentes entre las distintas tablas
ota! 1l definir un tipo de datos en una base de datos en particular, slo podr usarse en esa base de datos. "in embargo, si se define el tipo de datos en la base de datos model &la plantilla para todas las dems bases de datos(, existir en todas las nuevas bases de datos.
C"eaci. $e ti&%s $e $at%s $e-i i$%s &%" el )s)a"i% me$ia te el )s% $el A$mi ist"a$%" c%"&%"ati#% 8odr+a desearse crear ti"os de datos "ara datos como n4meros de tel(fono& c$digos "ostales& n4meros de la Seguridad Social ' cuales,uiera otros datos ,ue se "uedan definir claramente ' ,ue se va'an a utili#ar en m%s de una tabla de base de datos ?l definir un ti"o de datos se deben dar los siguientes fragmentos de informaci$nB F F F 2l nombre del ti"o de datos 2l ti"o de datos del sistema en ,ue se basa el nuevo ti"o de datos La admisi$n de nulos en el ti"o de datos Festo es& si "ermite valores >!LL
!na ve# ,ue se *a'a tomado una decisi$n acerca de estos detalles& se est% "re"arado "ara crear el ti"o de datos 8ara crear un ti"o de datos definido "or el usuario utili#ando el ?dministrador cor"orativo& seguir estos "asosB - 2n el ?dministrador cor"orativo& e5"andir un gru"o SQL Server ("ulsando en el signo m%s al lado de la car"eta) ' a continuaci$n e5"andir un servidor 2 25"andir la car"eta Bases de datos ' luego e5"andir una base de datos
8ulsar con el bot$n derec*o del rat$n en @i"os de datos definidos "or el usuario ' elegir >uevo ti"o de datos definido "or el usuario en el men4 de conte5to ?"arece la ventana 8ro"iedades del ti"o de datos definido "or el usuario 2scribir el nombre del nuevo ti"o de datos en el cuadro de te5to >ombre& como se muestra en la siguiente figura
? continuaci$n se debe es"ecificar el ti"o de datos SQL Server ' la longitud ,ue de describen el cam"o definido "or el usuario 2n el e0em"lo de la figura anterior se est% definiendo un ti"o de datos "ara la columna 6DYMarca& as+ ,ue se elegir% el ti"o smallint& con un valor de longitud "redeterminado de 5 (Si se *ubiese creado ti"o de datos de caracteres se "ermitir+a es"ecificar la longitud ) E Si el ti"o de datos debe "ermitir valores >!LL& seleccionar la casilla de verificaci$n 8ermitir valores >!LL Si el ti"o de datos debe utili#ar alguna regla "redefinida o valor "redeterminado& seleccionarlo en su res"ectivo cuadro de lista / 8ulsar ?ce"tar "ara guardar el nuevo ti"o de datos
E C /
Elimi aci. $e ti&%s $e $at%s $e-i i$%s &%" el )s)a"i% me$ia te el )s% $el A$mi ist"a$%" c%"&%"ati#% Si se *a creado un ti"o de datos definido "or el usuario ,ue 'a no se utili#a (o si se cometi$ un error durante su creaci$n ' se ,uiere volver a crearlo)& se "uede eliminar 8ara borrar un ti"o de datos definido "or el usuario& s+ganse estos "asosB - 2n el ?dministrador cor"orativo& locali#ar el ti"o de datos definido "or el usuario ,ue se ,uiera eliminar (25"andir un gru"o SQL Server& e5"andir un
servidor& des"legar la car"eta Bases de datos ' a continuaci$n e5"andir la base de datos ,ue contenga el ti"o de datos ,ue se ,uiera eliminar ) 2 2 8ulsar la car"eta @i"os de datos definidos "or el usuario Los ti"os de datos definidos "or el usuario de la base de datos se e5"ondr%n en el "anel de la derec*a& como se ve en la figura siguiente
D 8ulsar con el bot$n derec*o del rat$n sobre el ti"o de datos definido "or el usuario ,ue se ,uiera eliminar ' elegir 2liminar del men4 de conte5to ,ue a"arece ?"arece el cuadro de di%logo Quitar ob0etos como se a"recia en la figura siguiente
A ?ntes de eliminar realmente el ti"o de datos& "ulsar Mostrar de"endencias "ara ,ue a"are#ca el cuadro de di%logo De"endencias& mostrado en la figura siguiente
2l cuadro de lista en el lado i#,uierdo del cuadro de di%logo De"endencias e5"one los ob0etos de la base de datos ,ue de"enden del ti"o de datos definido "or el usuario& ' el cuadro de lista de la derec*a muestra los ob0etos de los ,ue de"ende el ti"o de datos Si el ti"o de datos est% siendo utili#ado "or alguna tabla u ob0eto (como lo est% el ti"o de datos del e0em"lo)& no se "ermitir% su eliminaci$n Fal intentarlo& a"arecer% un mensa0e de error 5 Si el ti"o de datos no tiene "roblemas con las de"endencias& cerrar el cuadro de di%logo De"endencias ' "ulsar Quitar todos en el cuadro de di%logo Quitar ob0etos "ara eliminar el ti"o de datos >o *a' ,ue "reocu"arse Fs$lo los ti"os de datos ,ue se muestren en el cuadro de di%logo Quitar ob0etos& ' no todos los ti"os de datos definidos "or el usuario& ser%n eliminados
Si se inserta una fila en la tabla "ero no se es"ecifica un valor "ara los datos de la columna con nulos& SQL Server le asignar% el valor >!LL (a no ser ,ue se *a'a es"ecificado un "redeterminado "ara esa columna) !n usuario "uede escribir la "alabra >!LL& sin comillas& de manera ,ue no "ueda ser con fundida con la cadena de caracteres K>!LLL
2 D A
2n el ?dministrador cor"orativo& des"legar un gru"o SQL Server ' a continuaci$n e5"andir un servidor 2 D Des"legar la car"eta Bases de datos "ara ver las bases de datos dis"onibles 25"andir la base de datos en ,ue se desee traba0ar& en este caso& MiBD
A 8ulsar con el bot$n derec*o del rat$n la car"eta @ablas ' elegir >ueva tabla en el men4 de conte5to ,ue a"arece ?"arece la ventana @abla nueva& como se muestra (ma5imi#ada) en la figura siguiente
2n la figura anterior se "uede ver la ventana @abla& ,ue contiene una re0illa con as"ecto de una *o0a de c%lculo& donde cada fila de la re0illa re"resenta una columna de la tabla :ada columna de la re0illa re"resenta un atributo diferente de la columna de la tabla ] ti"o de datos& longitud o admisi$n de nulos
N2)7+ 4eben adoptarse estndares al nombrar las columnas de la tabla. #n realidad, no importa )u< tipo de norma se adopte, pero ha' )ue ser consistente. ,ada ve+ )ue se utilice la misma columna en tablas diferentes se debe usar exactamente el mismo nombre. #sta consistencia a'udar a evitar confusin al reali+ar consultas.
5 Definir cada una de las columnas de la tabla de la base de datos Ftraba0ando fila "or fila F escribiendo el nombre en la columna >ombre de columna& eligiendo el ti"o de datos del men4 des"legable de la columna @i"o de datos& eligiendo la longitud cuando sea a"licable (como "ara ti"os de datos de caracteres) ' "resionando la tecla Ma'4sculas (o la barra es"aciadora) o "ulsando en la columna 8ermitir valores nulos "ara conmutar la marca de 6n ("ara "ermitir o "ro*ibir& res"ectivamente& los valores nulos)
2n la imagen siguiente se muestra la tabla I -%A,"%$)ct% ?dvi(rtase ,ue se *a elegido el ti"o de datos definido "or el usuario ti&%Ama"ca "ara la columna IDAMa"ca. 8ero *a' ,ue fi0arse tambi(n en ,ue la marca de verificaci$n de la columna 8ermitir valores nulos se encuentra activada& incluso "ara el ti"o de datos ti&%Ama"caC ,ue se cre$ "ara no "ermitir valores nulos Se debe desactivar esta marca de verificaci$n "ara ser consistente con la anulabilidad ,ue se le su"one al ti"o de datos
Los datos de las filas de la tabla se almacenar%n f+sicamente en el orden en ,ue se *an definido las columnas Si se ,uiere insertar una fila de definici$n de columna en esta re0illa entre dos filas e5istentes se debe "ulsar con el bot$n derec*o del rat$n en la fila inmediatamente "osterior al lugar en ,ue se ,uiere insertar una nueva fila ' elegir 6nsertar columna en el men4 de conte5to ,ue a"arece 8ara ,uitar una fila& "ulsar con el bot$n derec*o del rat$n la fila a"ro"iada ' elegir 2liminar columna en el men4 de conte5to 2n el e0em"lo de la tabla I -%A,"%$)ct%sC se configurar% la columna IDA,"%$)ct% como la columna clave "rinci"al "ulsando con el bot$n derec*o del rat$n el nombre de columna IDA,"%$)ct% ' eligiendo 2stablecer clave "rinci"al en el men4 de conte5to ?"arecer% un icono de una llave 0unto al nombre de la columna
2n la "arte inferior de la ventana *a' una fic*a eti,uetada K:olumnasL 2sta fic*a "ermite cambiar algunos atributos de la columna seleccionada en la "arte su"erior
8or e0em"lo& se *a seleccionado la columna 6DYMarca ' a continuaci$n se *a asignado una descri"ci$n ' un valor "redeterminado de 0 "ara ella en la fic*a :olumnas de deba0o& como se muestra en la figura anterior C C Se "ueden crear otras restricciones e +ndices sobre la tabla "ulsando con el bot$n derec*o del rat$n sobre cual,uier nombre de columna ' eligiendo +ndices ' claves& Relaciones& Restricciones :G2:I o 8ro"iedades en el men4 de conte5to& o "ulsando en el icono 8ro"iedades de tabla e +ndice 0unto al icono Guardar en la barra de *erramientas :ual,uiera de estos m(todos lleva a la ventana 8ro"iedades& ,ue se muestra en la siguiente figura 2l nombre de la tabla a"arecer% como @abla-& @abla2 o algo "or el estilo 2n este caso se llama @abla2 Se "uede cambiar este nombre& como se ense3a en el siguiente "aso& al guardar la tabla
/ 8ara dar nombre a la nueva tabla *a' ,ue "ulsar el icono Guardar ' a"arecer% una venta de di%logo en donde se "uede escribir el nombre de la tabla 2scribir el nombre ,ue se desee ' "ulsar ?ce"tar& ' la tabla ,ue se *a dise3ado ser% creada ' su informaci$n guardada ?*ora se "uede cerrar la ventana @abla nueva ' se ver% a"arecer al nombre de la tabla en el "anel de la derec*a de ?dministrador cor"orativo
VALORES ,REDETERMINADOS
Lo "rimero es comentar la ra#$n del uso de valores "redeterminados "ara las columnas de ciertas tablas mediante la observaci$n de lo ,ue ocurre si no se usa un valor "redeterminado Si se inserta una fila en una tabla ,ue contiene columnas sin valores "redeterminados ' los valores de los datos "ara una o m%s columnas ,ue admiten nulos no se introducen es"ec+ficamente& a estas columnas ,ue admiten nulos se les asigna el valor >!LL 8ero si una columna se *a definido como >;@ >!LL ' no se "ro"orciona un valor "ara dic*a columna cuando se inserta una fila& devolver% un mensa0e de error informando ,ue no se "uede insertar >!LL en la columna 2n este caso es cuando los valores "redeterminados son 4tiles Los valores "redeterminados se "ueden usar "ara es"ecificar un valor ,ue se inserta en ve# de >!LL de forma ,ue no se reciba ning4n mensa0e de error Se deber+an usar los valores "redeterminados en las columnas en ve# de "ermitirse los valores nulos& debido a ,ue las o"eraciones con columnas ,ue admiten nulos im"lican m%s sobrecarga de "rocesamiento ,ue a,uellas ,ue se reali#an sobre columnas ,ue no los admiten Microsoft SQL Server 2000 "ermite definir un valor "redeterminado "ara cada columna de tabla >o se "uede definir un valor "redeterminado "ara las columnas ,ue tengan el ti"o de timestam" o las "ro"iedades 6D2>@6@Z o R;=G!6D:;L& 'a ,ue dic*as columnas deben tener valores 4nicos 2stos ti"os de columnas no son com"atibles con los valores "redeterminados 'a ,ue si se usa un valor "redeterminado "ara esa columna m%s de una ve#& esa columna de0a de tener valores 4nicos S$lo se "uede asignar un valor como valor "redeterminado& ' se usar% autom%ticamente todas las veces ,ue sea necesario !na nota im"ortante acerca de los valores "redeterminados esB el valor es"ecificado como la definici$n "redeterminada "ara una columna debe ser com"atible con el ti"o de datos de dic*a columna Se "uede crear ' modificar una definici$n "redeterminada de varias formas 2n esta secci$n se e5"licar% c$mo definir un valor "redeterminado al crear la tabla ' c$mo modificar una columna "ara a3adirle o cambiar un valor "redeterminado usando el ?dmistrador :or"orativo @ambi(n se comentar%n las o"ciones dis"onibles ' los efectos de a3adir un valor "redeterminado a una columna e5istente de la tabla
De-i ici. = m%$i-icaci. $e l%s #al%"es &"e$ete"mi a$%s )sa $% el A$mi ist"a$%" c%"&%"ati#%
2l uso del ?dministrador cor"orativo es "robablemente la forma m%s f%cil de crear& ver ' modificar las tablas de la base de datos :uando se crea o se modifica una tabla o columna usando el ?dministrador cor"orativo& SQL Server se encarga autom%ticamente de e0ecutar los comandos @FSQL adecuados "ara reali#ar la tarea 2n esta secci$n se ver% la manera de usar el ?dministrador cor"orativo "ara asignar una definici$n de un valor "redeterminado a una columna& modificar un valor "redeterminado de una columna ' crear un ob0eto 4efault. ^ste es el m(todo "referido Se comien#a con los e0em"los de asignaci$n ' modificaci$n de definiciones de valores "redeterminados
8ara definir un valor "redeterminado& sim"lemente *a' ,ue "ulsar en el nombre de la columna a la ,ue se ,uiere asignar el valor "redeterminado ' escribir el valor "redeterminado al lado de Talor "redeterminado en la fic*a :olumnas en la "arte inferior de la ventana 2n la figura anterior& se *a asignado un valor "redefinido de _n1a_ a la columna 4escriptionM este valor "redeterminado "uede ser un valor marcador de "osici$n ,ue indica ,ue no se conoce todav+a la descri"ci$n de un "roducto ?dem%s& el valor "redeterminado va entre "ar(ntesis (el ?dministrador cor"orativo se encarga de a3adir estos autom%ticamente cuando se salva la tabla ) 2l cambio de un valor "redeterminado es igual de sim"le Ga' ,ue reem"la#ar el valor "redeterminado original con el nuevo valor "redeterminado ' guardar el traba0o "ulsando en el bot$n Guardar La siguiente figura muestra el valor "redeterminado de 4escription cambiado a Nnot availableN.
ota! "? se introduce una cadena de caracteres en el valor predeterminado, ha' )ue encerrarla entre comillas simples o "$% "erver muestra un mensa*e error cuando se intentan guardar los cambios.
:omo con @FSQL& cuando se crea o cambia un valor "redeterminado de una columna ,ue 'a e5ist+a mediante el uso de ?dministrador cor"orativo& las filas ,ue 'a *ab+a en la tabla no se ven afectadas Fs$lo las nuevas columnas ,ue se a3adan usan el valor "redeterminado Si se a3ade una nueva columna a la tabla ' se le asigna un valor "redeterminado& cual,uier fila de datos ,ue 'a e5istiera tendr%n el valor "redeterminado "ara esa nueva columna& s$lo si el >!LL no est% "ermitido Si se "ermite el >!LL& se les asignar% este valor a las filas e5istentes en la nueva columna 8ara "ermitir el >!LL en la nueva columna ' tambi(n for#ar a ,ue se inserte el valor "redeterminado en todas las filas e5istentes& es necesario usar el comando K?L@2R D29?!L@L del @FSQL
2. 8ara vincular el valor "redeterminado a un ti"o de datos definido "or el usuario o a una columna& "ulsar con el bot$n derec*o en el nombre del valor "redeterminado (en este caso& 4D:none( en la secci$n derec*a del ?dministrador cor"orativo ' elegir 8ro"iedades del men4 conte5tual ?"arece de nuevo la ventana 8ro"iedades "redeterminadas& "ero a*ora est%n dis"onibles los botones 2nla#ar !D@ (ti"os de datos definidos "or el usuario) ' 2nla#ar columnas 8ulsar en 2nla#ar !D@ "ara mostrar el cuadro de di%logo 2nla#ar "redet con ti"os de datos definidos "or usuario& como se muestra en la figura siguiente 2ste cuadro de di%logo muestra todos los ti"os de datos definidos "or el usuario De esta lista se "uede seleccionar el ti"o de datos definido "or el usuario al ,ue se ,uiere vincular el valor "redeterminado 2n la figura siguiente se "ueden ver el ti"o de datos area:code ' brand:t'pe. Si se *an definido m%s ti"os de datos& estos tambi(n a"arecer%n en la lista :uando se *a'a terminado& se "ulsa en ?"licar ' des"u(s en ?ce"tar "ara volver a la ventana 8ro"iedades "redeterminadas Se "odr+a no *aber elegido vincular el valor "redeterminado a un ti"o de datos definido "or el usuario) en lugar de eso se "odr+a vincular a una columna& como se ve en el siguiente "aso
D 8ara vincular el valor "redeterminado a una columna& "ulsar en 2nla#ar columnas "ara mostrar el cuadro de di%logo 2nla#ar "redeterminado con las columnas Des"u(s seleccionar columna a la ,ue se ,uiere vincular el valor "redeterminado 8rimero se selecciona el nombre de la tabla en la lista des"legable @abla Des"u(s seleccionar& en la lista :olumnas no enla#adas& el nombre de la columna a la ,ue se ,uiere vincular el valor "redeterminado Des"u(s "ulsar ?gregar (La figura siguiente muestra el cuadro de di%logo des"u(s de *aber
A 8ulsar ?ce"tar "ara volver a la ventana 8ro"iedades "redeterminadas ' "ulsar de nuevo ?ce"tar "ara cerrar la ventana 8ro"iedades "redeterminadas
8ara desvincular un ob0eto 4efault de un ti"o de datos definido "or el usuario desde la ventana de 8ro"iedades "redeterminadas& abrir el cuadro de di%logo 2nla#ar "redet con ti"os de datos definidos "or usuario como se *a descrito anteriormente ' desactivar el cuadro de verificaci$n 2nla#ar "ara desvincular un ob0eto 4efault de una columna& abrir el cuadro de di%logo 2nla#ar "redeterminado con las columnasC seleccionar el nombre de la columna ' "ulsar en Quitar 8ara borrar un ob0eto 4efault, "rimero se debe desvincular el valor "redeterminado de todos los dem%s ob0etos (como se *a descrito) SQL Server mostrar% un mensa0e si se intenta borrar un valor "redeterminado ,ue est% vinculado a uno o m%s ob0etos 8ara borrar un 4efault, "ulsar en Talores "redeterminados en la secci$n i#,uierda del ?dministrador cor"orativo "ulsar con el bot$n derec*o en el nombre del ob0eto 4efault, elegir 2liminar del men4 conte5tual ' "ulsar Quitar todos en el cuadro
D 8ulsar Siguiente "ara visuali#ar la "antalla :om"letando el ?sistente "ara creaci$n de diagramas de bases de datos 8ulsar 9inali#ar si las tablas seleccionadas son las correctas o "ulsar ?tr%s ' *acer los cambios necesarios A Des"u(s de "ulsar 9inali#ar se "uede ver el diagrama de base de datos& como se muestra en la figura siguiente
5 Guardar el diagrama con un nombre descri"tivo "ulsando el bot$n Guardar e introduciendo un nombre cuando se solicite
La l+nea vertical ,ue finali#a con una clave ' conecta las dos tablas en el diagrama re"resenta la relaci$n de restricci$n de clave e5terna entre ambas 8ara mostrar la eti,ueta de la relaci$n se *a de "ulsar con el bot$n derec*o del rat$n sobre el fondo de la ventana ' elegir Mostrar eti,uetas de relaci$n del men4 conte5tual ?"arece el nombre de la restricci$n de clave e5terna 8ara seleccionar una tabla *a' ,ue "ulsar sobre ella) "ara seleccionar m%s de una tabla *a' ,ue mantener "ulsada la tecla :trl ' "ulsar sobre cada tabla Si se "ulsa con el bot$n derec*o del rat$n sobre una de las tablas ' des"u(s se elige una o"ci$n del men4 conte5tual se reali#ar% esa acci$n sobre todas las tablas seleccionadas 8or e0em"lo& si seleccionamos ambas tablas en nuestro diagrama de base de datos& "ulsamos el bot$n derec*o del rat$n sobre una de las tablas ' se elige Tista de tabla ' 2st%ndar del men4 conte5tual& e entonces se modificar%n ambas tablas "ara mostrar todas las columnas de "ro"iedades& como se muestra en la siguiente figura
La "antalla de las "ro"iedades de las columnas "ara cada tabla es similar a la ventana Dise3ar tabla ' cada tabla se "uede modificar utili#ando los mismos m(todos ,ue los utili#ados con la ventana Dise3ar tabla Sim"lemente se agregan o cambian los datos de la columna en las celdas deseadas ' se guardan los cambios "ulsando el bot$n Guardar @ambi(n se "ueden mover ' cambiar el tama3o de las tablas en el diagrama de base de datos& mostrar diferentes vistas de las tablas ' m%s "osibilidades Se *a de e5"erimentar con los diferentes comandos del men4 conte5tual >$tese ,ue tan "ronto como se reali#a un cambio en una tabla a"arecer% un asterisco 0usto des"u(s del nombre de la tabla "ara indicar ,ue se *a reali#ado un cambio
una restricci$n 9;R26G> I2Z usando un diagrama de base de datos& se desarrollar% un diagrama usando las mismas dos tablas ,ue se *an usado en el e0em"lo anterior& items e inventor'. Lo "rimero ser% observar el diagrama de base de datos de estas tablas sin la relaci$n de clave e5terna ' des"u(s se a3adir% la clave e5terna
:omo se "uede ver en la figura anterior& la columna item:id de la tabla items es una columna de clave "rimaria 8ara crear una relaci$n de clave e5terna entre la columna item:id de la tabla inventor' ' la columna item:id de la tabla items, *a' ,ue seguir estos "asosB
8ulsar en la "arte m%s a la i#,uierda de la fila (en el cuadro gris) "ara la columna item:id de la tabla items ' mantener "ulsado el bot$n del rat$n mientras se mueve el cursor a la tabla inventor'. (Se ve una l+nea de "untos ,ue sigue al cursor ) Soltar el bot$n del rat$n cuando se a"unte a la fila de la columna item:id de la tabla inventor'. ?"arece el cuadro de di%logo :rear relaci$n& como se muestra en la figura anterior 2ste es "arecido a la ventana 8ro"iedades de la ventana Dise3ar tabla& como se *a visto "reviamente La columna item:id a"arece en las columnas
de cada tabla en el cuadro de di%logo& indicando ,ue *a' una relaci$n de clave e5terna entre las dos columnas item:id 2 2 Si se ,uiere& se "uede cambiar el nombre de la relaci$n Se seleccionan o desactivan las casillas de verificaci$n en la "arte inferior del cuadro de di%logo "ara elegir las o"ciones ,ue se ,uieren ?"arecen varias casillas de verificaci$n en la "arte inferior de la ventana Seleccionar la o"ci$n :om"robar datos e5istentes al crear cuando se ,uiere ,ue SQL Server com"ruebe si los datos e5istentes cum"len la relaci$n de clave e5terna La creaci$n de la restricci$n falla si los datos no la cum"len Se debe desactivar esta o"ci$n s$lo si todav+a no se tienen datos& si se sabe ,ue los datos ,ue *a' cum"len la restricci$n o si no se ,uiere ,ue los datos cum"lan la restricci$n "or alguna a ra#$n concreta 2sto "uede "roducir "roblemas m%s tarde al intentar actuali#ar o borrar una de estas filas La siguiente casilla de verificaci$n es 25igir relaci$n "ara du"licaci$n >o se debe seleccionar esta casilla si no se est%n usando las du"licaciones 6ncluso si se est%n usando du"licaciones no es necesario seleccionar esta casilla de verificaci$n debido a ,ue los datos 'a se com"rueban frente a la restricci$n en las tablas originales& "or lo tanto no deber+a tener ,ue volverse a com"robar en las du"licaciones Si se activa la relaci$n "ara du"licar& ' si las "rogramaciones de las du"licaciones de las dos tablas de la relaci$n no est%n bien sincroni#adas& se recibir%n errores durante la du"licaci$n ,ue indican ,ue una fila no *a "odido du"licarse debido a ,ue violaba la restricci$n de clave e5terna La siguiente casilla de verificaci$n es 25igir relaci$n "ara 6>S2R@ ' !8D?@2 La selecci$n de esta casilla de verificaci$n significa ,ue se com"robar% la restricci$n 9;R26G> I2Z cuando se realicen inserciones ' actuali#aciones& igual ,ue en los borrados Si (ste es el ob0etivo& se debe seleccionar esta casilla de verificaci$n ?l seleccionarla& se activan las dos casillas de verificaci$n situadas deba0o de (sta Son ?ctuali#ar en cascada los cam"os relacionados ' 2liminar en cascada los cam"os relacionados (Kcam"oL se refiere a una fila de datos) La selecci$n de ?ctuali#ar en cascada los cam"os relacionados significa ,ue si se actuali#a la columna referenciada de la tabla referenciada (tal como actuali#ar un valor de item:id en la tabla items(, la actuali#aci$n se *ar% tambi(n en la tabla de la clave e5terna (2n este caso& ese mismo valor de item:id se actuali#ar%& si e5iste& en la tabla inventor'.( S$lo se actuali#a el valor de la columna) el resto de la informaci$n de la fila de la tabla de la clave e5terna se mantendr% igual La selecci$n de esta o"ci$n tambi(n "ermite ,ue "ueda ocurrir la actuali#aci$n de la columna referenciada Si no se selecciona esta casilla de verificaci$n& no se "odr% actuali#ar una columna referenciada cuando (sta e5ista en la tabla con la clave e5terna Se "roducir% un mensa0e de error de SQL Server "arecido al siguienteB
O5nstruccin -P419# en conflicto con la restriccin ,A%-M 7#D#7# ,# PDQ:inventor':itemsN. #l conflicto ocurri en la base de datos NM'40N, tabla Ninventor'N, columna Nitem:idN. %a instruccin se ha detenido.R
La selecci$n de 2liminar en cascada los cam"os relacionados significa ,ue un borrado de la tabla referenciada se "asar% a la tabla de la clave e5terna 8or e0em"lo& si una fila de la tabla items se borra ' una fila de la tabla inventor' tienen el mismo valor "ara item:id ,ue el de la fila borrada& esa fila tambi(n se borrar% de la tabla inventor'. 2sto mantiene consistente la informaci$n Si no se selecciona esta o"ci$n& no se "odr% borrar una fila de la tabla referenciada si se *ace referencia a la fila en una fila de la tabla con la clave e5terna Se "roducir% un mensa0e de error de SQL Server "arecido al siguienteB
O5nstruccin 4#%#9# en conflicto con la restriccin ,A%-M 7#D#7# ,# PDQ: inventor':itemsN. #l conflicto ocurri en la base de datos NM'40N, tabla Ninventor'N, columna Nitem:idN. %a instruccin se ha detenido.R
D 8ulsar ?ce"tar cuando se *a'a terminado de crear la relaci$n en el diagrama (@odav+a no se *a guardado ) !na l+nea con una llave al final 'a desde la tabla de la clave e5terna a la tabla referenciada A 8ulsar el bot$n Guardar "ara guardar los cambios Se "reguntar% "ara dar un nombre al diagrama de base de datos ' des"u(s "ara confirmar los cambios de las tablas im"licadas 8ulsar S+ "ara terminar