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'
lunedì 28 aprile 2008
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
mercoledì 9 aprile 2008
Abstract Control
Il designer di Visual Studio.NET (sto lavorando con 2005) ha delle difficoltà a lavorare sulla grafica quando un control deriva da una classe abstract (che deriva a sua volta da UserControl).
In questi casi rinuncio ad avere la classe abstract e trasformo tutti le proprietà e i metodi abstract in qualcosa di default (i metodi che lo consentono vengono creati vuoti).
In questi casi rinuncio ad avere la classe abstract e trasformo tutti le proprietà e i metodi abstract in qualcosa di default (i metodi che lo consentono vengono creati vuoti).
Iscriviti a:
Post (Atom)