You can translate the question and the replies:

SQLServer as Cache with BCP - Best practices ?

Hello, When switching from MSSQL "standard" cache load, to a bulk-load using BCP, what are the best practices and recommendations regarding the SQL Server database ? The User Manuals ([here](https://community.denodo.com/docs/html/browse/latest/vdp/administration/bulk_data_load/sql_server)) are quite laconic about that. Best regards
user
26-02-2020 09:21:20 -0500
code

3 Answers

Hi, Generally, without bulk load, Virtual DataPort uses a conventional load (SQL insert statements) to populate the cache. When the "Use bulk load API" feature is enabled in the [cache configuration](https://community.denodo.com/docs/html/browse/latest/vdp/administration/server_administration_-_configuring_the_server/configuring_the_cache/configuring_the_cache), the data will be written to a temporary file and transferred directly to the cache database using a direct path load. **Note :** Bulk Load is effective when the number of rows to insert is tens of thousands or higher. With a lower number of rows, there is no performance increase. In addition to that, I was able to successfully configure the Microsoft SQL Server API by following the [steps](https://community.denodo.com/docs/html/browse/latest/vdp/administration/bulk_data_load/sql_server) below: * [Install](https://www.microsoft.com/en-us/download/details.aspx?id=53591) the SQL Server client **bcp** on the host where the Virtual DataPort Server runs. * Then, enable the **“Use bulk data load API”** on the “Read & Write” tab of the cache data source, I pointed to the path of bcp executable file. You can have a look at the section [Bulk Data Load](https://community.denodo.com/docs/html/browse/7.0/vdp/administration/bulk_data_load/bulk_data_load#bulk-data-load) of Virtual DataPort Administration Guide and [Best Practices to Maximize Performance III: Caching](https://community.denodo.com/kb/view/document/Best%20Practices%20to%20Maximize%20Performance%20III%3A%20Caching?category=Best+Practices) Knowledge Base Article for more information. Hope this helps!
Denodo Team
27-02-2020 05:49:03 -0500
code
Hi We do manage to proceed to a bulk caching using BCP, we have set it all up properly as per the documentations. What we were wondering is whether you had some recommendations on the SQLServer configuration or settings, when using BCP? Best regards
user
27-02-2020 06:06:48 -0500
Hi At this point, there are no specific recommendations to be followed on Virtual DataPort for using BCP on SQL Server. However you could use bulkload if you would like to [Optimize Cache Load Processes](https://community.denodo.com/kb/view/document/Best%20Practices%20to%20Maximize%20Performance%20III%3A%20Caching?category=Best+Practices) when the number of rows to insert is tens of thousands or higher. With a lower number of rows, you may not observe performance increase. With respect to the SQL Server, the [bcp utility](https://docs.microsoft.com/en-us/sql/tools/bcp-utility?view=sql-server-ver15) bulk copies data between an instance of Microsoft SQL Server and a data file in a user-specified format. It can be used to import large numbers of new rows into SQL Server tables or to export data out of tables into data files. Except when used with the queryout option, the utility requires no knowledge of Transact-SQL. To import data into a table, you must either use a format file created for that table or understand the structure of the table and the types of data that are valid for its columns. Hope this helps!
Denodo Team
05-03-2020 07:28:52 -0500
code
You must sign in to add an answer. If you do not have an account, you can register here