Abilitare e configurare FILESTREAMEnable and configure FILESTREAM

Prima di iniziare a utilizzare FILESTREAM, è necessario abilitarlo nell'istanza del Motore di database di SQL ServerSQL Server Database Engine.Before you can start to use FILESTREAM, you must enable FILESTREAM on the instance of the Motore di database di SQL ServerSQL Server Database Engine. In questo argomento viene descritto come abilitare FILESTREAM utilizzando Gestione configurazione SQL Server.This topic describes how to enable FILESTREAM by using SQL Server Configuration Manager.

Abilitazione di FILESTREAM Enabling FILESTREAM

Per abilitare e modificare le impostazioni FILESTREAMTo enable and change FILESTREAM settings

  1. Fare clic sul pulsante Start , scegliere Tutti i programmi, SQL Server 2017SQL Server 2017, Strumenti di configurazionee quindi Gestione configurazione SQL Server.On the Start menu, point to All Programs, point to SQL Server 2017SQL Server 2017, point to Configuration Tools, and then click SQL Server Configuration Manager.

  2. Nell'elenco dei servizi fare clic con il pulsante destro del mouse su Servizi di SQL Servere quindi scegliere Apri.In the list of services, right-click SQL Server Services, and then click Open.

  3. Nello snap-in Gestione configurazione SQL Server trovare l'istanza di SQL ServerSQL Server in cui si vuole abilitare FILESTREAM.In the SQL Server Configuration Manager snap-in, locate the instance of SQL ServerSQL Server on which you want to enable FILESTREAM.

  4. Fare clic con il pulsante destro sull'istanza e quindi scegliere Proprietà.Right-click the instance, and then click Properties.

  5. Nella finestra di dialogo delle proprietà di SQL Server fare clic sulla scheda FILESTREAM .In the SQL Server Properties dialog box, click the FILESTREAM tab.

  6. Selezionare la casella di controllo Abilita FILESTREAM per l'accesso Transact-SQL .Select the Enable FILESTREAM for Transact-SQL access check box.

  7. Se si vogliono leggere e scrivere dati FILESTREAM da Windows, fare clic su Abilita FILESTREAM per l'accesso tramite il flusso di I/O dei file.If you want to read and write FILESTREAM data from Windows, click Enable FILESTREAM for file I/O streaming access. Immettere il nome della condivisione di Windows nella casella Nome condivisione di Windows .Enter the name of the Windows share in the Windows Share Name box.

  8. Se ai dati FILESTREAM archiviati in tale condivisione devono accedere client remoti, selezionare Consenti ai client remoti l'accesso tramite flusso ai dati FILESTREAM.If remote clients must access the FILESTREAM data that is stored on this share, select Allow remote clients to have streaming access to FILESTREAM data.

  9. Fare clic su Applica.Click Apply.

  10. In SQL Server Management StudioSQL Server Management Studiofare clic su Nuova query per visualizzare l'editor di query.In SQL Server Management StudioSQL Server Management Studio, click New Query to display the Query Editor.

  11. Nell'editor di query immettere il codice Transact-SQLTransact-SQL seguente:In Query Editor, enter the following Transact-SQLTransact-SQL code:

    EXEC sp_configure filestream_access_level, 2  
    RECONFIGURE  
    
  12. Fare clic su Esegui.Click Execute.

  13. Riavviare il servizio SQL ServerSQL Server .Restart the SQL ServerSQL Server service.

Procedure consigliate Best practices

Configurazione fisica e manutenzione Physical configuration and maintenance

