L'impostazione della sicurezza per l'esecuzione di chiamate di procedure remote (RPC) in un server remoto comporta l'impostazione di mapping di accesso nel server remoto ed eventualmente anche nel server locale che esegue un'istanza di Microsoft SQL Server. Il mapping è specifico di un determinato nome di server\istanza, in genere il nome NetBIOS per un'istanza predefinita e il nome NetBIOS seguito dal nome dell'istanza per un'istanza denominata. Se il mapping di accesso non esiste o il nome del server specificato nella stringa di connessione non corrisponde esattamente al nome indicato nella tabella sysremotelogins e se l'account guest non dispone di un mapping in sysremotelogins, verrà generato questo errore. Tale errore si verifica anche se il nome di accesso dell'utente remoto risulta vuoto o Null.
La replica usa definizioni dei server remoti per connettersi ai server di distribuzione, pubblicazione e sottoscrizione. Quando si attiva e configura la replica, si creano implicitamente server remoti e si aggiungono mapping di accesso per le relative istanze remote di SQL Server. Nelle stringhe delle connessioni di replica viene sempre specificato il nome NetBios per un'istanza predefinita e il nome NetBIOS seguito dal nome dell'istanza per un'istanza denominata. Pertanto, la replica non trova né usa i nomi di server remoti definiti per indirizzi IP o per nomi di dominio completi. Quando il tentativo di connessione di replica non riesce a trovare il nome NetBIOS nella tabella sysremotelogins, verrà visualizzato il messaggio di errore precedente.
La replica Microsoft SQL Server è supportata quando i server coinvolti sono registrati per nome (di rete) NetBIOS, ma non quando tali server sono registrati per indirizzo IP o nome di dominio completo. Per ulteriori informazioni sulle modalità di replica tra computer che eseguono SQL Server in domini non trusted o in Internet, vedere l'articolo 321822 della Microsoft Knowledge Base.
Nota Il supporto per i server remoti viene fornito esclusivamente per motivi di compatibilità con le versioni precedenti. Le nuove applicazioni che devono eseguire stored procedure in istanze remote di SQL Server devono invece utilizzare server collegati.
Se i server coinvolti nella query o usati nella replica sono stati rinominati o creati da un'immagine, assicurarsi che il nome (di rete) NetBIOS corrisponda alla parte relativa al computer della funzione @@SERVERNAME di SQL Server. In caso contrario, seguire la procedura riportata nell'argomento "Ridenominazione di un server" della documentazione online (aggiornata - SP3) per aggiornare il valore di @@SERVERNAME. Questa modifica richiede il riavvio dell'istanza di SQL Server. Per altre informazioni sulle cause dell'esito negativo dell'installazione della replica quando SQL Server 2000 viene distribuito tramite un'immagine disco, vedere l'articolo 818334 della Microsoft Knowledge Base.
Se questo errore si verifica durante la replica, controllare che i server di distribuzione, pubblicazione e sottoscrizione siano stati configurati usando il nome (di rete) NetBIOS e non l'indirizzo IP o il nome di dominio completo.
Nome | Descrizione | Valore predefinito |
Abilitato | Abilita o disabilita il flusso di lavoro. | Sì |
Priorità | Definisce la priorità dell'avviso. | 1 |
Gravità | Definisce la gravità dell'avviso. | 1 |
Target | Microsoft.SQLServer.2012.DBEngine | ||
Category | EventCollection | ||
Enabled | True | ||
Event_ID | 18483 | ||
Event Source | $Target/Property[Type="SQL!Microsoft.SQLServer.DBEngine"]/ServiceName$ | ||
Alert Generate | True | ||
Alert Severity | Warning | ||
Alert Priority | Normal | ||
Remotable | True | ||
Alert Message |
| ||
Event Log | Application | ||
Comment | Mom2012ID='{9CF46B83-7BD2-49D5-A987-B24FCB6FD0D7}';MOM2012GroupID={467ECC75-C5DA-42BD-955C-A73BBB51AF74} |
ID | Module Type | TypeId | RunAs |
---|---|---|---|
_F6DA1507_12AF_11D3_AB21_00A0C98620CE_ | DataSource | Microsoft.Windows.EventProvider | Microsoft.SQLServer.SQLDefaultAccount |
GenerateAlert | WriteAction | System.Health.GenerateAlert | Default |
<Rule ID="Microsoft.SQLServer.2012.Could_not_connect_to_server_because_it_is_not_defined_as_a_remote_login_at_the_server_1_5_Rule" Target="SQL2012Core!Microsoft.SQLServer.2012.DBEngine" Enabled="true" ConfirmDelivery="true" Remotable="true" Comment="Mom2012ID='{9CF46B83-7BD2-49D5-A987-B24FCB6FD0D7}';MOM2012GroupID={467ECC75-C5DA-42BD-955C-A73BBB51AF74}">
<Category>EventCollection</Category>
<DataSources>
<DataSource ID="_F6DA1507_12AF_11D3_AB21_00A0C98620CE_" Comment="{F6DA1507-12AF-11D3-AB21-00A0C98620CE}" TypeID="Windows!Microsoft.Windows.EventProvider" RunAs="SQL!Microsoft.SQLServer.SQLDefaultAccount">
<ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<LogName>Application</LogName>
<Expression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery>PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value>$Target/Property[Type="SQL!Microsoft.SQLServer.DBEngine"]/ServiceName$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery>EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value>18483</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</Expression>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="GenerateAlert" TypeID="SystemHealth!System.Health.GenerateAlert">
<Priority>1</Priority>
<Severity>1</Severity>
<AlertMessageId>$MPElement[Name="Microsoft.SQLServer.2012.Could_not_connect_to_server_because_it_is_not_defined_as_a_remote_login_at_the_server_1_5_Rule.AlertMessage"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>$Data/EventDescription$</AlertParameter1>
</AlertParameters>
<Suppression>
<SuppressionValue/>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>