Я просто попытался внести простое изменение схемы в таблицу в базе данных SQL Server (с помощью инструмента Design в SMSS). Всякий раз, когда я пытался сохранить изменения, он все время сбивался. Я задавался вопросом, связано ли это с существующими соединениями, которые «блокировали» таблицу.Какова связь между открытыми SqlConnections в клиентском приложении и процессами на SQL Server?
Я решил убить связи в качестве эксперимента. Я запросил master..sysprocesses, чтобы получить текущие spids для этой базы данных, и убил их один за другим, пока не смог сохранить изменение схемы. (Не очень научный, но я далек от эксперта с SQL Server). Разумеется, когда я убил все шпионы (бар, который был мной, используя SMSS), мне удалось сохранить изменение схемы.
Я хотел бы спросить об отношениях между ADO.NET SqlConnections и spids. Например, если клиентское приложение вызывает Open() в объекте SqlConnection, должен ли я увидеть другой spid в master..sysprocesses? Что, если я вызову Close() на этом SqlConnection? Должен ли спад исчезнуть?
Я уверен, что это не совсем так, поскольку я понимаю, что существует понятие объединения пулов, но может ли кто-то проливать свет на то, как это отношение работает?
Спасибо
Дэвид
Нет, это точно то, что я просил. Спасибо! – David