Quando si configurano i volumi di archiviazione FILESTREAM, tenere presenti le linee guida seguenti:When you set up FILESTREAM storage volumes, consider the following guidelines:

  • Disabilitare i nomi di file brevi nei sistemi FILESTREAM.Turn off short file names on FILESTREAM computer systems. La creazione di nomi di file brevi richiede tempi sensibilmente più lunghi.Short file names take significantly longer to create. Per disabilitare i nomi di file brevi, usare l'utilità fsutil di Windows.To disable short file names, use the Windows fsutil utility.

  • Deframmentare regolarmente i sistemi FILESTREAM.Regularly defragment FILESTREAM computer systems.

  • Utilizzare cluster NTFS da 64 KB.Use 64-KB NTFS clusters. I volumi compressi devono essere impostati su cluster NTFS da 4 KB.Compressed volumes must be set to 4-KB NTFS clusters.

  • Disabilitare l'indicizzazione nei volumi FILESTREAM e impostare disablelastaccess.Disable indexing on FILESTREAM volumes and set disablelastaccess. Per impostare disablelastaccess, usare l'utilità fsutil di Windows.To set disablelastaccess, use the Windows fsutil utility.

  • Disabilitare l'analisi per la ricerca di virus nei volumi FILESTREAM quando non è non necessaria.Disable antivirus scanning of FILESTREAM volumes when it is not necessary. Se tale analisi è necessaria, evitare di impostare criteri per l'eliminazione automatica dei file infetti.If antivirus scanning is necessary, avoid setting policies that will automatically delete offending files.

  • Configurare e ottimizzare il livello RAID per la tolleranza di errore e le prestazioni richieste da un'applicazione.Set up and tune the RAID level for fault tolerance and the performance that is required by an application.

Livello RAIDRAID level Prestazioni di scritturaWrite performance Prestazioni di letturaRead performance Tolleranza di erroreFault tolerance OsservazioniRemarks
RAID 5RAID 5 NormalNormal NormalNormal EccellentiExcellent Le prestazioni sono più elevate rispetto all'utilizzo di un unico disco o di JBOD e meno elevate rispetto all'utilizzo di RAID 0 o RAID 5 con striping.Performance is better than one disk or JBOD; and less than RAID 0 or RAID 5 with striping.
RAID 0RAID 0 EccellentiExcellent EccellentiExcellent NessunoNone
RAID 5 + stripingRAID 5 + stripping EccellentiExcellent EccellentiExcellent EccellentiExcellent Opzione più costosa.Most expensive option.

Progettazione fisica di database Physical database design

Quando si progetta un database FILESTREAM, tenere presenti le linee guida seguenti:When you design a FILESTREAM database, consider the following guidelines:

  • Le colonne FILESTREAM devono essere associate a una corrispondente colonna ROWGUID uniqueidentifier.FILESTREAM columns must be accompanied by a corresponding uniqueidentifierROWGUID column. Questi tipi di tabelle devono inoltre essere associati a un indice univoco.These kinds of tables must also be accompanied by a unique index. Solitamente questo indice non è cluster.Typically this index is not a clustered index. Se la logica di business dei database richiede un indice cluster, è necessario assicurarsi che i valori archiviati nell'indice non siano casuali.If the databases business logic requires a clustered index, you have to make sure that the values stored in the index are not random. In caso contrario, l'indice verrà riordinato ogni volta che viene aggiunta o rimossa una riga dalla tabella.Random values will cause the index to be reordered every time that a row is added or removed from the table.

  • Ai fini delle prestazioni, i contenitori e i filegroup FILESTREAM dovrebbero risiedere in volumi anziché nel sistema operativo, nel database di SQL ServerSQL Server , nel log di SQL ServerSQL Server o nel file di paging.For performance reasons, FILESTREAM filegroups and containers should reside on volumes other than the operating system, SQL ServerSQL Server database, SQL ServerSQL Server log, tempdb, or paging file.

  • La gestione dello spazio e i criteri non sono supportati direttamente da FILESTREAM.Space management and policies are not directly supported by FILESTREAM. È tuttavia possibile gestire lo spazio e applicare criteri in modo indiretto assegnando ogni filegroup FILESTREAM a un volume distinto e utilizzando le funzionalità di gestione di quest'ultimo.However, you can manage space and apply policies indirectly by assigning each FILESTREAM filegroup to a separate volume and using the volume's management features.