Mudando propiedade Táboa no SQL Server

Recentemente, tivo a infeliz caso dun servidor ser vivo configuración e utilizado por só un usuario que non se DBO. Ou o programador non coñezo ningún mellor ou ... ben ... era o idiota da aldea ... de calquera forma, entón ... a co código. Aquí está unha simple declaración T-SQL que vai buscar e percorrer todos os procedementos almacenados, táboas e Exposicións e actualiza-los para usar DBO (ou calquera outro usuario quere):

  1
 2
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
  Declare @ tbl sysname
 Declare Cursor INSENSITIVE tblcur PARA
	 sysobjects SELECT nome FROM sysobjects
	 ( 'U' , 'V' , 'P' ) AND uid = user_id ( 'olddbuser' ) Xtype Where IN ('U', 'V', 'P' AND uid = user_id) ("olddbuser)
 OPEN tblcur
 1 Mentres 1 = 1
	 Begin
		 FETCH into tblcur @ tbl
			 0 IF @ @ <0 fetch_status
				 Break

			 'olddbuser.' + @tbl SET @ tbl '= olddbuser.' + @ Tbl 
			 Exec sp_changeobjectowner @ tbl, 'DBO'
	 END
 tblcur DEALLOCATE 

Patróns de Data - ¿Que todo programador debería saber

01 de febreiro de 2009 por AcidRaZor · Deixe un comentario
Arquivo en: Classic ASP , Programación 101 , SQL Server

Hai uns anos cando comece a programar miña primeira tarefa foi a de código dun sistema de intranet capaz de seguir as reunións e algúns funcionarios fixeron tarefas ao longo do día, en base a un calendario. Isto foi antes de saber que o poder de SQL Server 2000 (e agora 2005/2008) tiña e como era doado traballar dentro deses sistemas.

MS Access (que cambiou moito desde 1999) tiña un fallo. El sempre mantivo os formatos de data en dd / mm / aaaa (América é o "mundo" hahahahaha), para iso fixo o meu traballo cada vez máis difícil tentar xestione as datas nun momento Sur africano base (dd / mm / aaaa)

Loitei moito para entender o acto desavergonhado de que o MS Access masacrado insumos miña data, pero eu non podía axudar, pero creo que iso non pode ocorrer a todos os programadores!

Despois de moita dor no corazón e moitas noites sen durmir, finalmente atopei a bala de prata para o lobisomem que foi o MS Access (e outros servidores en todo o mundo rodando en axustes de fuso horario diferente)

aaaa-dd-MMM! Traducido en: 01-Xan-1999, por exemplo, pode introducir calquera data, co 100% de garantía que o seu sono garantido. Este formato de data universal ha traballar en calquera (si, leu! Calquera base de datos) coñecidos polo home e, aínda que os datos en bruto pode ser parecido 1999/09/02 na base de datos, el sempre ha inserir a data correcta en formato correcto na a base de datos, independentemente do fuso horario que o servidor está configurado en!

exampes Classic ASP de lectura fora de data é a seguinte:

  1
  date ( ) ) & amp ; "-" & amp ; Left ( MonthName ( Month ( Date ( ) ) ) , 3 ) & amp ; "-" & amp ; Year ( Date ( ) ) Day (Date ()) & amp; "-" & amp; Esquerda (MonthName (Month (Date ())), 3) & amp; "-" & amp; Year (Date ()) 

SQL Server exemplo usaría DateName en vez de MonthName (que pode ser abreviado sen a esquerda () función que tiña para usar en ASP) e, por suposto, (data) = getdate () no SQL Server ;)

Eu sempre recomendo a lectura para fóra da base de datos (cando é posible) con procedementos almacenados en formato correcto para comezar. Pero cómpre a decidir como usar esa xoia do coñecemento que eu só xogado en ti. E se está lendo este pensamento "Pero eu xa sabía!", Entón pense de novo. Desafortunadamente, en 2009, aínda hai moito algúns programadores incapaces de comprender conceptos simples, como fusos horarios e manipulación de data.

Lembre nenos. Cometer erros cando aínda está de novo no xogo é unha cousa. Brandi un currículo experiencia (currículo), de 3 anos +, e aínda está facendo estes erros é simplemente mal ... escolleu un campo onde tes que evolucionar e buscar respostas constantemente, non estagna ... Vou assombra seus soños se fai :)

SEO Powered by Platinum SEO de Techblissonline