diff --git a/log4j-jdbc/src/main/java/org/apache/logging/log4j/jdbc/appender/JdbcDatabaseManager.java b/log4j-jdbc/src/main/java/org/apache/logging/log4j/jdbc/appender/JdbcDatabaseManager.java
index e2f2be5..ff7baa4 100644
--- a/log4j-jdbc/src/main/java/org/apache/logging/log4j/jdbc/appender/JdbcDatabaseManager.java
+++ b/log4j-jdbc/src/main/java/org/apache/logging/log4j/jdbc/appender/JdbcDatabaseManager.java
@@ -677,7 +677,13 @@
      * Sets the given Object in the prepared statement. The value is truncated if needed.
      */
     private void setStatementObject(final int j, final String nameKey, final Object value) throws SQLException {
-        statement.setObject(j, truncate(nameKey, value));
+        if (value == null) {
+            // [LOG4J2-2762] [JDBC] MS-SQL Server JDBC driver throws SQLServerException when inserting a null value for a VARBINARY column.
+            // Calling setNull() instead of setObject() for null values fixes [LOG4J2-2762]. 
+            this.statement.setNull(j, columnMetaData.get(nameKey).getType());
+        } else {
+            statement.setObject(j, truncate(nameKey, value));
+        }
     }
 
     @Override
@@ -748,12 +754,7 @@
                         } else {
                             final Object value = TypeConverters.convert(layout.toSerializable(event), mapping.getType(),
                                     null);
-                            if (value == null) {
-                                // TODO We might need to always initialize the columnMetaData to specify the type.
-                                this.statement.setNull(j++, Types.NULL);
-                            } else {
-                                setStatementObject(j++, mapping.getNameKey(), value);
-                            }
+                            setStatementObject(j++, mapping.getNameKey(), value);
                         }
                     }
                 }
diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index d1175e1..f47cfa8 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -199,6 +199,9 @@
       <action issue="LOG4J2-2754" dev="ckozak" type="fix">
         LoaderUtil.getClassLoaders may discover additional loaders and no longer erroneously returns a result with a null element in some environments.
       </action>
+      <action issue="LOG4J2-2762" dev="ggregory" type="fix" due-to="Gary Gregory">
+        [JDBC] MS-SQL Server JDBC driver throws SQLServerException when inserting a null value for a VARBINARY column.
+      </action>
     </release>
     <release version="2.13.0" date="2019-12-11" description="GA Release 2.13.0">
       <action issue="LOG4J2-2058" dev="rgoers" type="fix">
