Compartir a través de


Crear y modificar objetos de servidor y base de datos

Los objetos de base de datos definen la estructura del contenido de la base de datos. Estos objetos se encuentran en un proyecto de base de datos que también puede incluir planes de generación de datos y scripts. Los objetos de servidor definen objetos que existen en el servidor de bases de datos pero no en una base de datos, como inicios de sesión, certificados o mensajes de error personalizados. Los objetos de servidor se incluyen en los proyectos de servidor.

En el Explorador de soluciones, las definiciones de los objetos de servidor y de base de datos se incluyen en archivos y agrupan por tipos en el proyecto de base de datos o de servidor. Cuando se trabaja con objetos de base de datos y de servidor, puede resultar más intuitivo utilizar la Vista de esquema, donde los objetos se agrupan por tipos. Un archivo del proyecto de base de datos se analizará en busca de una definición de objeto de base de datos si el archivo está marcado con Build Type Generar. No se considera que contienen objetos de base de datos ni aparecen en la Vista de esquema los archivos contenidos en el proyecto de base de datos pero que tienen otro valor para Build Type.

Tareas comunes

En la siguiente tabla, encontrará descripciones de tareas comunes que admiten este escenario y vínculos para obtener más información acerca de cómo puede completar correctamente dichas tareas.

Tarea

Contenido adicional

Obtenga el ejercicio práctico: puede seguir los tutoriales preliminares para familiarizarse con cómo crear un proyecto de base de datos y sus objetos, y cómo modificar esos objetos.

Obtenga más información sobre objetos de base de datos y de servidor: más adelante en este mismo tema, puede obtener más información sobre los objetos de base de datos y de servidor, y también sobre cómo se resuelven los nombres, cómo se hace referencia a los nombres de la base de datos en las definiciones de objeto, y cómo se validan los objetos.

  • Definiciones de objeto

  • Objetos en el Explorador de soluciones y la Vista de esquema

  • Resolución de nombres de objetos

  • Hacer referencia al nombre de la base de datos en las definiciones de objeto

  • Opciones de SET en el nivel del objeto

  • Validación de objetos

Entienda las dependencias entre los objetos de base de datos: puede ver los objetos de los que depende un objeto de base de datos y los objetos que dependen de ese objeto.

Agregue objetos al proyecto de la base de datos o de servidor: puede agregar objetos al proyecto de base de datos o de servidor mediante cualquiera de los métodos siguientes:

  • Puede importar los objetos desde un script o desde un servidor o base de datos actualizado.

  • Puede crear objetos en el esquema predeterminado o en un esquema concreto.

  • Puede agregar al proyecto archivos que contienen definiciones de objeto.

  • Puede personalizar las opciones de nivel de objeto (denominadas opciones de SET) después de agregar los objetos al proyecto.

  • Puede especificar permisos para los objetos de la base de datos.

Agregue objetos especializados al proyecto de base de datos o de servidor: para agregar algunos tipos de objeto al proyecto, debe seguir un procedimiento ligeramente diferente que es específico de ese tipo de objeto.

  • Puede definir opciones de tabla y de índice.

  • Puede agregar un usuario a un rol.

  • Puede definir catálogos de texto completo.

  • Puede definir grupos de archivos y archivos.

Modifique objetos de base de datos o de servidor: puede modificar las definiciones de los objetos del proyecto de servidor o de base de datos. También puede modificar las opciones de SET de nivel de objeto de esos objetos.

Quite objetos del proyecto de base de datos o de servidor: puede eliminar objetos del proyecto de base de datos o de servidor para quitarlos permanentemente. También puede excluir temporalmente objetos que todavía están en desarrollo.

Personalice las plantillas de los objetos de base de datos y de servidor: puede ver y modificar las plantillas que utiliza para crear objetos de base de datos y de servidor.

Solucione problemas: puede obtener más información sobre cómo solucionar problemas comunes con los proyectos de servidor y de base de datos.

Definiciones de objeto

Los objetos de base de datos y de servidor se definen en un conjunto de archivos .sql que se almacenan en la carpeta del proyecto. La mayoría de los objetos se definen en archivos independientes. Excepciones a esta norma son las columnas de una tabla y los parámetros de un procedimiento almacenado o una función. Las columnas se especifican en el archivo que contiene la definición de tabla. Los parámetros se especifican en el archivo que contiene el procedimiento almacenado o la función.

