Вы находитесь на странице: 1из 79

INSTALACIN Y CONFIGURACIN DE MICROSOFT SQL SERVER 2000

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

SISTEMAS SQL SERVER


!n sistema SQL Server se "uede im"lementar como sistema cliente1servidor o como sistema inde"endiente 2l ti"o de sistema ,ue se dise3e de"ender% del n4mero de usuarios ,ue va'an a acceder a la base de datos simult%neamente ' de la clase de traba0o ,ue va'an a reali#ar 2n esta secci$n se e5aminan ambos ti"os de sistemas

Sistema clie te!se"#i$%"


2l sistema cliente1servidor "uede tener una configuraci$n de dos ca"as o de tres ca"as 6nde"endientemente de la configuraci$n& el soft7are ' las bases de datos de SQL Server residen en un e,ui"o central llamado servidor de bases de datos. Los usuarios tienen e,ui"os inde"endientes llamados clientes. Los usuarios acceden a la base de datos "or medio de a"licaciones en sus e,ui"os cliente (en un sistema de dos ca"as) o a trav(s de a"licaciones ,ue se e0ecutan en un e,ui"o inde"endiente conocido como servidor de a"licaciones (en un sistema de tres ca"as) 2n los sistemas de dos ca"as los clientes e0ecutan una a"licaci$n ,ue accede al servidor de bases de datos directamente "or medio de la red 8or lo tanto el cliente e0ecuta el c$digo em"resarial ' el c$digo "ara "resentar los resultados al usuario 2ste ti"o de cliente se conoce como cliente "esado "or,ue reali#a esas dos o"eraciones La 9igura muestra un e0em"lo de un sistema de dos ca"as !na configuraci$n de dos ca"as "uede ser 4til cuando el n4mero de usuarios es relativamente "e,ue3o& dado ,ue cada cone5i$n de usuario re,uiere recursos del sistema como memoria ' blo,ueos Si se conectan un gran n4mero de usuarios& el rendimiento del sistema decaer% debido a la contenci$n de recursos& en cu'o caso se deber+a considerar una soluci$n de tres ca"as

: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

Sistema i $e&e $ie te


@ambi(n es "osible utili#ar SQL Server como servidor de bases de datos inde"endiente ,ue se e0ecuta en un e,ui"o de sobremesa o en un "ort%til 2sto se denomina sistema independiente. Las a"licaciones cliente se e0ecutan en la misma m%,uina ,ue almacena el motor de SQL Server ' las bases de datos 2n este sistema s$lo est% im"licado un 4nico e,ui"o 8or lo tanto no se reali#a ninguna cone5i$n de red del cliente al servidor) el cliente reali#a una cone5i$n local a su instalaci$n local de SQL Server 2l sistema inde"endiente es 4til en a,uellos casos en los ,ue un 4nico usuario accede a la base de datos o en los ,ue unos "ocos usuarios ,ue com"arten un e,ui"o acceden a la base de datos en diferentes momentos 8or e0em"lo& en una "e,ue3a tienda con un e,ui"o& varios em"leados "odr+an acceder a la base de datos de la tienda "ara insertar clientes e informaci$n de las ventas& "ero tendr+an ,ue acceder al sistema "or turnos ?dem%s& como en este e0em"lo& los sistemas inde"endientes son 4tiles cuando la base o bases de datos son "e,ue3as

LA FAMILIA 'INDO'S 2000


2n febrero de 2000& Microsoft difundi$ "ara el "4blico la familia de sistemas o"erativos Microsoft =indo7s 2000 2sta colecci$n de "roductos "ro"orciona una "lataforma fiable& f%cil de usar ' segura "ara Microsoft SQL Server 2000 ?un,ue Microsoft =indo7s >@ A so"orta SQL Server 2000& =indo7s 2000 "ro"orciona un entorno m%s robusto "ara los sistemas SQL Server 2000 De *ec*o& SQL Server 2000 se desarroll$ en sistemas ,ue e0ecutaban =indo7s 2000 'i $%(s 2000 se e c)e t"a $is&% i*le e c)at"% e$ici% es+ =indo7s 2000 8rofessional& =indo7s 2000 Server& =indo7s 2000 ?dvanced Server ' =indo7s 2000 Datacenter Server 2n este ca"+tulo se revisar%n algunas de las caracter+sticas de la familia de "roductos =indo7s 2000 ' algunas de las diferencias entre los cuatro "roductos 2l ob0etivo de este ca"+tulo es "ro"orcionar tan s$lo una visi$n general& no una descri"ci$n en "rofundidad& de los "roductos =indo7s 2000
Para obtener una informacin ms detallada sobre Windows 2000 conviene visitar la Web de Microsoft en ())*+,,---$./012324)$02.,-/562-32000

'i $%(s 2000 ,"%-essi% al


=indo7s 2000 8rofessional es el nuevo sistema o"erativo de Microsoft "ara sistemas cor"orativos de sobremesa ' "ort%tiles =indo7s 2000 8rofessional combina las me0ores caracter+sticas de =indo7s ./& como la administraci$n de energ+a ' el reconocimiento de dis"ositivos 8lug and 8la'& con los "untos fuertes de =indo7s >@ A& como la fiabilidad ' la seguridad =indo7s 2000 8rofessional "ro"orciona a los sistemas de escritorio ' "ort%tiles una "otencia inform%tica incrementada& a la ve# ,ue disminu'e el coste total de la "ro"iedad

'i $%(s 2000 Se"#e"


