Desde el equipo relacional de SolidQ, hemos liberado la herramienta SQLBCP2Azure. Se trata de una herramienta de copia de datos eficiente entre SQL Server y SQL Server Azure y entre SQL Servers; es decir, un reemplazo de la existente bcp.exe que viene con las herramientas cliente de SQL Server.Los principales beneficios de utilizar esta herramienta son:

  • Ficheros de configuración persistentes ( xml )
  • Cifrado de passwords

Un ejemplo de configuración es el siguiente:

Create user table type
  1. <?xml version=«1.0» encoding=«utf-8« ?>
  2.             <SolidQBCP ContinueOnError =«False«
  3.            BatchSize=«4096«
  4.            NotifyAfter=«10000«
  5.            Hints=«TABLOCK,CHECK_CONSTRAINTS«
  6.            TimeOut=«0«>
  7. <!–
  8.   ECB:             
  9.   How to encrypt a password:
  10.           1: SolidQ.BCP.exe -GenerateKeyEncryption -output c:pathoutputKey.txt
  11.           2: SolidQ.BCP.exe -EncryptPassword password -Key c:pathoutputKey.txt  -Output c:pathoutputEncryptedPassword.txt
  12.           3: Copy in the «Password» tag of this XML (at destination or source, depending of what password are you encrypting)
  13.             the exact output of de c:pathoutputEncryptedPassword.txt
  14.           4: Copy in the CDATA section, the exact value that you will find at c:pathoutputKey.txt
  15.              Obviously, the two passwords must be generated with the same outputKey.txt 🙂
  16.   Hints Values:
  17.     – TABLOCK
  18.     – CHECK_CONSTRAINTS
  19.     – FIRE_TRIGGERS
  20.     – KEEP_IDENTITY
  21.     – KEEP_NULLS
  22.     – USEINTERNALTRANSACTIONS
  23.   TimeOut:
  24.     Number of econds to the operation to complete after error
  25.     if 0, no timeout specified
  26. –>
  27.     <credentialsforce_column_mapping=«true«>
  28.     <source
  29.       SqlInstance =«10.1.1.99sql2008r2«
  30.       DatabaseName =«DWrendimiento«
  31.       IntegratedSecurity=«false«
  32.       User=«sa«
  33.       IsPasswordEncrypted=«false«
  34.             Password =«password«
  35.       UseQueryAsSource=«true«
  36.       TableName=«snapshots.performance_counter_values«
  37.       Query=«select * from snapshots.performance_counter_values«
  38.       ColumnNames=«performance_counter_instance_id,snapshot_id,collection_time,formatted_value,raw_value_first,raw_value_second«
  39.       />
  40.     <destination
  41.       SqlInstance =«(local)sql2008r2_2«
  42.             DatabaseName =«borrame«
  43.       IntegratedSecurity=«true«
  44.       User=«enriquecatala«
  45.       IsPasswordEncrypted=«false«
  46.       Password =«n5SoiTel+ulzJuz83IUkBA==«
  47.       TableName=«dbo.performance_counter_values«
  48.       ColumnNames=«performance_counter_instance_id,snapshot_id2,collection_time,formatted_value,raw_value_first,raw_value_second2«
  49.       />
  50.     <key>
  51.       <![CDATA[example: s&=79″7. D1_  XB-k6N7mja-5-$z2’1kx@*:z7R[V(] zx3=v-Pd|}gq?[‘8Qs{i}1DypEG[+’0o7kf+h,Iz@{g2V+w=»sjg9o!H0&T8 y7C0gb*8#@QjC0*?$~C*reB>:NL,0hMF#/:!Kq-1=FW=VM0<3O&TvCQ t@GHd-4&I$]J4.ecS1A@]]>
  52.     </key>
  53.   </credentials>
  54. </SolidQBCP>

 

La herramienta ha sido liberada en codeplex bajo licencia Microsoft Public License (Ms-PL).

Para más información http://bcp2sqlazure.codeplex.com/

Enrique Catalá