La propiedad Acción de compilación de un archivo .sql indica si se analiza el archivo para comprobar si contiene la definición de un objeto de base de datos. De manera predeterminada, los archivos que contienen definiciones de objetos de base de datos se establecen en Compilar y otros scripts .sql y archivos de diversa índole se establecen en No está en la compilación. La propiedad Acción de compilación también determina si el archivo se incluye en el script de compilación.

El nombre del objeto determina su nombre de archivo y su tipo determina cuál será su extensión de nombre de archivo predeterminada. Por ejemplo, las funciones se incluyen en archivos que se denominan nombreDelObjeto.function.sql. En cambio, los procedimientos almacenados se incluyen en archivos que se denominan nombreDelObjeto.proc.sql.

Objetos en el Explorador de soluciones y la Vista de esquema

En el Explorador de soluciones, se trabaja con los archivos que el proyecto contiene y que incluyen las definiciones de los objetos. No se puede utilizar la refactorización de cambio de nombre en el Explorador de soluciones. El Explorador de soluciones se utiliza cuando se desea trabajar con archivos; por ejemplo, para proteger el proyecto en el sistema de control de versiones.

En la Vista de esquema se trabaja con los objetos de base de datos. La Vista de esquema se utiliza cuando se trabaja con los objetos y no con los archivos que contienen sus definiciones. Por ejemplo, puede utilizar la Vista de esquema para crear objetos de base de datos.

Resolución de nombres de objetos

En general, los nombres de objetos deben resolverse con las mismas reglas que usa SQL Server. Es posible que haya que calificar completamente algunos objetos sysobject para que se resuelvan correctamente. Si se producen errores o se observa un comportamiento inesperado en casos en los que no se usan los nombres completos de algunos objetos, hay que usar el nombre completo de los objetos para intentar solucionar el problema.

Hacer referencia al nombre de la base de datos en las definiciones de objeto

Puede utilizar el token $(databasename) en un script de definición de objeto de un proyecto de base de datos, pero se aplican las siguientes restricciones:

  • Debe incluir el token entre corchetes, como se muestra en el ejemplo siguiente:

    [$(nombreDeBaseDeDatos)]

  • No se puede usar el token para especificar un nombre en tres partes, como se muestra en el ejemplo siguiente:

    [$(nombreDeBaseDeDatos)].[dbo].[Tabla1]

En el ejemplo siguiente se muestra la forma de usar el símbolo $(nombreDeBaseDeDatos) en un procedimiento almacenado:

CREATE PROCEDURE [dbo].[MyProcedure]
@param1 INT = 0,
@param2 INT
AS
ALTER DATABASE [$(databasename)]
MODIFY FILEGROUP [FileGroup1] DEFAULT
RETURN 0

Opciones de SET en el nivel del objeto

Además de las opciones de SET que se pueden establecer para un proyecto de base de datos, se pueden especificar también los valores de dos opciones para objetos de base de datos individuales. Estas opciones son Nulls ANSI e Identificador entre comillas. De forma predeterminada, las opciones de SET para cada objeto coinciden con las opciones de SET del proyecto de base de datos. Estas dos opciones se pueden establecer en el valor predeterminado del proyecto (activadas) o desactivarlas. Al compilar el proyecto de base de datos, sólo se incluyen en el script de compilación las opciones de SET establecidas en un valor distinto del valor predeterminado del proyecto.

Nota

Al utilizar los comandos Importar script o Importar esquema de base de datos, los valores de las opciones de SET no se importan para los objetos de base de datos individuales. Deberá establecerlos en la ventana Propiedades. Para obtener más información, vea Cómo: Especificar las opciones de SET en el nivel de objeto.

Validación de objetos

La validación tiene lugar cuando se guardan los cambios de un objeto de base de datos que se ha creado o modificado. Los errores en la definición del objeto aparecen en la ventana Lista de errores. Si hace doble clic en el mensaje de error, la definición del objeto se abre para que pueda corregir el error. Los objetos de base de datos que contienen errores muestran un signo de exclamación rojo en los iconos de la Vista de esquema.

Nota

Si un objeto de base de datos no se admite en la versión utilizada, el icono de ese objeto es un triángulo amarillo invertido.

Para obtener más información sobre cómo solucionar problemas de objetos de base de datos, vea Solucionar problemas relacionados con el proyecto de base de datos, la generación y la implementación.

Escenarios relacionados

Vea también

Conceptos

Generar e implementar bases de datos en un entorno de ensayo o de producción

Compilar e implementar bases de datos en un entorno de desarrollo aislado

Cambiar el nombre de todas las referencias a un objeto de base de datos

Escribir y cambiar código de base de datos