Alex's Weblog

Weblog di Ermanno Goletto (Codename Alex - A Learning EXperience)
posts - 438, comments - 4214, trackbacks - 294

My Links

News

Il blog è stato
trasferito al
 seguente link:


DevAdmin Blog

Add my blog to Live

Foto

Curriculum Vitae


Il contenuto di questo blog e di ciascun post viene fornito “così come é”, senza garanzie, e non conferisce alcun diritto. Questo blog riporta il mio personale pensiero che non riflette necessariamente il pensiero del mio datore di lavoro.

Logo Creative Commons Deed


Logo MCTS

Logo MCSA

Logo MCP

Logo Microsoft Certified Business Management Solutions Professional

Microsoft Certified Business Management Solutions Specialist


Logo UGIdotNET UGIdotNET Contributor


Logo UGISS UGISS Contributor


Logo SysAdmin.it SysAdmin.it Staff


Article Categories

Archives

Post Categories

Blogs

Database

Development

Friends

IT

Knowledge Base

Links

MBS

MCP

MVP Sites

User Groups

Virtualization

giovedì 29 maggio 2008

Windows Server 2003 ed errore durante l'avvio di eseguibili da Share di rete

Per impostazione predefinita in Windows Server 2003 è abilitata la Protezione avanzata di Internet Explorer ciò causa il seguente errore se provate ad avviare eseguibili, setup etc da una share di rete anche se sulla stessa avete tutti diritti necessari:
Impossibile accedere alla periferica, al percorso o al file specificato. E' probabile che non si disponga delle autorizzazioni necessarie.

Le possibili sluzioni sono:

  1. Aggiungere il o i server su cui risiedono le share nell'eleco dei siti Intranet Locale.
  2. Se l'utente appartiene ad un grupoo amministrativo disabilitare la Protezione avanzata di Internet Explorer per gruppi Amministrativi.
  3. Disinstallare la Protezione avanzata di Internet Explorer

E' possibile disinstallare la Protezione avanzata di Internet Explorer o modificarle le impostazioni tramite:
Panello di controllo -> Installazioni applicazioni -> Installazioni componenti di Windows -> Protezione avanzata di Internet Explorer

Per ulteriori informazioni si veda Diversa esplorazione con il browser in seguito all'impostazione della protezione avanzata di Internet Explorer e in particolare:

"La protezione avanzata di Internet Explorer impone delle limitazioni anche all'accesso a script, file eseguibili e altri file potenzialmente non sicuri su un percorso UNC, a meno che tale percorso non sia stato aggiunto esplicitamente all'area Intranet locale. Ad esempio, se si desidera accedere a \\server\share\setup.exe, sarà necessario aggiungere \\server all'area Intranet locale. "

posted @ lunedì 1 gennaio 0001 00:00 | Feedback (39) | Filed Under [ Links Tips Security IT ]

Ricavare i path di default per i file di dati e logs in SQL Server 2005

Una delle impostazioni che possibile fare su un'istanza di SQL Server è quella del percorso di default in cui memorizzare file dati e logs di un nuovo database. Ho fatto diverse ricerca, ma non trovato un modo semplice per ricavare tramite T-SQL tali informazioni.

A quanto sembra se si modificano tali percorsi questi vengono memorizzati nelle chiavi di registry:

  • HKEY_LOCAL_MACHINE\Software\Microsoft\MSSQLServer\MSSQLServer\DefaultData
  • HKEY_LOCAL_MACHINE\Software\Microsoft\MSSQLServer\MSSQLServer\DefaultLog

In caso contrario i path è quello specificato durante l'installazione per i File di dati quindi si può pensare di ricavarli dai path dei file mdf e ldf del database master.

Di seguito uno script T-SQL per ricavare il path di default per i file di dati:

USE master
declare @DefaultData nvarchar(512)

--Lettura chiave di registry HKEY_LOCAL_MACHINE\Software\Microsoft\MSSQLServer\MSSQLServer\DefaultData
EXEC xp_instance_regread N'HKEY_LOCAL_MACHINE',
 N'Software\Microsoft\MSSQLServer\MSSQLServer', N'DefaultData',
 @DefaultData OUTPUT, 'no_output'

--Se la chiave di registry non esiste si utilizza il path del file mdf del database master
IF (@DefaultData IS NULL)
 BEGIN
  SELECT  @DefaultData = SUBSTRING(physical_name, 0, CHARINDEX(N'master.mdf', physical_name))
  FROM sys.database_files
  WHERE name='master'
 END

--Rimozione eventuale slash finale
IF ((@DefaultData IS NOT NULL) AND (CHARINDEX(N'\', @DefaultData, len(@DefaultData)) > 0))
BEGIN
 SELECT @DefaultData = STUFF (@DefaultData,len(@DefaultData),1,N'')
END

SELECT @DefaultData

Mentre questo è lo script per ricavare il path di default per i file di log:

USE master
declare @DefaultLog nvarchar(512)

--Lettura chiave di registry HKEY_LOCAL_MACHINE\Software\Microsoft\MSSQLServer\MSSQLServer\DefaultLog
EXEC xp_instance_regread N'HKEY_LOCAL_MACHINE',
 N'Software\Microsoft\MSSQLServer\MSSQLServer', N'DefaultLog',
 @DefaultLog OUTPUT, 'no_output'

--Se la chiave di registry non esiste si utilizza il path
--del file mdf del database master
IF (@DefaultLog IS NULL)
 BEGIN
  SELECT  @DefaultLog = SUBSTRING(physical_name, 0, CHARINDEX(N'mastlog.ldf', physical_name))
  FROM sys.database_files
  WHERE name='mastlog'
 END

--Rimozione eventuale slash finale
IF ((@DefaultLog IS NOT NULL) AND (CHARINDEX(N'\', @DefaultLog, len(@DefaultLog)) > 0))
BEGIN
 SELECT @DefaultLog = STUFF (@DefaultLog,len(@DefaultLog),1,N'')
END

SELECT @DefaultLog

Se poi occorre usare questi script in un programma .NET il mio consiglio è quello di non inserire lo script nel codice, ma di creare dei file con estensione sql in questo modo Visual Studio visualizzerà lo script evidenziando le parole chiave esattamente come in Management Studio. Quindi aggiungere il file come risorsa in questo modo VS 2005 e sucessivi creeranno una comoda prorietà stringa in My.Resources che conterrà il testo del file. In VS 2003 è possibile impostare il file come Embedded e tramite un po' di codice leggere il contenuto del file:

        Dim text As String = String.Empty
        Dim resource As System.IO.Stream = _
            System.Reflection.Assembly.GetExecutingAssembly.GetManifestResourceStream( _
                "NameSpace.FileName")

        Dim reader As New System.IO.StreamReader(resource)
        text = reader.ReadToEnd()

        reader.Close() : reader = Nothing
        resource.Close() : resource = Nothing

posted @ lunedì 1 gennaio 0001 00:00 | Feedback (29) | Filed Under [ Code & Snippet Database .NET Framework .NET Framework 2.0 ]

Powered by:
Powered By Subtext Powered By ASP.NET