Impossibile modificare o creare i Maintenance Plan di SQL Server 2008

Stò cercando di modificare alcuni maintenance plan di una installazione di SQL 2008 R2 tramite SQL Management Studio.

Mi sono trovato in questa situzione. Cliccando su modifica non succede nulla e se provo a creare un nuovo piano ricevo un errore.

Beh ho scoperto che esistono i Management Tools in versione Basic e Complete.

La soluzione comporta la rimozione dei tools Basic e la successiva installazione della versione Complete.

Fonte: MS SQL 2008 R2, issue: impossible to Modify a Maintenance Plan

Share

Visualizzare il log dei DTS da Management Studio

Chi ha la (s)fortuna di utilizzare ancora i DTS sulle versioni superiori alla 2000 sà che può ancora modificare/eseguire i DTS tramite i SQL Server 2000 DTS Designer Components.

Nella versione 2000 era possibile visualizzare il log delle esecuzioni tramite menù contestuale direttamente dall’Enterprise Manager ma questa possibilità è stata tolta dai Designer Components.

Le informazioni di log sono comunque contenute nelle tabelle sysdtssteplog e sysdtspackagelog del database msdb.

Quindi è possibile eseguire query del tipo:

SELECT 
	pklog.name as PackageName,
	stlog.stepname as StepName,
	stlog.stepexecutionid as StepExecutionID,
	stlog.starttime as StepStartTime,
	stlog.endtime as StepEndTime,
	stlog.errorcode as StepErrorCode,
	stlog.errordescription as StepErrorDescription
FROM msdb.dbo.sysdtssteplog stlog
LEFT JOIN msdb.dbo.sysdtspackagelog pklog
     on stlog.lineagefull = pklog.lineagefull
WHERE
	stlog.errorcode <> 0
	and stlog.starttime > DATEADD (day, -15, getdate())
ORDER BY stlog.starttime

 

come descritto in questo forum: http://www.sqlteam.com/forums/topic.asp?TOPIC_ID=124332

Nello stesso post è indicata anche una procedura più elegante che utilizza i SSIS ma la query è sicuramente una soluzione veloce.

Share

Errore BPA client eseguendo l’upgrade advisor di SQL 2005

Stavo eseguendo l’upgrade advisor di SQL 2005 per verificare la fattibilità di un in place upgrade di un macchina SQL 2000.

Nella fase di analisi l’ugrade advisor andava in crash segnalando un errore relativo al BPA (Best Practice Analyzer): “SQL BPA command line has encountered a problem

Il problema è che il file BPACMD.EXE non trova la dll bpaclient.dll

Il tool BPA è installato nella cartella:

C:Program FilesMicrosoft SQL Server 2005 Upgrade AdvisorBPA

e il file bpaclient.dll si trova nella cartella bin.

Per risolvere il problema è sufficiente creare una cartella BPAClient nel folder BPA e copiarci il file bpaclient.dll preso dalla cartella Bin.

Share

Windows Server 2008 64 bit e gli alias di SQL Server

Scenario:

  • Web Server Windows 2008 a 64 bit con IIS 7
  • SQL Server installato su una macchina diversa e su porta non standard (nello specifico 1134)

Stò sviluppando un sito di e-commerce e per comodità nel vecchio ambiente di sviluppo a 32 bit avevo configurato un alias denominato BILBO2000 che faceva riferimento alla named instance remota di SQL sulla porta 1134.

Migro sul sistema a 64 bit e creo l’alias nel SQL Server Configuration Manager sotto la voce “SQL Native Client Configuration (32 bit)”.

Lancio il web server di sviluppo da Visual Studio e funziona tutto correttamente.

Creo allora il sito sotto IIS7, mi collego e…. errore…. IIS non riesce ad accedere al server SQL remoto.

Soluzione, probabilmente banale ma c’ho messo un po’ a capire cosa stavo sbagliando: l’alias va creato anche sotto la voce “SQL Native Client Configuration” in quanto ovviamente IIS7 utilizza il driver a 64 bit…

Share

SQL Express 2005: Failed to generate a user instance of SQL Server due to a failure in starting the process for the user instance. The connection will be closed.

