Я использую их для сохранения ввода. Однако я всегда использую буквы, подобные функции. Так, в Вашем примере я ввел бы:
SELECT t.TripNum, s.SegmentNum, s.StopNum, s.ArrivalTime
FROM Trip t, Segment s
WHERE t.TripNum = s.TripNum
, Который просто помогает читать для меня.
Уловка заключается в том, что NT AUTHORITY \ NETWORK SERVICE
фактически отображается в базе данных как DOMAINNAME \ MACHINENAME $
(обратите внимание на $
знак!). То есть, когда вы пересекаете границу компьютера со своего веб-сервера на SQL Server, SQL Server видит учетную запись компьютера, если вы используете учетные записи NETWORK SERVICE
или LOCAL SYSTEM
. Если вы используете любую другую учетную запись, не относящуюся к домену, SQL Server не получит ваши учетные данные.
Я немного озадачен вашим сообщением об ошибке. По правде говоря, я не думаю, что, когда БД находится на другом компьютере, вы увидите что-либо, кроме Ошибка входа в систему для NT AUTHORITY \ ANONYMOUS LOGON
.
IUSR
используется для анонимные веб-сайты и не могут передавать данные на SQL Server.
Я бы предложил создать отдельную (желательно доменную) учетную запись и укажите ее в строке подключения (обычно в web.config) Затем вы можете ограничить разрешения на веб-сервере, что эта учетная запись может и не может делать. Затем вы можете предоставить этой учетной записи необходимые разрешения на сервере SQL.