Tôi có DataBase với Nhà môi giới dịch vụ được bật. Sau đó, tôi muốn khôi phục lại cơ sở dữ liệu của tôi trong chương trình từ bản sao lưu cơ sở dữ liệu khác, nhưng sau khi khôi phục (tôi khôi phục vào tên cơ sở dữ liệu hiện có), phương pháp của tôi, whitch phép dịch vụ môi giới, đặt lỗi này:Bật nhà môi giới sau khi khôi phục Sql Server DataBase
Msg 9772, Level 16, State 1, Line 1
The Service Broker in database "ServeDB2" cannot be enabled because there is already an enabled Service Broker with the same ID.
Msg 5069, Level 16, State 1, Line 1
ALTER DATABASE statement failed.
Đây là phương pháp của tôi :
public void TurnOnBroker()
{
if (!this.database.BrokerEnabled)
{
this.server.KillAllProcesses(this.database.Name);
this.database.BrokerEnabled = true;
this.database.Alter();
RefreshConnection();
}
}
Tôi nên sửa gì ở đây?
Quy trình giết chết là đáng tin cậy và không nhất thiết phải giết chết ngay lập tức. Sử dụng tốt hơn 'WITH ROLLBACK IMMEDIATE'. – usr