The SQL Server replication subscriber cannot start: ‘No agent status information is available.’

I am trying to run merge replication of the database between two servers (both are SQL Server version 15). Both servers are in the domain. On both I am logged using this domain account (all server roles enabled like sysadmin, serveradmin, setupadmin).

I created publication using wizard and selected following options:

  • ‘Merge publication’
  • ‘SQL Server 2008 or later’
  • Then I selected one table as object to publish
  • No filters
  • I unchecked ‘Schedule the Snapshot Agent to run at the following times’
  • Snapshot Agent: ‘Run under the following windows account’ – I entered my domain account + password
  • Connect to the publisher: ‘By impersonating the process account’

Publication has been created successfully.

I created subscription using wizard and selected following options:

  • Publication dialog – I have selected publication which I have just created
  • ‘Run each agent at its Subscriber (pull subscription)’
  • I have selected the database on the destination server (I created it before running subscription wizard)
  • Merge agent security dialog: again I have entered my domain credentials, Connect to Distributor: ‘by impersonating…’, Connect to Subscriber: ‘by impersonating…’
  • Synchronization schedule dialog: ‘Subscriber’, ‘Run continuously’
  • Initialize Synchronizations dialog: ‘Initialize’, ‘At first synchronization’
  • Subscription Type: ‘Client’, ‘First to Publisher wins’

Subscription has been created successfully

But when I right click on subscriber and select ‘View synchronization status’ the message appears:

'No agent status information is available.' 

and when I try to click ‘Start’ button then the error message appears:

'The agent could not be started. SQLServerAgent Error: Request to run job DEV-SQL1\DB1-ag_publ5-ag_publication_5_2-DEV-SQL2\DB1-ag_subs5- 0 (from User sa) refused because the job is already running from a request by User sa. Changed database context to 'ag_subs5'. (Microsoft SQL Server, Error: 22022) ' 

I created snapshots on the publisher site, stop the related job on the subscriber site and then pressed ‘Start’ button in ‘View synchronization status’ dialog, but the result is always as described above.

Any suggestion how can I start my subscriber are kindly appreciated.

Spam from specific user agent

I’ve been getting thousands of requests each day from a specific user agent, Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:38.0) Gecko/20100101 Firefox/38.0. They’re all from different ip addresses (the ones I’ve looked up have been Google LLC and Cloudflare), and they all use that exact same user agent. nginx logs So far I’ve seen 90 unique ip addresses

ip count

I’ve started giving 403 statuses back to them, since it seems like something is wrong here, but I can’t trace them back to any one specific point. They all seem to be legitimate requests, but they’re just so suspicious with the amount of servers they’re coming from. Am I missing something here?

How can the agent of a devil “capture” a soul in D&D?

Devils always want more souls for the Blood War. Mostly, they get those from lawful evil mortals. But as various lore – and this question What groups of souls go to the Nine Hells according to lore? – make clear, pacts with devils and even magical accidents can also cause a soul to go to the hells.

In my game, one of the party (a Warlock) owes a favour to a devil (their patron). I’ve decided that this favour will be to "claim" the souls of two NPCs in the town where they’ve just arrived. The devil in question is Dispater and the town happens to be home to two master blacksmiths, who Dispater would love working in his armouries for all eternity.

Presumably, the most effective way for our Warlock to go about this – if they choose to accept the task – is to try and tempt them with some kind of Faustian bargain so they will make a pact of their own. However, I’m bound to be asked whether there’s any other method. Is there?

Oracle Enterprise Manager 11g Database Control – Agent Unreachable

Single instance DB. Can login to OEM. However, it says Status – Agent Unreachable on the Home page.

Most tasks such as checking RMAN status, adding datafiles etc can still be done through the OEM. I do not know how "Agent Unreachable" impacts the OEM in this case (DB Control)

I checked status of the agent from $ ORACLE_HOME/bin/emctl status agent, it showed "The Agent is not Running"

So, I want to start the agent, but $ ORACLE_HOME/bin/emctl start agent is not working. The command is not available. In Oracle docs, it is mentioned that the command emctl start agent should be executed from AGENT_HOME/bin. However, I do not know the AGENT_HOME path.

Please help. Thanks in advance.

Free Drive Space and SQL Server Agent Alerts

I need to receive an email when free drive space on E: or H: becomes less than 20%

I know that can be achieved by setting up a job that executes PowerShell or T-SQL scripts on a schedule, that checks for free drive space and sends an alert email when drive space is low

But the question is – can same task be achieved using just an Alert ?
There is alert type "SQL Server performance condition alert"

Is there an Object / Counter that can help to check for drive space and fire this alert if its value "Falls Below" specified threshold ?

Alert

Sync logins and Agent jobs across all replicas in Distributed Availability Group

I am using dba_CopyLogins stored proc to sync logins on replicas in Distributed Availability group , but the database level permissions are not transferred due to database sync operation is going on.. Is there any way to sync all logins and permissions from global primary to Forwarder and other replicas? also how to copy agent jobs?

Randomly assign n elements to n agents such that each agent only knows its own element


Problem

I’m working on an app that involves shuffling and distributing playing cards to players. As a challenge, I tried to solve this problem in a way that doesn’t require a trusted intermediary.

In other terms, the task is to find a distributed algorithm that

  • uniquely assigns $ n$ agents numbers $ 1..n$
  • allows each agent to know nothing about the assignment but its own
  • when revealing the assignment, allows other players to verify the assignment

