Do you have to use a cursor? Might help to know what you are actually doing in the "loop" in case there is a "different way" in SQL server
To knock-up a list of @ variables for a given table (which you can then cut,paste&butcher!) the following may help, just put the name of your table at the appropriate point
SELECT '@'+ REPLACE(COLUMN_NAME, ' ', '_') + ' = [' + COLUMN_NAME + '],'
WHERE TABLE_NAME = 'MyTableNameHere'
ORDER BY ORDINAL_POSITION