Stò sviluppando un'applicazione ASP.Net utilizzando SQL Express come motore di database.

Come di consueto il database risiede nella cartella App_Data e la stringa di connessione prevede di creare una user instance:

         <add name="SestanteConnectionString" connectionString="Data Source=.SQLEXPRESS;
                AttachDbFilename=|DataDirectory|Sestante.mdf;Integrated Security=True;User Instance=True" providerName="System.Data.SqlClient"/>

Il sito di test ha funzionato correttamente fino ad oggi quando le pagine asp.net hanno cominciato a dare il seguente errore:

Failed to generate a user instance of SQL Server due to a failure in starting the process for the user instance. The connection will be closed.

In diversi post ho letto che il problema si risolve cancellando la cartella:

C:Documents and Settings[USERNAME]Local SettingsApplication DataMicrosoftMicrosoft SQL Server DataSQLEXPRESS

dopo aver stoppato il servizio SQL Express.

Ho provato ma questo fix non ne voleva sapere di funzionare. In realtà il suggerimento è corretto, però è necessaria una precisazione: io sbagliavo perchè cancellavo la cartella SQLExpress del mio utente locale, e questo è corretto quando si accede al database tramite l'IDE di Visual Studio.
Quando però l'accesso al database avviene tramite IIS l'utente è ASPNET è quindi è necessario cancellare la cartella:

 C:Documents and Settings[COMPUTERNAME]ASPNETLocal SettingsApplication DataMicrosoftMicrosoft SQL Server DataSQLEXPRESS

Il problema sembra che si sia presentato dopo che ho installato SQL 2005.

Share

SQL Server Management Studio e SQL 2000

Ho iniziato una graduale transizione verso SQL 2005.

Visto però che il 90% dei progetti in corso utilizza SQL 2000, cerco di sfruttare tutte le nuove potenzialità mantenendo il più alto possibile la compatibilità con il passato.

Utilizzare SQL Server Management Studio con SQL 2000

Ho iniziato ad usare SQL Server Management Studio con i database SQL 2000 e devo dire che per ora non ho riscontrato problemi.

L'accesso a SQL 2000 è semplicissimo. Dall'"Object Explorer" selezionare "Connect->Database Engine", scegliere il server, inserire le credenziali di accesso e il gioco è fatto.

A questo punto si può accedere al database che risulta subito strutturato nelle cartelle tipiche di SQL 2005.

Gestire i server registrati e importarli dall'Enterprise Manager di SQL 2000

Per visualizzare l'elenco dei server registrati in Management Studio selezionare il menù:

View -> Registered Servers

Da qui è possibile importare ed esportare i server registrati in Management Studio e soprattutto importare i server precedentemente registrati nell'Enterprise Manager di SQL 2000.

Nel pannello "Registered Servers" cliccare con il tasto destro del mouse e selezionare:

Previously Registered Servers

Compare il seguente messaggio di conferma:

"Add SQL Server 2000 Enterprise Manager registered servers from this computer into Microsoft SQL Server Management Studio? Adding the server registration information has no effect on the servers themselves. Any registered servers in Microsoft SQL Server Management studio with the same name as the one being imported will be overwritten." 

Premere "Yes" e nell'elenco dei server registrati compare la stessa struttura presente nell'Enterprise Manager

Query Analyzer in SQL 2005

 Una delle caratteristiche che preferisco di SQL Server Management Studio è l'integrazione con il Query Analyzer che non è più un tool separato ma compare ovunque all'interno dell'IDE.

Particolarmente utile è la possibilità di eseguire le stored procedure.

Eseguire le Stored Procedure in SQL Server Management Studio

Basta cliccare col destro sulla stored procedure e selezionare "Execute Stored Procedure…". Nella finestra di dialogo che si apre si possono impostare i parametri (se ce ne sono) e premendo ok la stored procedure viene eseguita esattamente con in query analyzer solo che anche i parametri sono già compilati.

Come nel Query Analyzer vengono visualizzati i Messaggi ed i Risultati ma si può richiedere l'Estimated Execution Plan.

L'esecuzione della Stored Procedure può avvenire anche allo stesso modo del Query Analyzer cliccando col destro e selezionando "Script Stored Procedure as -> EXECUTE TO".

Share