We also assume that knowing other’s assignment is an advantage for each agent, and revealing its own prematurely a disadvantage. Agents are also assumed to be able to talk with each other in a way hidden from all other agents.

Partial solution

The solution I came up with works only under the assumption that adversaries do not collaborate.

The idea is to create a set of $ n$ nonces, and assign each agent exactly one nonce. The set is then passed from agent to agent in an agreed upon order, hidden from all others, until each agent received the set exactly once. Each time an agent receives the set, it swaps its nonce with a new one, memorizes the new nonce, and confirms receival of the set to the others. This entire procedure is done twice, at which point, all agents have received the set at least once after all other agents swapped their nonces, making it impossible to recognize and hence map the nonces to the other agents.

When the last agent receives the set the second time, it shares it with everyone, and all agents confirm to the others that their nonce is contained in the set. The agents then assign a number to each nonce in the set based on an agreed upon random seed, giving us the required unique assignment.

To allow ownership verification, instead of the nonces, agents put the hash value of their nonce on the set, revealing the actual nonce only when verification is required.


The problem with this solution is that if adversaries are allowed to collaborate, each time an adversary receives the set, they can compare their versions, identify changes and potentially derive which nonce belongs to other agents, allowing them to know what number got assigned to them.

All ideas are appreciated!

GPG Agent SSH Forward Pinentry

I have GPG agent forwarding via SSH RemoteForward working up to a point.

I can list my private and public keys on the remote host.

If I try to decrypt a file remotely, the PIN is prompted for but the text is stepped, garbled and the passphrase prompt echoes the passphrase (at least several random chars).

I can skip the forwarding and SSH to said remote host and start an agent, use the local keyring and PIN entry works fine. Similarly, I can SSH from the remote host (VM) back into MacOS and the same local keyring PIN entry works.

It’s ONLY the forwarding that breaks PIN entry. I have exported "$ GPG_TTY" and do "gpg-connect-agent UPDATESTARTUPTTY /bye" before SSH so the prompt is in the correct tty. That part does work as I’ve experimented with and without said vars.

Any help is greatly appreciated as I’m out of ideas. Aah, after writing I found the below, exact same problem!

https://unix.stackexchange.com/questions/325021/intermingled-input-when-using-local-gpg-agent-from-remote-site

  • MacOS Catalina to CentOS 8.2.2004
  • GPG 2.2.9 on CentOS8
  • GPG 2.2.21 on MacOS installed via homebrew
  • Pinentry 1.1.0 on MacOS and CentOS8
102-182-155-35 :: ~ % cat .ssh/config Match host * exec "gpg-connect-agent UPDATESTARTUPTTY /bye" Host centos8.ephemeric.local centos8   Hostname 192.168.99.57   ForwardAgent yes   StreamLocalBindUnlink yes   RemoteForward /run/user/1000/gnupg/S.gpg-agent /Users/robert/.gnupg/S.gpg-agent.extra 
102-182-155-35 :: ~ % cat .gnupg/gpg-agent.conf pinentry-program /usr/local/bin/pinentry-tty pinentry-timeout 10 debug-level guru allow-preset-passphrase default-cache-ttl 43200 default-cache-ttl-ssh 43200 max-cache-ttl 43200 max-cache-ttl-ssh 43200 
centos8 :: ~ % gpg -d tmp/slobwashere.gpg Note: Request from a remote site.                                   Please enter the passphrase to unlock the OpenPGP secret key:                                                                                               "Robert Gabriel (Slob) <ephemeric@icloud.com>"    4096-bit RSA key, ID DC141A1E1314AB17,                                          created 2018-07-23 (main key ID 458EF10593DA8C1D).                                                                                             Passphrase:                                                                                                        gpg: encrypted with 4096-bit RSA key, ID DC141A1E1314AB17, created 2018-07-23       "Robert Gabriel (Slob) <ephemeric@icloud.com>" gpg: public key decryption failed: Timeout gpg: decryption failed: No secret key 

Is there a reasonable chance of a well-funded agent obtaining raw traffic over Tor circuits

If an agent has a few middle Tor relays (Am) and a few exit Tor relays (Ae), could they obtain the original traffic of some of the circuits with a reasonable probability?

Let’s assume, without too much loss of generality, that Tor only uses middle-middle-exit circuits and that there are M middle relays and E exit relays.

The probability of such a circuit consisting only of nodes this agent controls then is:

P = Am/M * (Am - 1)/(M - 1) * Ae/E 

According to Tor Metrics, there are just short of 7000 relays in total, with almost 2000 being exit relays. I will round these figures up into 7000 – 2000 = 5000 middle relays and 2000 exit relays.

Assuming the attacker owns 10 middle relays and 10 exit relays, the probability of them getting to control the whole circuit is

P = 10/5000 * 9/4999 * 10/2000 ~= 1.8e-8 

which is very low. However, once you factor in the enormous amount of Tor circuits being established (could not find a reliable figure anywhere, will gladly edit one in if someone has it), wouldn’t this agent be able to consistently get complete circuits through their relays and, as a consequence, have complete access to the data it was relaying?

I understand that some of the data through the circuits would also be using TLS, but at least some of it should be plaintext.

It may also be worth pointing out that if this is a really well-funded agent, they might have substantially more than 20 relays at their disposal.