Pregunta

Actualmente estoy haciendo un poco de mantenimiento en una solicitud y me he encontrado con un gran problema en relación con el nombre calificado en tsql. Me preguntaba si alguien podría aclarar mi confusión para mí.

Desde mi entender que desea utilizar USE [DatabaseName] para declarar qué base de datos que está utilizando. Me he dado cuenta si u "cambio de nombre" DATABSE la que se actualiza automáticamente estas referencias en el código.

Sin embargo, el desarrollador que originalmente escribió este código utiliza el USE [DatabaseName]. Luego, en declaraciones posteriores, escribió: SELECT * FROM [DatabaseName].[dbo].[Table]. Bueno, esto obviamente se rompe si cambio el nombre de la base de datos. De lo que he leído que quiero calificar nombres únicamente al propietario, tales como:. [dbo].[TableName] para que sepa dónde buscar lo que aumenta el rendimiento

¿Hay una razón por la que incluía el nombre de base de datos en cada declaración?

¿Fue útil?

Solución

Por lo que he leído desea calificar nombres únicamente al propietario, tales como:.. [Dbo] [NombreTabla] para que sepa dónde buscar lo que aumenta el rendimiento

No es que yo sepa, más bien parece que alguien es perezoso.
Yo siempre uso el formato de tres nombre (a menos que el acceso a una instancia de servidor vinculado, entonces es cuatro).

El beneficio es que la tabla correcta de la base de datos y esquema correcto será utilizada sin la preocupación por una declaración USE [appropriate database] errante. Mientras exista el objeto, y los permisos son válidos en base a la necesidad, puede volver a crear un procedimiento almacenado, función, vista, etc en otras bases de datos sin necesidad de hacer frente a la declaración USE [appropriate database] cada vez.

Pero estoy trabajando con la extensión de datos a través de numerosas bases de datos en la misma instancia. Yo no habría necesariamente diseñado de esa manera, pero no cambiaría que utilizo formato de nombre calificado de tres (o cuatro) parte.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top