=indo7s 2000 Server est% construido sobre la base del "roducto =indo7s >@ A Server =indo7s 2000 Server integra acceso =eb& so"orte de a"licaciones& traba0o en red& comunicaciones ' servicios de infraestructura en un 4nico "roducto @ambi(n "ro"orciona las funciones b%sicas "ara com"artir arc*ivos e im"resoras =indo7s 2000 Server ofrece los servicios de directorio ?ctive Director'& los cuales a'udan en la administraci$n de una red variada ' distribuida ?ctive Director' se trata m%s adelante en este ca"+tulo

'i $%(s 2000 A$#a ce$ Se"#e"

=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

'i $%(s 2000 Datace te" Se"#e"


=indo7s 2000 Datacenter Server es un "roducto es"eciali#ado de la familia =indo7s 2000 Server Datacenter Server est% dise3ado "ara "ro"orcionar clientes con so"orte *ard7are ' soft7are integrado Datacenter Server lo comerciali#an& venden ' entregan con0untamente Microsoft ' los distribuidores autori#ados ,ue integran Datacenter Server con su *ard7are :ada sistema *ard7are ,ue incor"ora Datacenter Server debe seguir un riguroso "roceso de "rueba ' certificaci$n 2sta certificaci$n se centra en el sistema com"leto& no s$lo en com"onentes individuales !na ve# ,ue el sistema est% instalado& una nueva organi#aci$n& llamada :entro de so"orte certificado de Microsoft (M:S:& Microsoft :ertified Su""ort :enter) "ara Datacenter Server& le da so"orte 25"ertos en *ard7are ' soft7are tanto de Microsoft como de los distribuidores de *ard7are conforman la "lantilla del M:S:& lo ,ue significa ,ue "uede "ro"orcionar un 4nico "unto de contacto "ara todos temas de so"orte 2l >:S: "ro"orciona los siguientes servicios a los clientes de Datacenter ServerB !na garant+a durante el tiem"o de funcionamiento de ..&. "or ciento o su"erior Servicios de instalaci$n ' configuraci$n 2valuaciones de la dis"onibilidad del sistema So"orte *ard7are ' soft7are 2A5C Servicio *ard7are ' soft7are a domicilio

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

Di-e"e cias e la -amilia $e sistemas %&e"ati#%s 'i $%(s 2000

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

Re2)isit%s m3 im%s $el sistema

:8! com"atible con 8entium a -DD MG#) EA MB de R?M) - GB de es"acio de disco

: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

'i $%(s 2000 ,"%-essi% al


=indo7s 2000 8rofessional es fundamentalmente la versi$n de escritorio de =indo7s 2000 8or regla general& un sistema ,ue e0ecute =indo7s 2000 8rofessional s$lo a"rovec*ar% las venta0as de los com"onentes "ara clientes de SQL Server 2000 Sin embargo& si es necesario e0ecutar SQL Server en el e,ui"o& se "uede instalar la versi$n

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.

'i $%(s 2000 Se"#e"


=indo7s 2000 Server est% dise3ado como sistema o"erativo servidor& lo ,ue significa ,ue la instalaci$n de =indo7s 2000 Server en un e,ui"o "ermite a otros sistemas acceder a los recursos de ese e,ui"o =indo7s 2000 Server so"orta SQL Server 2000 Standard 2dition =indo7s 2000 Server no so"orta sistemas con m%s de cuatro :8!s ' m%s de A gigab'tes (GB) de memoria SQL Server 2000 "ermite tambi(n ,ue clientes remotos accedan a la base de datos
ota! "lo "$% "erver "tandard #dition, "$% "erver Personal #dition ' los componentes para clientes de "$% "erver se pueden instalar en e)uipos )ue e*ecuten Windows 2000 "erver.

'i $%(s 2000 A$#a ce$ Se"#e"


