diff --git a/src/providers/mssql/qgsmssqlprovider.cpp b/src/providers/mssql/qgsmssqlprovider.cpp index 6d62fd42c669..39857203987f 100644 --- a/src/providers/mssql/qgsmssqlprovider.cpp +++ b/src/providers/mssql/qgsmssqlprovider.cpp @@ -404,6 +404,19 @@ void QgsMssqlProvider::loadFields() } } } + // get primary key + if ( mFidColName.isEmpty() ) + { + mQuery.clear(); + mQuery.exec( QString( "exec sp_pkeys N'%1', NULL, NULL" ).arg( mTableName ) ); + if ( mQuery.isActive() ) + { + if ( mQuery.next() ) + { + mFidColName = mQuery.value( 3 ).toString(); + } + } + } }