lunedì 18 maggio 2009
SQL server 2008 e SQL Servier Browser
Solo per ricordare che dopo aver attivato i vari protocolli di trasmissione, bisogna anche attivare il SQL Server Browser in quanto sql server 2008 ha attivo di default il dynamic port.
giovedì 16 aprile 2009
Come autenticarsi via codice
Mi è capitato di recente di ricevere da un'altra pagina web di una intranet le credenziali dello user loggato. Il mio problema era quindi utilizzare questo user (non mi veniva ovviamente fornita la password) come IPrincipal della mia web app.
Ecco quello che ho trovato:
if (!this.User.Identity.IsAuthenticated)
{
FormsAuthentication.SetAuthCookie(nomeUtente, false);
Response.Redirect(this.Request.FilePath, true);
}
Per prova l'ho messo nella Page_Load() ma sicuramente starebbe meglio in un IHTTPModule.
giovedì 1 gennaio 2009
Aggiornamento server SVN
Un altro fornitore di servizi SVN che mi sono dimenticato di citare nel mio passato post è google stesso.
Seguendo il link di project josting sul sito code.google.com si ha a disposizione uno spazio simile a quello di assembla.
venerdì 17 ottobre 2008
Formato di data in XML
Per non perdere questa informazione ecco il formato di data ufficiale W3C
'-'? yyyy '-' mm '-' dd 'T' hh ':' mm ':' ss ('.' s+)? (zzzzzz)?
Questo è il sito ufficiale
http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/datatypes.html#dateTime
sabato 28 giugno 2008
SVN repositories
Questo è un riassunto di quello che ho ricercato in questi mesi circa gli strumenti di repository e versioning. Tra SVN e CSV ho preferito SVN semplicemente perchè ci sono più strumenti software e più internet repositories (di CVS non ne ho trovato nemmeno uno).
Quindi in locale ho installato TortoiseSVN e il server Subversion; ma in più ho trovato siti che forniscono servizi di SVN server. Ecco quelli che ho trovato:
www.codeplex.com/ e code.google.com/
questi richiedono una licenza open GL o similari.
L'unico che ho trovato che consente di salvare i propri progetti senza licenza open GL è www.assembla.com/
Quindi in locale ho installato TortoiseSVN e il server Subversion; ma in più ho trovato siti che forniscono servizi di SVN server. Ecco quelli che ho trovato:
www.codeplex.com/ e code.google.com/
questi richiedono una licenza open GL o similari.
L'unico che ho trovato che consente di salvare i propri progetti senza licenza open GL è www.assembla.com/
lunedì 28 aprile 2008
Abilitare il broker su di un database
Ecco lo script per abilitare il broker su un database di SQL server
declare @DatabaseName nvarchar(1000)
set @DatabaseName = 'myDatabase'
if((select is_broker_enabled from sys.databases WHERE name = @DatabaseName) = 0)
begin
DECLARE SysProc CURSOR LOCAL FORWARD_ONLY DYNAMIC READ_ONLY FOR
SELECT spid
FROM master.dbo.sysprocesses
WHERE dbid =
(SELECT dbid FROM master.dbo.sysdatabases
WHERE name = @DatabaseName)
DECLARE @SysProcId smallint
OPEN SysProc --kill all the processes running against the database
FETCH NEXT FROM SysProc INTO @SysProcId
DECLARE @KillStatement char(30)
WHILE @@FETCH_STATUS = 0
BEGIN
SET @KillStatement = 'KILL ' + CAST(@SysProcId AS char(30))
EXEC (@KillStatement)
FETCH NEXT FROM SysProc INTO @SysProcId
END
WAITFOR DELAY '000:00:01'
ALTER DATABASE IBCMS_bookingManager SET ENABLE_BROKER
end
E questo è quello che serve per disabilitarlo:
declare @DatabaseName nvarchar(1000)
set @DatabaseName = 'myDatabase'
if((select is_broker_enabled from sys.databases WHERE name = @DatabaseName) = 1)
begin
print @DatabaseName + ' has broker enabled. Start disabling process....'
print 'Initial status of ' + @DatabaseName +': '+ convert(nvarchar(max), DATABASEPROPERTYEX(@DatabaseName, 'Status')) + ' ...'
/*
exec('Alter database '+ @DatabaseName +' set offline')
select DATABASEPROPERTYEX(@DatabaseName, 'Status')
exec('Alter database '+ @DatabaseName +' set online')
select DATABASEPROPERTYEX(@DatabaseName, 'Status')
*/
DECLARE SysProc CURSOR LOCAL FORWARD_ONLY DYNAMIC READ_ONLY FOR
SELECT spid
FROM master.dbo.sysprocesses
WHERE dbid =
(SELECT dbid FROM master.dbo.sysdatabases
WHERE name = @DatabaseName)
DECLARE @SysProcId smallint
OPEN SysProc --kill all the processes running against the database
FETCH NEXT FROM SysProc INTO @SysProcId
DECLARE @KillStatement char(30)
WHILE @@FETCH_STATUS = 0
BEGIN
SET @KillStatement = 'KILL ' + CAST(@SysProcId AS char(30))
EXEC (@KillStatement)
FETCH NEXT FROM SysProc INTO @SysProcId
END
WAITFOR DELAY '000:00:01'
ALTER DATABASE IBCMS_BookingManager SET DISABLE_BROKER
print 'Now ' + @DatabaseName + ' has broker disabled'
end
else
print @DatabaseName + ' has broker already disabled'
declare @DatabaseName nvarchar(1000)
set @DatabaseName = 'myDatabase'
if((select is_broker_enabled from sys.databases WHERE name = @DatabaseName) = 0)
begin
DECLARE SysProc CURSOR LOCAL FORWARD_ONLY DYNAMIC READ_ONLY FOR
SELECT spid
FROM master.dbo.sysprocesses
WHERE dbid =
(SELECT dbid FROM master.dbo.sysdatabases
WHERE name = @DatabaseName)
DECLARE @SysProcId smallint
OPEN SysProc --kill all the processes running against the database
FETCH NEXT FROM SysProc INTO @SysProcId
DECLARE @KillStatement char(30)
WHILE @@FETCH_STATUS = 0
BEGIN
SET @KillStatement = 'KILL ' + CAST(@SysProcId AS char(30))
EXEC (@KillStatement)
FETCH NEXT FROM SysProc INTO @SysProcId
END
WAITFOR DELAY '000:00:01'
ALTER DATABASE IBCMS_bookingManager SET ENABLE_BROKER
end
E questo è quello che serve per disabilitarlo:
declare @DatabaseName nvarchar(1000)
set @DatabaseName = 'myDatabase'
if((select is_broker_enabled from sys.databases WHERE name = @DatabaseName) = 1)
begin
print @DatabaseName + ' has broker enabled. Start disabling process....'
print 'Initial status of ' + @DatabaseName +': '+ convert(nvarchar(max), DATABASEPROPERTYEX(@DatabaseName, 'Status')) + ' ...'
/*
exec('Alter database '+ @DatabaseName +' set offline')
select DATABASEPROPERTYEX(@DatabaseName, 'Status')
exec('Alter database '+ @DatabaseName +' set online')
select DATABASEPROPERTYEX(@DatabaseName, 'Status')
*/
DECLARE SysProc CURSOR LOCAL FORWARD_ONLY DYNAMIC READ_ONLY FOR
SELECT spid
FROM master.dbo.sysprocesses
WHERE dbid =
(SELECT dbid FROM master.dbo.sysdatabases
WHERE name = @DatabaseName)
DECLARE @SysProcId smallint
OPEN SysProc --kill all the processes running against the database
FETCH NEXT FROM SysProc INTO @SysProcId
DECLARE @KillStatement char(30)
WHILE @@FETCH_STATUS = 0
BEGIN
SET @KillStatement = 'KILL ' + CAST(@SysProcId AS char(30))
EXEC (@KillStatement)
FETCH NEXT FROM SysProc INTO @SysProcId
END
WAITFOR DELAY '000:00:01'
ALTER DATABASE IBCMS_BookingManager SET DISABLE_BROKER
print 'Now ' + @DatabaseName + ' has broker disabled'
end
else
print @DatabaseName + ' has broker already disabled'
mercoledì 23 aprile 2008
mettere offline un database usando un sql script
Capita spesso che bisogna mettere offline un database (per fare manutenzione, ad esempio).
Magari bisognerebbe gestire questa operazione da codice.
Ecco che ci viene in aiuto T-SQL.
Le istruzioni fondamentali sono due
DATABASEPROPERTYEX(@DatabaseName, 'Status')
serve vedere in che stato è il database: tra i vari risultati c'è ONLINE e OFFLINE (autoesplicativi);
Alter database MioData set offline
e questo serve per modificargli lo stato.
Per altre info rimando al'MSDN
Magari bisognerebbe gestire questa operazione da codice.
Ecco che ci viene in aiuto T-SQL.
Le istruzioni fondamentali sono due
DATABASEPROPERTYEX(@DatabaseName, 'Status')
serve vedere in che stato è il database: tra i vari risultati c'è ONLINE e OFFLINE (autoesplicativi);
Alter database MioData set offline
e questo serve per modificargli lo stato.
Per altre info rimando al'MSDN
Iscriviti a:
Post (Atom)