sp_MScheck_uid_owns_anything Devuelve los objetos cuyo owner es el id de owner indicado. Por ejemplo:
USE pubs GO EXEC sp_MScheck_uid_owns_anything 1 GO
sp_MSforeachdb Realiza una misma tarea para todas las bases de datos de un servidor. Por ejemplo, el script siguiente realiza un checkdb por cada base de datos del servidor.
sp_MSforeachtable Realiza una misma tarea para cada tabla de la base de datos actual. Por ejemplo, el siguiente script realiza un dbreindex para cada tabla: EXEC sp_MSforeachtable @command1="print '?' DBCC DBREINDEX ('?')"
Este error se produce cuando en determinados selects hay campos con diferentes collations (colaciones u ordenamientos) y provocan una incompatibilidad al momento de resolver la consulta. Esto se soluciona especificando de manera concreta la collation con la sentencia collate, veamos el ejemplo a continuación usando la base AdventureWorks.
select addressline1 collate SQL_Latin1_General_CP1_CI_AS from Person.Address union all select FirstName collate SQL_Latin1_General_CP1_CI_AS from Person.Contact
Y con la función fn_helpcollations podemos recuperar una lista de collations compatibles con el sistema operativo del server.
select * from fn_helpcollations()
La collation especificada para las bases de datos, campos de tabla especifica la forma en que SQL va a ordenar los campos al momento de presentarlos en pantalla.
Se encuentra un excelente tutorial sobre inyección SQL y como evitarlo y "blindar" nuestras aplicaciones en contra de esta técnica que algunas veces muchos desarrolladores omiten.
Este es un mensaje de error que SQL Server puede llegar a dar al intentar registrar un servidor SQL con seguridad integrada (windows). Después de dar vueltas y vueltas en su momento con este error, ciertamente frustrante en algunos casos, después de investigar bastante, creo que la mejor explicación, la mas completa y concisa está, como muchas veces suele estar, en sqlservercentral:
El siguiente script lo encontré googleando por ahí y me pareció interesante postearlo con la idea de ser utilizado para recuperar la lógica de stored proc encriptados. Aparentemente solo funciona con stored de hasta 4000 líneas, mas allá de eso tira un mensaje de error.
Pero bueno, nada es perfecto es esta vida, pero en general cumple con el objetivo:
Si son suficientemente sagaces podrán notar que reemplazando las partes que dicen "Procedure" por "View" podrían hacer un desencriptador de Vistas encriptadas.
No es una opción muy conocida en general, pero se puede incluir opciones de optimización en caso que los resultados de los planes de ejecución con respecto a los joins no se estén resolviendo de la manera adecuada.
Por eso, para evitar merge joins se puede usar la sentencia Inner Loop Join Por ejemplo: SELECT title_id, pub_name, titleFROM titles INNER LOOP JOIN publishers ON titles.pub_id = publishers.pub_id
Como los bol (books on line) no dicen mucho les dejo un par de links de referencia:
SQL Server 2005 Versión Sqlservr.exe RTM 2005.90.1399 Service Pack 1 de SQL Server 2005 2005.90.2047 Service Pack 2 de SQL Server 2005 2005.90.3042
SQL Server 2000 Versión Sqlservr.exe RTM 2000.80.194.0 Service Pack 1 de SQL Server 2000 2000.80.384.0 Service Pack 2 de SQL Server 2000 2000.80.534.0 Service Pack 3 de SQL Server 2000 2000.80.760.0 Service Pack 3a de SQL Server 2000 2000.80.760.0 Service Pack 4 de SQL Server 2000 2000.8.00.2039
Las siguientes sentencias permiten determinar la versión en ejecución de SQL Server con el correspondiente Service Pack instalado: Para SQL Server 2005 SELECT SERVERPROPERTY('productversion'), SERVERPROPERTY ('productlevel'), SERVERPROPERTY ('edition')
La tabla siguiente muestra el número de versión de Sqlservr.exe:
Versión
Sqlservr.exe
RTM
2005.90.1399
Service Pack 1 de SQL Server 2005
2005.90.2047
Service Pack 2 de SQL Server 2005
2005.90.3042
Para determinar la version de SQL Server 2000 hay que ejecutar:
Al cambiar el modo compatibilidad de 8.0 a 9.0 suelen surgir errorres de compatibilidad entre versiones y muchas sentencias que funcionaban normalmente empiezan a fallar, por caso, cuando existen sentencias ORDER BY basadas en campos con prefijos al estilo ORDER BY tabla.campo SQL Server 2005 asume que no debiera haber ningun tipo de ambiguedad en el campo del ORDER BY y por lo tanto lo espera sin prefijo alguno, por eso tira error. Un interesante artículo puede ser encontrado en: http://geeks.ms/blogs/jalarcon/archive/2007/09/10/compatibilidad-entre-versiones-de-sql-server-problema-la-ordenaci-243-n-order-by-y-los-prefijos.aspx
Existe una herramienta que permite determinar las posible incompatibilidades que puede presentar una base de datos en compatibilidad 8.0 (SQL 2000) al ser actualizada a 9.0. La herramienta se llama SQL Upgrade Advisor y se puede descargar desde: http://geeks.ms/blogs/jalarcon/archive/2007/09/10/compatibilidad-entre-versiones-de-sql-server-problema-la-ordenaci-243-n-order-by-y-los-prefijos.aspx
En la siempre util SQL Server Central podemos encontrar un artículo con una lista de herramientas de plena utilidad para los SQL DBAs http://www.sqlservercentral.com/articles/Miscellaneous/2959/
Para los que no saben inglés les hago un resumen de las herramientas gratuitas propuestas:
FullSun SQL Server Toolkit Es una herramienta con muchas características. Solo disponible para MSSQL 2000. Es básicamente una herramientas de administración y monitoreo.
Esta es una versión gratuita de SQL Manager con funciones administrativas limitadas. Solo disponible para SQL 2005. Una caracteristica interesante es que permite browsear los datos en modo grid o en modo formulario. Requiere registración. Se puede descargar desde: http://www.download.com/3001-10255_4-10594854.html
Provee unas cuantas funciones de monitoreo de contadores de performance tales como: Buffer Cache Ratio, User Connections, Processor Time, etc. Se pueden revisar los procesos SQL, el SQL Log, Job, etc. Requiere registración.
Esta herramienta está pensada para varios motores de bases de datos. Permite formatear sentencias SQL y hacerlas mas legiles al ojo humano. También existen sitios con formateadores gratuitos, tales como SQL Parser
Compresor de archivos compatible con WinZip gratuito, quizás carece de alguna de sus funcionalidades tales como la encriptación, pero de todos modos cumple el objetivo.
Soy Román, Administrador de Bases de Datos SQL Server desde hace largo rato y abro este blog con la idea de compartir experiencia, mostrar novedades, herramientas, tips, scripts para el administrador de bases de datos SQL Server en sus principales versiones 2000 y 2005. Las principales dudas, los errores mas frecuentes, las soluciones mas esperadas, todo eso espero resumirlo en este blog.
Este es mi comienzo y estoy abierto a las propuestas, colaboraciones, comentarios y aportes varios con el fin de darnos elementos y herramientas para mejorar la calidad y productividad del servicio que los administradores SQL Server ofrecemos a las companias.
Nota informativa: La información contenida en este mensaje, así como el código fuente o scripts incluidos en el mismo, se proporciona «COMO ESTÁ», sin garantías de ninguna clase, y no otorga derecho alguno. Usted asume cualquier riesgo al poner en práctica, utilizar o ejecutar lo recomendado o sugerido en el presente mensaje. Se da por entendido que las bases de datos y sistemas son administrados por Administradores Profesionales y competentes en su área de experiencia.
Terms of USE: The Site, and all content, materials, information, software, products and services provided on the Site, are provided on an "as is" and "as available" basis. We expressly disclaims all warranties of any kind, whether express or implied, including, but not limited to, the implied warranties of merchantability, fitness for a particular purpose and non-infringement. We shall have no responsibility for any damage to User's computer system or loss of data that results from the download or use of any content, materials or information from the Site.