Самое быстрое (O (n)) и большая часть эффективной памяти (O (1)) путь с операцией "исключающее ИЛИ".
В C:
int arr[] = {3, 2, 5, 2, 1, 5, 3};
int num = 0, i;
for (i=0; i < 7; i++)
num ^= arr[i];
printf("%i\n", num);
Это печатает "1", который является единственным, который происходит однажды.
Это работает, потому что в первый раз Вы поражаете число, оно отмечает цифровую переменную с собой и во второй раз, когда оно снимает выделение с цифры с собой (более или менее). Единственный, который остается неотмеченным, является Вашим недубликатом.
Вы можете запускать сценарии из командной строки с помощью утилиты SQLCMD.
http://msdn.microsoft.com/en-us/library/ms162773%28SQL.90%29.aspx
Вы можете запустить это через командный файл. Это позволяет вам войти в файл.
Вы можете автоматизировать такие задания, используя программы планирования.
В SSMS, щелкните Запрос-> Результаты в ...-> Результаты в файл