=indo7s 2000 ?dvanced Server es tambi(n un sistema o"erativo servidor ?l igual ,ue los sistemas ,ue e0ecutan =indo7s 2000 Server& los ,ue e0ecutan =indo7s 2000 ?dvanced Server "ermiten a otros sistemas acceder a sus recursos de sistema adem%s de a SQL Server ?dem%s de tener las ca"acidades de =indo7s 2000 Server& =indo7s 2000 ?dvanced Server so"orta *asta oc*o :8!s ' / GB de memoria 8ara "oder utili#ar los Servicios de :luster Server de Microsoft (MS:S& Microsoft :luster Services) "ara so"orte de fallos& *a' ,ue utili#ar =indo7s 2000 ?dvanced Server ?dem%s de so"ortar >S:S& =indo7s 2000 ?dvanced Server con SQL Server 2000 so"orta la nueva tecnolog+a de cl4steres de SQL Server& las vistas distribuidas actuali#ables
ota! Para utili+ar ocho ,P-s ' . /0 de memoria con "$% "erver 2000, es necesario e*ecutar la versin #nterprise #dition de "$% "erver. 1dems, en Windows 2000 1dvanced "erver se pueden instalar "$% "erver "tandard #dition, "$% "erver Personal #dition ' los componentes para clientes de "$% "erver.

'i $%(s 2000 Datace te"


2l bu,ue insignia de =indo7s 2000 es la versi$n Datacenter 2dition 2sta versi$n so"orta todos los com"onentes ,ue so"ortan el resto de ediciones de =indo7s 2000& adem%s de *asta EA :8!s ' EA GB de memoria =indo7s 2000 Datacenter s$lo est% dis"onible a trav(s de distribuidores de *ard7are ?dem%s de integrar =indo7s 2000

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.

VERSIONES DE SQL SERVER


?dem%s de las versiones de =indo7s 2000 entre las ,ue *a' ,ue escoger& *a' varias ediciones de SQL Server 2s mu' f%cil escogerla bas%ndose en la cantidad de memoria ' el n4mero de :8!s ,ue es necesario utili#ar Las ediciones de SQL Server se describen a,u+

S%-t(a"e &a"a clie tes


Los com"onentes "ara clientes de SQL Server 2000 consisten en las bibliotecas ' utilidades de red necesarias "ara acceder a un sistema SQL Server remoto o local 2stos com"onentes son necesarios "ara ,ue cual,uier sistema acceda a SQL Server& ' son id(nticos inde"endientemente de la edici$n de SQL Server instalada

,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

Sta $a"$ E$iti%


SQL Server 2000 Standar 2dition es una de las dos ediciones servidoras de SQL Server 2000 La versi$n Standar 2dition funciona de la misma forma ,ue la versi$n 2nter"rise 2dition& e5ce"to ,ue s$lo se "uede acceder a un m%5imo de cuatro :8!s ' A GB de memoria con la versi$n Standar 2dition

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

C%m&a"aci. $e las #e"si% es


La siguiente tabla muestra las versiones ' ca"acidades de =indo7s 2000 ' SQL Server 2000
SQL Se"#e" 2000 ,e"s% al E$iti% 'i $%(s 2000 ,"%-esi% al 'i $%(s 2000 Se"#e" :a"acidades limitadas Sin acceso cliente :a"acidades limitadas Sin acceso cliente :a"acidades limitadas Sin acceso cliente :a"acidades limitadas Sin acceso cliente SQL Se"#e" 2000 Sta $a"$ E$iti% >1D :a"acidades de servidor Gasta A :8!s ' 2 GB de memoria :a"acidades de servidor Gasta A :8!s ' 2 GB de memoria :a"acidades de servidor Gasta A :8!s ' 2 GB de memoria SQL Se"#e" 2000 E te"&"ise E$iti% >1D :a"acidades de servidor Gasta A :8!s ' A GB de memoria :a"acidades de servidor Gasta / :8!s ' / GB de memoria :a"acidades de servidor Gasta EA :8!s ' EA GB de memoria

'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

CUESTIONES DE SQL SERVER 2000 RELATIVAS AL 4ARD'ARE


Des"u(s de determinar la versi$n del sistema o"erativo ' de SQL Server 2000 necesarias& nos ,ueda& e5clusivamente& el "roblema del *ard7are SQL Server 2000 debe e0ecutarse en un sistema con memoria& velocidad de "rocesamiento ' es"acio de disco adecuados @ambi(n necesita un "lan a"ro"iado de "rotecci$n del sistema ' de la informaci$n en el nivel del *ard7are Las "autas clave "ara elegir el *ard7are adecuado "ara SQL Server son las siguientesB

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

INSTALACIN DEL SERVIDOR


Ga' tres formas de instalar SQL Server Se "uede reali#ar instalaci$n local& remota o desatendida !na instalaci$n local instala SQL Server en el e,ui"o ,ue se est% utili#ando actualmente Mediante una instalaci$n remota se "uede instalar SQL Server en otro e,ui"o ,ue se encuentre en la red !na instalaci$n desatendida "ermite instalar SQL Server sin tener ,ue estar "resente "ara res"onder a cual,uier "etici$n de datos 2n ve# de eso& se almacenan "or adelantado todas las res"uestas a las "eticiones de datos en un arc*ivo& ' el "rograma de instalaci$n las lee autom%ticamente cuando las necesita :ada una de las tres o"ciones de instalaci$n est% descrita en este ca"+tulo Si es la "rimera ve# ,ue se instala SQL Server 2000& conviene reali#ar una instalaci$n local antes de intentar cual,uiera de las otras dos o"ciones De esta forma nos "odemos familiari#ar con el "rocedimiento general de instalaci$n

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

I stalaci. $esate $i$a


SQL Server "ro"orciona utilidades ,ue "ermiten automati#ar el "roceso de instalaci$n 2stas utilidades "ermiten reali#ar una instalaci$n sin estar "resente& lo ,ue resulta es"ecialmente 4til cuando se instala SQL Server en un gran n4mero de servidores Los "asos "ara crear una instalaci$n desatendida son los siguientesB Desde la l+nea de comandos *a' ,ue cambiar el directorio a la unidad de :DFR;M

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?@

ACTUALI5ACIN DESDE VERSIONES ANTERIORES


Si el sitio 'a contiene datos de Microsoft SQL Server E 5 o Microsoft SQL Server C& se "uede actuali#ar la informaci$n a SQL Server 2000 de forma sencilla 8ara actuali#ar instalaciones de SQL Server E 5 se utili#ar% el ?sistente "ara la actuali#aci$n de SQL Server Las instalaciones de SQL Server C se actuali#an autom%ticamente durante el "roceso de instalaci$n de SQL Server 2000

Act)ali6aci. $e SQL Se"#e" 7 a SQL Se"#e" 2000


2l "roceso ,ue actuali#a los datos de SQL Server C al formato de SQL Server 2000 es un com"onente incor"orado en la instalaci$n de SQL Server 2000 !na ve# ,ue se *a com"letado el "roceso de instalaci$n& SQL Server 2000 e0ecuta una serie de secuencias de comandos de actuali#aci$n sobre los datos de SQL Server C De"endiendo del n4mero de Datacenter Server ' tablas ,ue se est(n actuali#ando& este "roceso "uede llevar alg4n tiem"o Se mostrar%n mensa0es de estado a medida ,ue "rogresa el "roceso de actuali#aci$n

Act)ali6aci. $e SQL Se"#e" 8.9 a SQL Se"#e" 2000


?ntes de iniciar el ?sistente "ara la actuali#aci$n de SQL Server "ara actuali#ar los datos de SQL Server E 5 al formato de SQL Server 2000& ser% necesario com"robar ,ue los elementos de la siguiente lista de com"robaci$n son correctos "ara la instalaci$n de SQL Server E 5B :om"robar ,ue el "ar%metro user:connections de sp:configure tiene un valor en tiem"o de e0ecuci$n de al menos 25 Las nuevas bibliotecas de red "ueden re,uerir mas de las -5 cone5iones "redeterminadas "ara reali#ar la actuali#aci$n ?segurar ,ue *a' co"ia de seguridad de todos los arc*ivos de datos de SQL Server E 5& inclu'endo la base de datos master

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

INSTALACIN DEL CLIENTE


La instalaci$n de los arc*ivos cliente de SQL Server es tan sim"le como instalar el "ro"io SQL Server 8ara instalar los arc*ivos cliente de SQL Server en un e,ui"o cliente *a' ,ue seguir los siguientes "asosB

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

SERVICIOS DE SQL SERVER


!na ve# ,ue se *a'a instalado Microsoft SQL Server 2000 "uede comen#ar a utili#arse 8ero antes de iniciar una sesi$n ' em"e#ar a construir una base de datos se debe conocer c$mo iniciar el servicio SQL Server ' sus com"onentes ?gente SQL Server& :oordinador de transacciones distribuidas de Microsoft ' Microsoft Searc* 2stos com"onentes se e0ecutan como servicios se"arados a"arte del servicio SQL Server ? continuaci$n se muestra c$mo iniciar& "arar ' administrar estos servicios mediante la utili#aci$n de tres *erramientasB ?dministrador de servicios de SQL Server& ?dministrador cor"orativo de SQL Server ' Servicios de =indo7s 2000 !n servicio es un "rograma o "roceso ,ue lleva a cabo una funci$n es"ec+fica "ara dar so"orte a otros "rogramas ?l iniciar SQL Server& el servicio SQL Server se inicia en =indo7s >@ o& =indo7s 2000 2ste servicio gestiona los arc*ivos de bases de datos& "rocesa sentencias @ransactFSQL (@FSQL)& ubica recursos entre cone5iones de usuarios concurrentes& asegura la consistencia de los datos ' muc*o m%s Si se instalan una o m%s instancias de SQL Server& el nombre de servicio "ara cada instancia de SQL Server es M""$%B ombre5nstancia, donde ombre5nstancia es el nombre de instancia ,ue se eligi$ en tiem"o de instalaci$n 2l servicio ?gente SQL Server corres"ondiente "ara una instancia se llama "$%1/# 9B ombre5nstancia. Sin embargo& "ara m4lti"les instancias de SQL Server s$lo e5istir% una instalaci$n tanto del :oordinador de transacciones distribuidas de Microsoft como de Microsoft Searc* Los tres servicios com"onentes se "ro"orcionan 0unto a la co"ia con licencia de SQL Server ?gente SQL Server se instala de manera "redeterminada al instalar SQL Server Si no se *a instalado el :oordinador de transacciones distribuidas de Microsoft ' Microsoft Searc*& se "uede e0ecutar de nuevo el "rograma de instalaci$n de SQL Server "ara instalar dic*os com"onentes& ,ue se denominan :om"atibilidad con cliente D@: ' B4s,ueda de te5to& res"ectivamente Se ver% a continuaci$n ,u( funcionalidad ofrece cada uno de estos servicios 2l ?gente SQL Server so"orta la "lanificaci$n ' e0ecuci$n de traba0os& alertas& notificaciones ' "lanes de mantenimiento de bases de datos Sin este servicio se a"reciar% ,ue el traba0o del administrador es muc*o m%s dif+cil& si no im"osible 2l ?gente SQL Server "ermite automati#ar las tareas de mantenimiento rutinario de las bases de datos 8or e0em"lo& se "uede crear un traba0o "ara reali#ar autom%ticamente una co"ia de seguridad de la base de datos cada noc*e a la - de la madrugada ' otro traba0o "ara reali#ar co"ias de seguridad de los registros de transacciones cada D0 minutos 8ara mantener com"robaciones del rendimiento del sistema& se "uede crear una alerta de condici$n de rendimiento ,ue informe si la utili#aci$n de la :8! del servidor su"era el .0 "or ciento 2l ?gente SQL Server debe estar e0ecut%ndose "ara ,ue realice este ti"o de tareas 2ste servicio "uede configurarse "ara ,ue arran,ue autom%ticamente cuando se inicie SQL Server o "uede lan#arse manualmente Se le debe configurar "ara ,ue se inicie

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

USO DEL ADMINISTRADOR DE SERVICIOS DE SQL SERVER


8ara iniciar o detener los servicios de SQL Server mediante el uso del ?dministrador de servicios de SQL Server se deben seguir estos "asos (2l servicio SQL Server tambi(n se "uede "oner en "ausa& como se ver% m%s adelante )

- 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.

USO DE SERVICIOS DE 'INDO'S 2000


@ambi(n se "ueden iniciar ' detener los servicios de SQL Server mediante el uso de Servicios de =indo7s 2000& tanto local como remotamente 6ncluso se "ueden configurar los servicios de SQL Server "ara ,ue se inicien autom%ticamente cada ve# ,ue se inicie el

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

USO DEL ADMINISTRADOR COR,ORATIVO DE SQL SERVER


2l ?dministrador cor"orativo es "arte de Microsoft Management :onsole (MM:) MM: a"licaci$n central ,ue se utili#a "ara administrar todos los as"ectos de un sistema ,ue e0ecute =indo7s 2000 Server 2n =indo7s 2000 ' en versiones futuras de =indo7s& MM: 0ugar% un "a"el cada ve# m%s im"ortante en la administraci$n de las a"licaciones Microsoft BacN;ffice corno Microsoft 25c*ange Server& Microsoft 8ro5' Server& Microsoft Site Server& Microsoft S'stems Management Server ' Microsoft S>? Server

A$mi ist"aci. $e SQL Se"#e"


2l ?dministrador cor"orativo es la *erramienta m%s com"leta "ara configurar ' administrar la instalaci$n de SQL Server Mientras el ?dministrador de servicios "ermite solamente iniciar& *acer una "ausa o detener un servicio& el ?dministrador cor"orativo "ermite iniciar ' detener un servidor& ' tambi(n ca"acita "ara reali#ar las siguientes tareasB F F F F Registrar el servidor :onfigurar servidores locales ' remotos :onfigurar ' administrar una instalaci$n de m4lti"les servidores ?0ustar la seguridad de inicio de sesi$n ' a3adir usuarios& administradores de sistema ' o"eradores F ?signar una contrase3a de administrador de sistema (s'stem administrator& sa) F :rear ' "rogramar traba0os F :rear alertas ' configurar SQL Server "ara ,ue se comuni,ue con los administradores de sistema a trav(s de correo electr$nico F :onfigurar ' administrar bases de datos& tablas& +ndices& vistas& "rocedimientos almacenados& reglas& desencadenadores& definiciones D29?!L@& dis"ositivos de co"ia de seguridad ' registros de error - F ?dministrar otros servicios de SQL Server

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

C"eaci. $e /")&%s $e se"#i$%"es


2l ?dministrador cor"orativo "ermite crear gru"os de servidores "ara a'udar en las tareas administrativas Los gru"os de servidores a'udan a organi#ar un con0unto de servidores relacionados "ara un acceso sencillo m%s o menos como las car"etas a'udan a organi#ar arc*ivos relacionados Se "uede entonces reali#ar acciones ,ue afecten a todos los servidores del gru"o utili#ando un solo comando& en lugar de mediante la re"etici$n del comando "ara cada servidor De manera "redeterminada& al instalar SQL Server& se crea un gru"o SQL Server& llamado Gru"o de SQL Server 8ara crear un gru"o de servidores& seguir estos "asosB - 8ulsar 6nicio& a"untar a 8rogramas& a"untar a Microsoft SQL Server ' a continuaci$n elegir ?dministrador cor"orativo "ara iniciar la a"licaci$n ?dministrador cor"orativo 2l lado i#,uierdo de la ventana del ?dministrador cor"orativo muestra las car"etas gru"os de servidores como subcar"etas de Servidores Microsoft SQL Server& ' el lado derec*o de la ventana contiene los iconos de gru"os de servidores 8ara crear un gru"o de SQL Server& "ulsar con el bot$n derec*o la car"eta Servidores Microsoft SQL Server ' a continuaci$n elegir >uevo gru"o de SQL Server en el men4 de conte5to ,ue a"arece

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

Re/ist"% $el se"#i$%"


@ras crear un gru"o de SQL Server se "ueden registrar los servidores locales o remotos como miembros del gru"o 8ara registrar un servidor *a' ,ue seguir estos "asosB 8ulsar con el bot$n derec*o del rat$n un icono de gru"o de servidores en el "anel derec*o de la ventana de ?dministrador cor"orativo (Si el encabe#amiento Servidores Microsoft SQL Server est% e5"andido& tambi(n se "uede "ulsar con el bot$n derec*o el nombre de la car"eta de gru"o en el "anel i#,uierdo ) 2legir >uevo registro de servidor SQL Server en el men4 de conte5to ?"arece la "antalla de bienvenida del ?sistente "ara registro de servidor SQL Server 8ara muc*as de las tareas de administraci$n rutinarias ,ue se reali#ar%n utili#ando el ?dministrador cor"orativo se "ro"orciona un asistente ,ue a'uda a trav(s del "roceso 8ulsar Siguiente "ara continuar el "roceso de registro ?"arece la "antalla Seleccionar un servidor SQL Server Las instalaciones de SQL Server dis"onibles en la red se muestran en el cuadro de lista Servidores dis"onibles Seleccionar los servidores ,ue se ,uieran registrar (o escribir un nombre de servidor en el cuadro de te5to) ' "ulsar a continuaci$n ?gregar "ara mover el nombre de servidor al cuadro de lista Servidores agregados @ras com"letar las selecciones& "ulsar Siguiente ?"arece la "antalla Seleccionar un modo de autenticaci$n Seleccionar el ti"o de seguridad ,ue se ,uiera utili#ar "ara conectar a la instalaci$n de SQL Server (Si se reali#$ una 6nstalaci$n t+"ica& SQL Server 'a est% configurado "ara utili#ar el modo de autenticaci$n de =indo7s >@ ) 8ulsar Siguiente "ara continuar 5 ?"arece la "antalla ?sistente "ara registro de servidor SQL Server Se "uede seleccionar un gru"o e5istente al ,ue se "uede agregar el servidor o crear un gru"o de servidores de nivel su"erior "ara el servidor Si se ,uiere agregar el servidor a un gru"o e5istente& "ulsar la "rimera o"ci$n de la "antalla ' a continuaci$n seleccionar el nombre del gru"o de la lista de o"ciones des"legable Si se desea crear un gru"o& "ulsar la segunda o"ci$n ' luego escribir el nombre del gru"o en el cuadro de te5to 8ulsar Siguiente "ara continuar

?"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

Cam*ia" la c% t"ase:a &"e$ete"mi a$a


@odas las instalaciones de SQL Server tienen una cuenta administrativa incor"orada& la cuenta sa (s'stem administrator) 2n instalaciones nuevas la cuenta del usuario sa no tiene asignada una contrase3a 8ara asegurar el ma'or nivel de seguridad en la instalaci$n de SQL Server& se debe asignar una contrase3a a la cuenta sa 8ara *acer esto& se deben seguir estos "asosB 2 D A ?cceder al servidor cu'a contrase3a se ,uiere cambiar

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

ESTRUCTURA DE LAS ;ASES DE DATOS


!na ve# se *a instalado Microsoft SQL Server 2000 ' se *a dise3ado una distribuci$n de bases de datos ' discos& se est% "re"arado "ara crear una base de datos SQL Server 2000 *ace uso de los m(todos me0orados de almacenamiento de datos ' administraci$n del es"acio ,ue se "resentaron en SQL Server C Las versiones anteriores del "roducto utili#aban dis"ositivos l$gicos ' segmentos de un tama3o fi0o "ara el almacenamiento de los datos) SQL Server 2000 usa arc*ivos ' gru"os de arc*ivos ,ue "ueden ser configurados "ara ,ue cre#can o decre#can autom%ticamente :ada base de datos de SQL Server 2000 se crea a "artir de un con0unto de arc*ivos del sistema o"erativo 2stos arc*ivos se "ueden agru"ar en gru"os de arc*ivos "ara me0orar la administraci$n de datos& el em"la#amiento de datos ' el rendimiento 2n esta secci$n se a"render% acerca de los arc*ivos ' gru"os de arc*ivos de SQL Server ' se e5aminar% su "a"el en la creaci$n de bases de datos

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

Re/las = "ec%me $aci% es

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

C"ecimie t% a)t%m>tic% $e a"c<i#%s


SQL Server "ermite ,ue los arc*ivos cre#can autom%ticamente cuando sea necesario :uando se crea un arc*ivo se "uede es"ecificar si se "ermite a SQL Server *acer crecer autom%ticamente al arc*ivo 8ermitir el crecimiento autom%tico& ,ue es la o"ci$n "redeterminada cuando se crea una base de datos& se recomienda& 'a ,ue a*orra al administrador la molestia de su"ervisar ' aumentar manualmente el es"acio de arc*ivo !n arc*ivo se crea con un tama3o inicial :uando se llena el es"acio inicial& SQL Server aumentar% el tama3o del arc*ivo en una cantidad es"ecificada& conocida como el incremento de crecimiento :uando se llena este nuevo es"acio& SQL Server asignar% otro incremento de crecimiento 2l arc*ivo continuar% creciendo en la cantidad es"ecificada& seg4n se va'a necesitando& *asta ,ue el disco est( lleno o *asta ,ue se alcance el tama3o m%5imo de arc*ivo (si se *a es"ecificado)
ota! #l crecimiento automtico de archivos es diferente al llenado proporcional. ,on el crecimiento automtico de archivos, "$% "erver aumenta el tama=o de un archivo cuando <ste se llena. ,on el llenado proporcional, "$% "erver pone los datos en los archivos en proporcin a la cantidad de espacio )ue tienen disponible los archivos pero no aumenta el tama=o de los archivos.

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

;ASES DE DATOS DEL SISTEMA


?l instalar SQL Server se crean cuatro bases de datos del sistemaB las bases de datos master, tempdb, model ' msdb 2stas bases de datos se describen en la siguiente listaB

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

CREACIN DE ;ASES DE DATOS


SQL Server "ro"orciona tres m(todos "ara la creaci$n de una base de datosB el ?sistente "ara creaci$n de bases de datos& el ?dministrador cor"orativo de SQL Server ' comandos @FSQL ,ue "ueden guardarse en un arc*ivo ' e0ecutarse como un arc*ivo de comandosB 2l ?sistente "ara creaci$n de bases de datos tiene algunas limitaciones ,ue deben tenerse en cuenta 2l asistente coloca todos los arc*ivos de datos ,ue crea en una sola unidad de disco en la car"eta ,ue se le es"ecifi,ue >o se "uede "oner arc*ivos de datos en "osiciones f+sicas diferentes (ni en unidades diferentes ni en car"etas diferentes) si se utili#a el asistente Se "ueden "oner arc*ivos de registro en una unidad o una car"eta se"arada de los arc*ivos de datos "ero& nuevamente& en una 4nica "osici$n f+sica >o "ueden es"ecificarse gru"os de arc*ivos definidos "or el usuario& ' todos los arc*ivos *eredan las mismas o"ciones de crecimiento Debido a estas limitaciones& el ?sistente "ara creaci$n de bases de datos es la me0or elecci$n si s$lo se necesita un arc*ivo de datos "rinci"al ' un arc*ivo de registro de transacciones en la base de datos (8or otra "arte& siem"re se "ueden a3adir arc*ivos ' gru"os de arc*ivos a la base de datos "osteriormente si se necesitan ) Deber+a usarse el ?dministrador cor"orativo o un arc*ivo de comandos @FSQL "ara crear la base de datos si se tienen arc*ivos de datos secundarios ,ue se ,uieren colocar en una unidad de disco distinta de la ,ue contenga el arc*ivo de datos "rinci"al& si se ,uieren a3adir gru"os de arc*ivos definidos "or el usuario o si se necesitan o"ciones de crecimiento distintas "ara los diferentes arc*ivos

Us% $el Asiste te &a"a c"eaci. $e *ases $e $at%s


8ara creadores de bases de datos "rinci"iantes& el ?sistente "ara creaci$n de bases de datos "uede ser el m(todo m%s f%cil) si& de todas formas& se a0usta a las necesidades "ro"ias a "esar de las limitaciones antes mencionadas& debe usarse Ga' ,ue seguir estos "asos "ara crear una base de datos& si se ,uiere utili#ar el ?sistente "ara creaci$n de bases de datosB - 6niciar el ?dministrador cor"orativo de SQL Server ' seleccionar el servidor en el ,ue se ,uiere crear la base de datos 8ara seleccionar el servidor *a' ,ue comen#ar "or e5"andir la car"eta Servidores Microsoft SQL Server (8ulsar el signo m%s a la i#,uierda del nombre de la car"eta )& e5"andir la car"eta Gru"o de SQL Server ' a continuaci$n "ulsar en el nombre del servidor ,ue ,uiera usarse 2n el men4 Gerramientas& seleccionar ?sistentes&25"andir Base de datos

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

Us% $el A$mi ist"a$%" c%"&%"ati#%


2l ?dministrador cor"orativo de SQL Server da la ca"acidad de crear bases de datos m%s com"le0as ,ue las creadas con el ?sistente "ara creaci$n de bases de datos Se "ueden es"ecificar o"ciones de crecimiento "ara cada arc*ivo ,ue se cree& en ve# de "ara todos los arc*ivos en gru"o ' se "ueden crear gru"os de arc*ivos definidos "or el usuario 8ara crear una base de datos utili#ando el ?dministrador cor"orativo *a' ,ue reali#ar los "asos resumidos en la siguiente lista 2n el e0em"lo se crear% una base de datos de muestra llamada MiBD con un arc*ivo de datos "rinci"al& tres arc*ivos de datos secundarios (,ue residen en un mismo gru"o de arc*ivos definido "or usuario) ' un arc*ivo de registro ?brir el ?dministrador cor"orativo 2n el "anel i#,uierdo& e5"andir el gru"o de SQL Server ,ue contenga el nombre del servidor sobre el ,ue se ,uiere crear la base de datos ' e5"andir el "ro"io nodo del servidor ? continuaci$n "ulsar con el bot$n derec*o del rat$n en la car"eta Bases de datos ' elegir >ueva base de datos 2 Se abre la ventana 8ro"iedades de la base de datos& con la "esta3a General en "rimer "lano& como se ve en la figura siguiente 2scribir el nombre de la base de datos en el cuadro >ombre

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

E?AMINAR ;ASES DE DATOS


@ras crear una base de datos se "uede utili#ar el ?dministrador cor"orativo "ara e5"lorar ' ver ob0etos en ella @ambi(n "uede verse informaci$n acerca de una base de datos mediante la e0ecuci$n de comandos SQL con ;SQL en l+nea de comandos

Us% $el A$mi ist"a$%" c%"&%"ati#%


8ara ver informaci$n de la base de datos utili#ando el ?dministrador cor"orativo se deben seguir estos "asosB - 2n el ?dministrador cor"orativo& e5"andir ("ulsando los signos m%s) las listas del gru"o SQL Server& el nombre del servidor en ,ue reside la base de datos ' la car"eta Bases de datos 8ulsar el nombre de la base de datos ,ue se desee "ara mostrar los ob0etos ,ue contienen la base de datos

;ORRAR UNA ;ASE 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

Us% $el A$mi ist"a$%" c%"&%"ati#%


:omo se *a mencionado anteriormente& el ?dministrador cor"orativo "ermite reali#ar administraci$n sobre las bases de datos adem%s de ver informaci$n 8ara borrar "ermanentemente una base de datos ' todos sus arc*ivos utili#ando el ?dministrador cor"orativo *a' ,ue seguir estos "asosB 2 D - 2n el ?dministrador cor"orativo& e5"andir el gru"o SQL Server ' el nombre del servidor en ,ue la base de datos se *alla instalada 2 Des"legar la car"eta Bases de datos "ara ver las bases de datos dis"onibles

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

TA;LAS EN LAS ;ASES DE DATOS


!na ve# se *a'a creado una base de datos (con arc*ivos ' gru"os de arc*ivos)& el siguiente "aso es crear los ob0etos& denominados tablas& ,ue "ermiten organi#ar ' almacenar los datos 2ste a"artado e5amina las decisiones "rinci"ales ,ue im"lica la creaci$n de una tabla de una base de datos La creaci$n de una tabla "uede ser un "roceso ligeramente com"licado debido a las muc*as o"ciones ,ue se encuentran dis"onibles 8rimero se e5aminar%n los re,uisitos b%sicos "ara una tabla ' seguidamente se e5"lorar%n algunas de las o"ciones& dando e0em"los mientras se avan#a 2n este a"artado se a"render% sobre ti"os de datos definidos "or el usuario ' "or el sistema& c$mo ubicar tablas en gru"os de arc*ivos& valores >!LL ' la "ro"iedad 6D2>@6@Z Se a"render% a crear una tabla mediante la utili#aci$n del ?dministrador cor"orativo ?l tiem"o ,ue se em"ie#an a dise3ar las tablas de la base de datos se deben tomar varias decisiones en relaci$n con su estructura 2stas decisiones inclu'en la determinaci$n de ,u( "artes de los datos necesitan almacenarse en las tablas ' c$mo deben relacionarse las tablas entre s+ 2ste "roceso a'udar% a tener una visi$n global antes de entrar en los detalles de la creaci$n de tablas La siguiente lista da un es,uema de estas decisiones de dise3oB [ WQu( datos contendr% cada tablaX [ WQu( columnas deben crearse "ara albergar los datos ' c$mo deben llamarseX [ W:u%les son los re,uisitos del rango de los datos ,ue se "ermitir+a contener a una columna ,u( ti"o de datos Microsoft SQL Server 2000 debe utili#arse "ara cada columnaX [ WGa' alguna columna a la ,ue se deba "ermitir contener valores >!LL o "ueden utili#arse valores "redeterminados en su lugarX (8ermitir valores >!LL "rovoca ma'or carga de "rocesamiento ,ue la utili#aci$n de valores "redeterminados ) [ WQu( columnas ser%n claves "rinci"ales ' cu%les ser%n claves a0enasX [ WQu( ti"o de +ndices (agru"ados o no agru"ados) debe tener la tabla ' en ,u( columna columnas deben definirse dic*os +ndicesX [ WQu( usuarios deben tener acceso a ,u( tablasX Se debe intentar resolver tantas de estas decisiones de dise3o como sea "osible ' re"resentarlas sobre "a"el o con diagramas en "antalla "ara entender el dise3o general de las tablas de la base de datos antes de crearlas @ambi(n se debe averiguar de los usuarios la manera en ,ue se acceder% a los datos 8or e0em"lo& averiguar si una tabla determinada ser% de s$lo lectura o si se reali#aran inserciones& eliminaciones ' actuali#aciones Determinar ,u( consultas se reali#ar%n m%s frecuentemente ' ,u( columnas necesitan recu"erarse 2stablecer ,u( informaci$n se necesita realmente en la base de datos ' cu%l es innecesaria almacenar 2sta informaci$n a'udar% a decidir la manera de construir tablas e +ndices& ,u(

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

RE,ASO DE CONCE,TOS ;@SICOS SO;RE TA;LAS


2n esta secci$n se revisar%n algunos conce"tos sim"les "ero im"ortantes acerca de las tablas Se inclu'e una tabla de base de datos de muestra "ara "resentar los elementos b%sicos de una tabla ' se a"render% sobre los ti"os de datos del sistema& ' c$mo crear ' eliminar ti"os de datos definidos "or el usuario De-i ici. $e ta*la $e ) a *ase $e $at%s !na tabla es un ob0eto de una base de datos ,ue almacena datos en una colecci$n de filas ' columnas !na tabla se define "or las columnas ,ue contiene ?s+& los datos "ueden organi#arse de forma similar a una *o0a de c%lculo& como se ilustra en la tabla siguiente& ,ue muestra una tabla de base de datos de e0em"lo llamada 6nfoY8roductos La tabla I -%A,"%$)ct%s se utili#a "ara almacenar informaci$n sobre cada "roducto ,ue *a'a a la venta en una tienda :uando un "roducto se *alle dis"onible "ara la venta& se a3aden sus datos como una nueva fila de la tabla 2sta tabla contiene cinco columnas de informaci$nB 54:Producto, ombre:Producto, 4escripcin, Precio e 54:Marca. La tabla anterior ilustra una muestra de tres filas de datos de la tabla 6nfoY8roductos @abla 5nfo:Productos
IDA,"%$)ct% N%m*"eA,"%$)ct% 2 D @ienda cinco "ies Miniestufa Moc*ila Desc"i&ci. 8ara una o dos "ersonas ?limentada con ,ueroseno :on estructura de acero ,"eci% /0&00 20&00 E0&00 IDAMa"ca -2 DD -5

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

char Q(n)R cursor datetime

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

-E b'tes "ara el "untero

integer o int mone'

A b'tes / b'tes

nchar G&n(H

2 b'tes 5 el n4mero de caracteF res introducidos

nte5t

-E b'tes "ara el "untero ' 2 b'tes 5 el n4mero de caracteres introducidos "ara los datos

nvarchar

2 b'tes 5 el n4mero de caracte res introducidos

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

tin'int uni)ueidentifier varbinar'

- b'te -E b'tes Longitud real de los datos introducidos S A b'tes

varchar G&n(H

Longitud real de los datos introducidos

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

USO DE VALORES NULL


!n valor >!LL es un valor desconocido al ,ue se le refiere como >!LL La admisi$n de nulos de una columna se refiere a la "osibilidad de la columna de ace"tar o rec*a#ar valores >!LL !n valor >!LL en una columna indica normalmente ,ue no se *a introducido nada "ara una fila "articular de datos "or,ue el valor es desconocido& no a"licable& no definido o se *a de a3adir en un momento "osterior Los valores >!LL no son ni valores vac+os ni valores 0) sus valores verdaderos son desconocidos Fas+& no *a' dos valores >!LL ,ue sean iguales 8odr+a necesitarse una columna con nulos si la informaci$n ,ue se necesita no se encuentra a4n dis"onible F"or e0em"lo& la inicial del segundo nombre de un cliente WQu( deber+a contener la columna en un registro de alguien ,ue no tiene segundo nombre ' ,ue& "or tanto& no tiene inicial de su segundo nombreX Si se "ermite >!LL en esa columna& un valor nulo en ese registro ser+a verdadero ' tendr+a sentido "ermitir+a saber ,ue esa informaci$n no es a"licable :omo norma general se debe evitar el uso de valores >!LL :ausan ma'or com"le0idad en consultas ' actuali#aciones ' algunas o"ciones& como claves "rinci"ales ' la "ro"iedad 6D2>@6@Z no "ueden utili#arse en una columna con nulos !na e5celente alternativa a "ermitir >!LL en una columna es definir un valor "redeterminado en esa columna Si se define una columna ,ue "ermita valores >!LL& se "uede introducir un >!LL en esa columna de una de estas dos manerasB

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

ADICIN DE LA ,RO,IEDAD IDENTITY


?l crear una tabla se "uede es"ecificar una columna como columna de identidad a3adiendo la "ro"iedad 6D2>@6@Z a la definici$n de la columna Si se crea una columna con la "ro"iedad 6D2>@6@Z& SQL Server genera autom%ticamente un valor de fila "ara esa columna& bas%ndose en un valor semilla ' un valor de incremento 2l valor semilla es un valor ,ue ser% el valor de identidad "ara la "rimera fila insertada en la tabla 2l incremento es la cantidad en la ,ue SQL Server aumentar% el valor identidad "ara inserciones sucesivas :ada ve# ,ue se inserte una fila& SQL Server asigna el valor de identidad actual a la columna de identidad de la fila La siguiente fila ,ue se inserte recibir% un valor identidad ,ue sea un incremento ma'or ,ue el valor identidad actual m%s alto De esta forma& cada fila ,ue se inserte recibe un valor de identidad 4nico La "ro"iedad de identidad es 4til "ara columnas en las ,ue cada fila de esa columna deba tener un 6D 4nico& como la c%l)m a IDA,"%$)ct%. 2s m%s f%cil de0ar ,ue SQL Server genere el valor de identidad de las filas ,ue se inserten ,ue llevar la cuenta de cu%l debe ser el siguiente valor ,ue se inserte !na columna de identidad se utili#a com4nmente como restricci$n de clave "rinci"al en la tabla "ara identificar de manera 4nica a una fila 8or e0em"lo& si se es"ecifica 6D2>@6@Z (0&-0)& la "rimera fila ,ue se inserte tomar% un valor de columna de identidad de 0& la segunda fila tomar% -0& la tercera fila tomar% 20& ' as+ sucesivamente Los valores de semilla e incremento "redeterminados& si no se es"ecifica ninguno son (-& -) Se deben es"ecificar los dos "ar%metros o ninguno S$lo se "ermite una columna de identidad "or tabla De forma "redeterminada& no se "ueden insertar datos directamente en las columnas de identidad ni "ueden ser actuali#ados

CREACION DE UNA TA;LA MEDIANTE EL ADMINISTRADOR COR,ORATIVO


?*ora ,ue se entienden los elementos b%sicos de la creaci$n de tablas utili#ando SQL Server "asar% "or un e0em"lo de uso del ?dministrador cor"orativo "ara crear una tabla Sin embargo o& antes de comen#ar este "roceso es cr+tico recordar ,ue cuando se dise3en bases de datos "ro"ias se deben dise3ar todas las tablas de la base de datos ' sus relaciones antes de em"e#ar realmente a crearlas 8ara crear una tabla de base de datos utili#ando el ?dministrador cor"orativo *a' ,ue seguir estos "asosB

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

Asi/ aci. = m%$i-icaci. $e $e-i ici% es $e #al%"es &"e$ete"mi a$%s


Se su"one ,ue *a' una tabla denominada Product:info en la base de datos M'DB La estructura de la tabla se muestra en la figura siguiente

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

C"eaci. = /esti. $e l%s %*Bet%s De-a)lt


!sando el ?dministrador cor"orativo& tambi(n se "uede crear un ob0eto 4efault ' ver los ob*etos 4efault ,ue e5isten 8ara ver cual,uier ob0eto 4efault e5istente& se abre el ?dministrador cor"orativo ' se e5"ande el servidor ' la base de datos ,ue se ,uiere usar& se "ulsa en Talores "redeterminados @odos los ob0etos 4efault a"arecen en la secci$n de la derec*a 8ara crear un nuevo ob0eto 4efault ' vincularlo a una columna o a un ti"o de datos definido "or el usuario usando el ?dministrador cor"orativo& *a' ,ue seguir los siguientes "asosB - 25"andir el servidor ' la base de datos& "ulsar con el bot$n derec*o en Talores "redeterminados ' elegir >uevo valor "redeterminado del men4 conte5tual "ara mostrar la ventana 8ro"iedades "redeterminadas& como se muestra en la figura siguiente 2l ob0eto 4efault sellamar% 4D:none ' se le asignar% el valor NnoneN. 8ulsar ?ce"tar cuando se *a'a terminado

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

a3adido do a la lista :olumnas enla#adas la columna phone de la tabla customer:data.(

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

CREACIN Y USO DE UN DIAGRAMA DE ;D


Las tablas tambi(n se "ueden modificar mediante un diagrama de base de datos en el ?dministrador cor"orativo 8ara crear un diagrama de base de datos "ara MiBD con las dos tablas e0em"lo 0ic'cle:"ales ' 0ic'cle:5nventor' *a' ,ue seguir estos "asosB 25"andir MiBD en el "anel i#,uierdo del ?dministrador cor"orativo ' entonces "ulsar con el bot$n derec*o del rat$n sobre Diagramas 2legir >uevo diagrama de base de datos del men4 conte5tual "ara mostrar la "antalla de bienvenida del ?sistente "ara creaci$n de diagramas de bases de datos 8ulsar Siguiente "ara visuali#ar la "antalla Seleccionar tablas "ara agregar mostrada en la siguiente figura Ga' ,ue seleccionar las tablas ,ue se desean incluir en el diagrama de la lista @ablas dis"onibles ' des"u(s "ulsar ?gregar 2n este e0em"lo *emos agregado las tablas 0ic'cle:5nventor' ' 0ic'cle:"ales.

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

RESTRICCIONES DE FOREIGN DEY EN LOS DIAGRAMAS DE ;D


2n los diagramas de base datos& una de las "osibilidades mas usadas es la de establecer restricciones 9;R26G> I2Z (:lave ?0ena) 8ara a"render a crear ' modificar

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

Вам также может понравиться