Да, это правильно. Сначала вы должны узнать свою учетную запись службы sqlserver, вы можете увидеть ее в Диспетчере задач, когда вы одновременно нажимаете Ctrl + Alt + delete. Затем вы должны предоставить привилегии чтения / записи «C: \ Murach \ SQL Server 2008 \ Базы данных» для учетной записи службы.
Вот одно решение, которое использует некоторые дополнительные входные и выходные аргументы, которые UNIQUE имеет:
>> y = { 'd' 'f' 'a' 'g' 'g' 'a' 'w' 'h'}; %# Sample data
>> [~,index] = unique(y,'first'); %# Capture the index, ignore the actual values
>> y(sort(index)) %# Index y with the sorted index
ans =
'd' 'f' 'a' 'g' 'w' 'h'
Если вы посмотрите документацию к unique
, там есть возможность вернуть индекс вместе с отсортированным массивом. Вы можете указать, хотите ли вы, чтобы в индекс возвращалось первое или последнее вхождение числа.
Например:
a=[5, 3, 4, 2, 1, 5, 4];
[b,order]=unique(a,'first')
returns
b=[1, 2, 3, 4, 5]
и m=[5, 4, 2, 3, 1]
Вы можете отсортировать ваш массив по порядку и сохранить индекс next
[~,index]=sort(order) %# use a throw-away variable instead of ~ for older versions
и, наконец, переиндексировать b
b=b(index)