I've seen this done at a couple of different places. It's great in theory, but I have rarely seen it be effective. Here's why. Firstly, if you have a team of DBAs (or other people), I've generally found that the least competent or least liked person of the group gets the brunt of the review work. Why, you say? It's because, no one else wants to do it, and everyone else is busy doing other things that are probably more urgent. Ever seen a DBA sit around and say, "Man everything is running perfect; I can just sit back and surf the net. I wish I had something to do." Me either, at least not the good ones. They are as busy or busier than everyone else. This means that the person who is least capable is most likely doing the reviewing, and this is exactly the person you don't want doing it. The code you want reviewed is the really really hard code that people look at and pass it off as some sort of black magic. Junior DBAs or just plain bad ones, won't ever be able to catch the subtleties of how a really hard query works. Rarely, like never, does someone ever say, "Man I didn't think of selecting a single row out of a table using the primary key! Thanks DBA you're a lifesaver." So in this scenario, really all you are doing is creating a lot of work for little value.
Secondly, it's just plain more work for the DB group. What is probably going to happen even if they do look at other things is they are going to take a quick look at it and something is going to get missed. They are busy people, and reviewing code is really time consuming. In truth it's not fair that they get tasked with this, because it's an excuse for everyone else to be lazy and use them as an out, which is ultimately what happens. Something breaks in production, and the developer quickly points out, "Well the DBA reviewed it." Now is this true all the time, no, but it is true part of the time and often from the people who need to have their code really reviewed. So you have buried the DBA with extra work and forced that person to be responsible for someone else's mistakes, when that person probably doesn't have enough time to fix all the mistakes currently in production.
The only way to really solve the problem is to have people who know how to write SQL code write it. Should they get input from the DBAs from time to time? Of course they should, but I have always found, if you don't have time to do it right the first time, when are you going to find time to fix it.