diff --git a/defaults/main.yml b/defaults/main.yml
index 76535af4e6bab70caa5b6370a7f570767ccbe818..94503fc14c76c069202e1fc1951ba557c1a66663 100644
--- a/defaults/main.yml
+++ b/defaults/main.yml
@@ -46,6 +46,7 @@ php_max_file_uploads: '20'
 php_max_input_time: '60'
 php_max_input_vars: '1000'
 php_memory_limit: '32M'
+php_needs_msodbc: false
 php_needs_oci8: false
 php_output_buffering: '4096'
 php_post_max_size: '32M'
diff --git a/tasks/msodbc.yml b/tasks/msodbc.yml
new file mode 100644
index 0000000000000000000000000000000000000000..827aaa49e34176f270c1c109b42cb540f1b3ff8f
--- /dev/null
+++ b/tasks/msodbc.yml
@@ -0,0 +1,52 @@
+---
+# file: roles/php/tasks/msodbc.yml
+
+- name: "Apt Key"
+  apt_key:
+    url: 'https://packages.microsoft.com/keys/microsoft.asc'
+    state: 'present'
+
+- name: "Apt Repository"
+  apt_repository:
+    repo: 'deb [arch=amd64] https://packages.microsoft.com/ubuntu/16.04/prod {{ ansible_distribution_release }} main'
+    state: 'present'
+    mode: '644'
+
+- name: "Install Packages"
+  apt:
+    pkg: '{{ item }}'
+    state: 'installed'
+    update_cache: yes
+  with_items:
+    - 'msodbcsql'
+    - 'mssql-tools'
+    - 'unixodbc-dev'
+  notify:
+    - "Apache | Restart Apache"
+
+- name: "PHP | Install PECL packages"
+  shell: 'pecl install {{ item }}'
+  with_items:
+    - 'sqlsrv'
+    - 'pdo_sqlsrv'
+
+- name: "Configuration files"
+  copy:
+    content: 'extension={{ item }}.so'
+    dest: '/etc/{{ php_base_dir }}/{{ php_conf_dir }}/{{ item }}.ini'
+    owner: 'root'
+    group: 'root'
+    mode: '644'
+  with_items:
+    - 'sqlsrv'
+    - 'pdo_sqlsrv'
+  notify:
+    - "Apache | Restart Apache"
+
+- name: "Enable extensions"
+  shell: 'phpenmod {{ item }}'
+  with_items:
+    - 'sqlsrv'
+    - 'pdo_sqlsrv'
+  notify:
+    - "Apache | Restart Apache"
diff --git a/tasks/php.yml b/tasks/php.yml
index c8f51dc5b178720a5f6aa7e0212dd6395f59e21d..d63677d756aa1ff447435b0cdee8b399bad32965 100644
--- a/tasks/php.yml
+++ b/tasks/php.yml
@@ -111,6 +111,10 @@
   when: repository is defined and php_needs_oci8
   tags: 'always'
 
+- include_tasks: msodbc.yml
+  when: php_needs_msodbc
+  tags: 'always'
+
 - name: "PHP | Ensure ImageMagick config directory"
   file:
     dest={{ php_imagick_config_dir }}