Вам нужна функция, чтобы проверять только символ @
, чтобы ее избежать, поэтому:
function avoidEmailPartCharacter(event) {
const code = event.keyCode || event.which;
if (code === 64) {
event.preventDefault();
}
}
затем вы передаете функцию обработчику ввода keypress
, например:
это должно сработать
Вы можете перевести базу данных в однопользовательский режим, чтобы восстановить ее. IIRC, что-то вроде этого ...
ALTER DATABASE TheDatabaseToRestore SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
RESTORE DATABASE TheDatabaseToRestore
FROM DISK =N'Z:\Path\To\Backup\BackupFile';
ALTER DATABASE TheDatabaseToRestore SET MULTI_USER;
см .: Получить эксклюзивный доступ для восстановления SQL Server и / или Восстановить резервную копию базы данных с помощью SQL для получения дополнительной информации.
Изменить: Однопользовательский режим предназначен для резервного копирования и восстановления (в неэкспресс-выпуске я его регулярно использую). При его использовании все остальные соединения отключаются, и новые соединения не могут быть установлены. Я не играл с различными опциями «WITH», такими как «ROLLBACK IMMEDIATE», но их использование кажется простым.
Читая комментарий, Вы хотите восстановить его.
Хорошо, выведите его из эксплуатации.
Восстановление не что-то, что должно делать приложение, таким образом, DBA выполняет это перед ВОССТАНОВЛЕНИЕМ.
ALTER DATABASE foo SET OFFLINE WITH ROLLBACK IMMEDIATE
Вы пробовали SqlClient.ClearPool ?
Из MSDN:
ClearPool очищает пул подключений. что связано с подключение. Если дополнительные подключения связанные с подключением используются на момент звонка они отмечены соответствующим образом и выбрасываются (вместо того, чтобы быть возвращенным в pool), когда для них вызывается Close.
Просто вызывайте ClearPool при каждом подключении, но вы потеряете преимущества объединения, если сделаете это.
public class DataFactory
{
public SqlConnection CreateConnection(string connString)
{
SqlConnection conn = new SqlConnection(connString);
SqlClient.ClearPool(conn);
return conn;
}
}
В качестве альтернативы вы можете отключить объединение всех вместе, используя свойство Pooling строки подключения:
string connString = "Data Source=MYSERVER;Initial Catalog=myDb;Integrated Security=true;Pooling=false"
Как вы говорите, когда вы закрываете или удаляете соединение, оно возвращается в пул, но на самом деле не закрывается.
Что вам нужно сделать, чтобы закрыть все соединения в пуле. Это можно сделать с помощью команды ClearAllPools.
ClearAllPools сбрасывает (или очищает) пул соединений. Если есть подключений, используемых во время звоните, они отмечены соответствующим образом и будет удален (вместо возвращается в бассейн), когда Close вызывается на них.
Существует также команда ClearPool, которая делает то же самое, но для одного соединения.
Надеюсь, это поможет
Шираз
Выполнить «USE TempDB;» первый. Затем закройте его.
Или «USE master;», если вам больше нравится.
Блокировки S-DB для любой из этих баз данных не должны иметь значения во время нормальной производственной работы, поскольку вы не можете избавиться ни от одной из них. и все равно продолжить работу с сервером.