sys.fn_cdc_increment_lsn fails with Common Language Runtime(CLR) is not enabled on this instance

Nathan Enright 1 Reputation point
2021-01-06T16:59:37.897+00:00

I "think" sys.fn_cdc_increment_lsn is the culprit in the stack below but not 100%.

I'm trying to use the debezium engine from an IoT Edge Module send changes from a SQL Edge database with CDC enabled and it is failing.

Any ideas?

com.microsoft.sqlserver.jdbc.SQLServerException: Common Language Runtime(CLR) is not enabled on this instance.
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(SQLServerException.java:262)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.getNextResult(SQLServerStatement.java:1621)
at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.doExecutePreparedStatement(SQLServerPreparedStatement.java:592)
at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement$PrepStmtExecCmd.doExecute(SQLServerPreparedStatement.java:522)
at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:7194)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:2935)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeCommand(SQLServerStatement.java:248)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeStatement(SQLServerStatement.java:223)
at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.executeQuery(SQLServerPreparedStatement.java:444)
at io.debezium.jdbc.JdbcConnection.prepareQueryAndMap(JdbcConnection.java:657)
at io.debezium.connector.sqlserver.SqlServerConnection.incrementLsn(SqlServerConnection.java:184)
at io.debezium.connector.sqlserver.SqlServerStreamingChangeEventSource.execute(SqlServerStreamingChangeEventSource.java:144)
at io.debezium.pipeline.ChangeEventSourceCoordinator.lambda$start$0(ChangeEventSourceCoordinator.java:101)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)

highlighted line above is at:

https://github.com/debezium/debezium/blob/aa360a78bd12d58e7d0c5aa39375961b6991d069/debezium-connector-sqlserver/src/main/java/io/debezium/connector/sqlserver/SqlServerConnection.java#L184

Azure SQL Edge
Azure SQL Edge
An Azure service that provides a small-footprint, edge-optimized data engine with built-in artificial intelligence. Previously known as Azure SQL Database Edge.
45 questions
{count} votes

1 answer

Sort by: Most helpful
  1. Navtej Singh Saini 4,216 Reputation points Microsoft Employee
    2021-01-11T23:50:02.377+00:00

    @Nathan Enright

    Thanks for your patience. Our Team has conveyed the following:

    "The function is dependent on CLR, which is not supported for SQL Edge. We mention this in the docs, that all CLR dependent T-SQL Functions are not supported.
    CLR-dependent T-SQL functions, such as ASSEMBLYPROPERTY, FORMAT, PARSE, and TRY_PARSE.
    Additionally they have added the note in the document conveying the same."
    55419-image.png

    Please get back to us if any further questions.

    Thanks
    Navtej S