嗨,我在使用 SMO 时注意到一些奇怪的行为,想知道是否有人可以对此提供一些见解;当我第一次调用 Server.JobServer 属性时(在这种情况下,仅调用 .ToString() 可能会在后台延迟初始化它)我发现它影响了我的 SQL 连接字符串 - 特别是密码已经消失了!
下面是我用来产生这种行为的代码:
SqlConnection conn = new SqlConnection(@"Data Source=myserver;Initial Catalog=Stage;user=myuser;password=abc;");
ServerConnection serverConn = new ServerConnection(conn);
Server server = new Server(serverConn);
Console.WriteLine(conn.ConnectionString);
server.JobServer.ToString();
Console.WriteLine(conn.ConnectionString);
输出是 Data Source=myserver;Initial Catalog=Stage;user=myuser;password=abc; 数据源=myserver;初始目录=Stage;用户=myuser;
帐户 myuser 配置了 public 和 sysadmin SQL Server 角色,并且在 master 和 msdb 上具有 dbo。任何人都可以提供有关为什么会发生这种情况的任何见解或线索吗?