dev memories

    appunti di Luca Monaco

    USE AdventureWorks2008R2;
    GO
    -- Truncate the log by changing the database recovery model to SIMPLE.
    ALTER DATABASE AdventureWorks2008R2
    SET RECOVERY SIMPLE;
    GO
    -- Shrink the truncated log file to 1 MB.
    DBCC SHRINKFILE (AdventureWorks2008R2_Log, 1);
    GO
    -- Reset the database recovery model.
    ALTER DATABASE AdventureWorks2008R2
    SET RECOVERY FULL;
    GO
     

     

    Se hai  sviluppato progetti su Visual Studio 2008 + Silverlight 3 + Ria Services July 2009 CTP e volesse passare alla neo piattaforma Visual Studio 2010 + Silverlight 4 + WCF RIA Services ci sono varie operazioni ad effetturare.  Fare riferimento a questi link:

    http://blog.webjak.net/2009/11/30/upgrading-from-net-ria-services-to-wcf-ria-services/ 

    http://alpascual.com/post/upgrading-from-net-ria-services-to-wcf-ria-services.aspx

    e soprattutto

    http://code.msdn.microsoft.com/RiaServices/Release/ProjectReleases.aspx?ReleaseId=3570

    In un applicazione Silverlight costruita con il template Business Application, se si intende utilizzare NavigationService nel code behind di MainPage.xaml per accedere ad una delle Page presenti in View, bisogna ricordare che di default nello xaml è presente la regola di URI Mapping seguente: 

     <uriMapper:UriMapping Uri="/{pageName}" MappedUri="/Views/{pageName}.xaml"/>
       
    Quindi da code behind bisogna usare
      
    this.ContentFrame.Navigate(new Uri(“/MyPage”, UriKind.Relative)); 

     doved

    Per disintallare un servizio windows su windows Xp seguire la seguente procedura:

    1. In prompt dei comandi posizionarsi  nella cartella C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727
    2. Eseguire installutil.exe /u <Path del file .exe del servizio>

    Esempio:

    installutil /u C:\Programmi\Anagrafica\AnagraficaInstall.exe

    A questo indirizzo un serie di controllo Windows Form, Asp.net e Silverlight gratuiti.

    http://www.devexpress.com/Products/Free/WebRegistration60/

    Molto interessanti i controlli silverlight AgDatagrid e AgMenu.

    Per eliminare un vincolo di foreign key da una schema sql server bisgona innanzitutto conoscerne il nome. Se in fase di creazione questo non è stato definito Sql Server ne assegna uno in automatico. Per visualizzare l’elenco delle relazioni esistenti eseguire

    SELECT
    K_Table = FK.TABLE_NAME,
    FK_Column = CU.COLUMN_NAME,
    PK_Table = PK.TABLE_NAME,
    PK_Column = PT.COLUMN_NAME,
    Constraint_Name = C.CONSTRAINT_NAME
    FROM INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS C
    INNER JOIN INFORMATION_SCHEMA.TABLE_CONSTRAINTS FK ON C.CONSTRAINT_NAME = FK.CONSTRAINT_NAME
    INNER JOIN INFORMATION_SCHEMA.TABLE_CONSTRAINTS PK ON C.UNIQUE_CONSTRAINT_NAME = PK.CONSTRAINT_NAME
    INNER JOIN INFORMATION_SCHEMA.KEY_COLUMN_USAGE CU ON C.CONSTRAINT_NAME = CU.CONSTRAINT_NAME
    INNER JOIN (
    SELECT i1.TABLE_NAME, i2.COLUMN_NAME
    FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS i1
    INNER JOIN INFORMATION_SCHEMA.KEY_COLUMN_USAGE i2 ON i1.CONSTRAINT_NAME = i2.CONSTRAINT_NAME
    WHERE i1.CONSTRAINT_TYPE = 'PRIMARY KEY'
    ) PT ON PT.TABLE_NAME = PK.TABLE_NAME

    Dal risultato delle precedente query inidivudare il nome della relazione che si intende eliminare (indicato dal campo “constraint_name”), quindi eseguire lo statement di eleminazione del vincolo:


    ALTER TABLE <nome_tabella>
    DROP FOREIGN KEY <nome_foreignkey>

    Per reimpostare il valore di un colonna identity eseguire il seguente statement

    DBCC CHECKIDENT (<nome tabella>, RESEED, <valore>)

    Uno dei modi più semplici per duplicare un db in  un sql server diverso da quello di origine (tipicamente quello di produzione) è utilizzare la metodologia denominata backup/restore.

    Molto banalmente consiste nell’effetturare il backup del db dal server di origine creado il relativo file .BAK e succesivamente eseguirne il restore. Tuttavia, quando si svolge queste operazioni è importante fare attenzione ad aluni particolari importanti come la posizione dei file associati al database che  potrebbe essere diversa tra il sql server di origine e quello di destinazione.

    Per svolgere l’operazione di backup, usando MS Sql server Management, creare un nuova periferica: da Oggetti Server > Periferiche di bakup, clic destro “Nuova periferica di bakup”.  In genere viene proposto come directory di destinazione del file .BAK è C:\Programmi\Microsoft SQL Server\MSSQL.1\MSSQL\LOG

    Copiare questo file nella stessa cartella del server di destinazione (o volendo anche in una a vostra scelta) e con la stessa procedura creare una periferica di backup nello stesso modo descritto precedentemente.

    A questo punto eseguire sul server di destinazione

    RESTORE FILELISTONLY
    FROM <backup_device>

    dove <backup_device> è il nome della periferica di backup (che corrisponde nome del file .BAK, senza l’estensione). Questo statement permette di ottenere il nome del DBName_Data e del DBName_Log da utillzzare nello statement seguente che effettua il restore del DB.

    RESTORE DATABASE DBName
    FROM DISK = ‘C:\Backup.BAK’
    WITH REPLACE, MOVE ‘DBName_Data’ TO ‘C:\MSSQL\DATA\DBName_Data.MDF’,
    MOVE ‘DBName_Log’ TO ‘C:\MSSQL\DATA\DBName_Log.LDF’

    Notare che esiste la possibilità di impostare manualmente la posizione del file di dati e del file di log assegnati al db che tuttavia è consigliabile impostare rispettivamente su C:\Programmi\Microsoft SQL Server\MSSQL.1\MSSQL\DATA e su C:\Programmi\Microsoft SQL Server\MSSQL.1\MSSQL\LOG