dilluns, 30 d’abril de 2018

DLLs externes SQL Server (2016)

Fins a la versió d'SQL Server 2014 si voliem utilitzar DLL externes en teníem prou en copiar-les a C:\Program Files (x86)\Microsoft SQL Server\<versió sql server>\DTS\Binn o C:\Program Files\Microsoft SQL Server\<versió sql server>\DTS\Binn segons si la DLL es de 30 o 64 bits.
A partir de la versió 2016 hem de fer les coses ben fetes i cal registrar les DLL amb la utilitat gacutil.

Gacutil el podem trobar a dins de C:\Program Files (x86)\Microsoft SDKs\Windows depenent de la versió del framework .net que tinguem instal·lat.
Per exemple "C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\gacutil"





Aquest és un exemple de comanda per utilitzar la DLL d'AWS. On a c:\dll teim les dll que volem registar.

"C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\gacutil" /i C:\dlls\AWSSDK.Core.dll




Un cop registada la DLL apareixerà a la següent carpeta:
C:\Windows\assembly

La referència a utilitzar en els scripts del SSDT serà del tipus:
C:\Windows\assembly\GAC_MSIL\AWSSDK.Core\3.3.0.0__885c28607f98e604\AWSSDK.Core.dll

Amb aquestes comandes ja podrem utilitzar DLLs externes a dins dels nostres Script Task a partir en SQL Server.



diumenge, 22 d’abril de 2018

Emmascarar noms de taules i camps MDS

En el passat post veiem com migrar models entre entorns o entre versions. Un dany col·lateral de la migració és que els noms de les taules i dels camps que genera automàticament l'MDS. Això ens impacta a l'hora de fer ETLs o altres processos que utilitzin les taules d'MDS. Una solució es crear una vista que emascari aquests noms variables, però aquest procés ha de ser el més automàtic possible per evitar accidents humans.
Avui veurem un procediment per poder crear automàticament les vistes. Aquest procediment utilitzarem les sentències que vam veure en el post: http://www.eljordifabi.tech/2018/03/crear-una-vista-en-una-altra-bbdd.html

dilluns, 9 d’abril de 2018

Migració MDS I (movent models entre servidors)

Quan treballem en diversos entorns, o bé hem de fer una migració de versió de MDS, per moure/migrar els models no ho podem fer copiant directament les dades d'una BBDD a una altra. Si és la mateixa versió per que no podem garantir que els ids siguin els mateixos (pot haver agents externs que hagin afegit models, per exemple) i en una migració per que les taules no són les mateixes ni tenen la mateixa esructura.
Per tal de fer el moviment de models entre servidors utilitzarem la utilitat MDSModelDeploy.

MDSModelDeploy està a la carpeta c:\Program Files\Microsoft SQL Server\120\Master Data Services\Configuration
En el cas de tenir el servidor en SQL Server 2014, si és SQL Server 2016 la carpeta és la 130.

El primer que hem de fer és trobar el nostre servei fent un listservices.

En el nostre cas és el MDS5 (MDSPRO).