Archive for the ‘Tutoriales’Category

[Tutorial]Configuración de SQL Server mediante la línea de comandos

Por Daniel Castañeda, para Comunidad LinuxSsur.

Terminal

Este artículo describe cómo configurar el motor de base de datos SQL Server Express mediante la interfaz de comandos. Se explica cómo crear una cuenta de SQL Server para usar la base de datos tanto con una cuenta de Administrador como con cualquier otra cuenta del sistema operativo.

El servidor SQL Server Express no trae un Administrador Corporativo, por lo tanto me vi en la obligación de investigar cómo usar la interfaz de comandos. El comando para ingresar al servidor es osql. En el servidor se pueden crear cuentas de usuario, y asignar permisos a los usuarios.
El comando para ingresar al servidor es el siguiente:

> osql -S .\SQLEXPRESS -E

La primera opción indica el servidor al cual conectar y la segunda, llamada conexión de confianza, indica que usaremos la autentificación de Windows. Si estamos usando el sistema operativo con una cuenta de Administrador tendremos todos los privilegios para administrar el servidor. Al ingresar con la opción conexión de confianza ingresamos con el usuario guest de SQL Server.
La orden para ver la lista de opciones es:

> osql -?

Al entrar al servidor aparece el siguiente prompt:

1>

Allí se ingresan los comandos sql. Este programa procesa las instrucciones por lotes, por lo tanto se puede indicar varias instrucciones, y luego pasar a ejecutar el lote. Por eso es necesaria la instrucción go para ver algún resultado. La siguiente consulta muestra la lista de bases de datos del sistema:

1> select name from sys.databases
2> go

Desde aquí, con una cuenta Administrador ya se puede crear una base de datos y hacer un programa que realice consultas sobre la base de datos. Pero para mi esto no basta, ya que me obliga a usar una cuenta de Administrador para desarrollar el programa y además obligo al usuario del programa, en este caso mi profesor, a ejecutarlo con una cuenta de Administrador, y como queremos mantener la seguridad en nuestro sistema, no vamos a usar la máquina con la cuenta Administrador.
Antes de continuar trabajando en el servidor, debemos habilitar la autentificación estándar de nuestro motor de base de datos. Para ello se edita el registro de Windows. Dirígete a:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL.1\MSSQLServer

MSSQL.1 es el nombre de la instancia en mi sistema operativo. Debes encontrar la clave LoginMode, y establecerla con el valor 2. Esto habilita los dos tipos de autentificación, la seguridad integrada de Windows y la autentificación de SQL Server. A continuación, para asegurarte de que el servidor halla acogido los cambios en la configuración, reinícialo.

Ahora que ya está habilitada la autentificación de SQL Server, pasamos a crear una cuenta. Con una cuenta Administrador, ingresa a la interfaz de comandos del servidor. Lo que hacemos para crear una cuenta son dos cosas: primero se crea una cuenta y luego se crea un usuario asociado a la cuenta.

> create login dani with password = ‘asdf’
> create user dani for login dani
> go

Después de esto podrás ingresar a la interfaz de comandos de SQL Server con tu nuevo usuario. Prueba el siguiente comando para confirmar que la cuenta está bien:

> osql -S .\SQLEXPRESS -U dani

Si has logrado entrar, ya tienes una cuenta de SQL Server. Ahora debes asignarle permisos, porque como está, no sirve ni de adorno en la mesa de centro.
En SQL Server se puede establecer permisos para objetos, instrucciones y roles.
Los permisos de objetos se aplican a los objetos, e incluyen SELECT, INSERT, DELETE, UPDATE, EXECUTE y DRI.
Los permisos de instrucciones se aplican a instrucciones por sobre un objeto, y se tratan de crear bases de datos u objetos dentro de una base de datos. Incluyen BACKUP DATABASE, BACKUP LOG, CREATE DATABASE, CREATE DEFAULT, CREATE FUNCTION, CREATE PROCEDURE, CREATE RULE, CREATE TABLE, CREATE VIEW.
Roles. Un usuario de SQL Server puede tomar roles que le otorgan permisos sobre toda la base de datos o una parte de ella. Todos los usuarios pertenecen de partida al rol public.
La estrategia que tomé fue la de otorgar permiso para la instrucción CREATE DATABASE a mi usuario. De esa forma, el es el propietario de la base de datos, y tiene control completo sobre ella. Ello se logra mediante el siguiente comando:

> grant create database to dani
> go

Otra solución que valdría la pena investigar es hacer a un usuario propietario de una base de datos, asignando al usuario el rol db_owner de la base de datos. Como propietario de la base de datos, tiene control completo sobre ella para crear tablas y realizar consultas.

Ahora si puedes crear una base de datos y empezar con tablas. He aquí una instrucción para crear una base de datos:

> create database Productos on(
> name=’prods.dat’,
> filename=’c:\bds\prods.mdf’,
> size=4,
> maxsize=10,
> filegrowth=1)
> go

Ahora entra con una cuenta de usuario limitado, ingresa al servidor y prueba la base de datos. Aquí van los pasos para crear una tabla e ingresar un par de datos.

> use Productos
> create table test (id int)
> insert into test(id) values(1)
> insert into test(id) values(2)
> insert into test(id) values(3)
> select id from Productos
> go

Con eso debieras disponer de una base de datos para trabajar. Espero que este artículo te haya servido.

Referencias:

Microsoft SQL Server 2000 Running – Guía completa
conceptos básicos sobre T-SQL, tipos de datos. Idioma: Español

Referencia completa de T-SQL. Idioma: Inglés.
habilitar autentificación de SQL Server. Idioma: Español
Roles. Idioma: Inglés.
Administración de permisos. Idioma: Inglés.
consultas SQL. Idioma: Español.

23

06 2009

[VideoTutorial]MonoDevelop Primeros pasos

Como habíamos hablado antes, Mono es un Proyecto para trabajar en .NET pero en Linux y Mac. La gracia es que Mono soporta tanto VB y C#.

Por otra parte Mono es solamente un Interprete de Ejecución. Para agregar formularios al estilo .NET en Windows, existe el proyecto MonoDevelop que de alguna forma es como un IDE de .NET.

Nuestro amigo de CASIDIABLO.NET hizo un Video Tutoríal introductorio a este IDE de desarrollo para Linux y Mac ;) .

14

06 2009