Назад | Перейти на главную страницу

Различные версии собственного клиента SQL в SQL Server 2008 R2

У меня возникает эта ошибка, когда я пытаюсь подключиться с сервера под названием: AplicationServer1 на другой сервер в том же домене Кобл, называется DatabaseServer1

SQLSTATE[28000]: [Microsoft][SQL Server Native Client 11.0][SQL Server]Login failed for user 'KOBL\kobladmin'.

Первая странность в том, что в DatabaseServer1 есть Sql Server 2008 R2 с Sql Native Client 10.0, и я не знаю, почему появляется версия 11.0 в приведенной выше строке, когда я пытаюсь подключиться к DatabaseServer в браузере.

Я использую на стороне AplicationServer1:

DatabaseServer1:

Я использую этот код для подключения:

config.php

<?php
define ("DB_USER","KOBL\kobladmin");
define ("DB_PASS","AdminKobl");
define ("DSN","sqlsrv:server=databasebserver1.kobl.com;database=kobl_system");
?>

connect.php

<?php
require 'config.php';

class DB_Connect {

private static $_instance;

//Connecting to database
public function &pdo_connect() {
    if(!self::$_instance) {
        try{
            self::$_instance = new PDO(DSN,DB_USER, DB_PASS);
            self::$_instance->setAttribute(PDO::ATTR_PERSISTENT, true);
            self::$_instance->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
        } catch (PDOException $ex) {
            die("PDO Connection error: ".$ex->getMessage()."<br/>");
        }
    }
    return self::$_instance;
}

private function __construct() {
}

private function __clone() {
}
}
?>

Учетные данные для подключения к серверу Sql такие же, как и при проверке подлинности Windows.

Примечание: Имена домена, пользователя и пароля фальшивые (я ставлю это, потому что иногда мне говорят: «Вы не можете поместить настоящие данные о вашем подключении к базе данных».

SQL Native Client 11 отображается в ошибке, потому что это версия клиента, которую ApplicationServer1 использует для подключения к DatabaseServer1. На сервере приложений должны быть установлены клиентские инструменты SQL 2012.

Проблема аутентификации, похоже, заключается в том, что KOBL\kobladmin у него нет прав доступа к вашей базе данных. Убедитесь, что вы 1) создали логин Windows для этой учетной записи в SQL Server, а затем 2) предоставили этому логину соответствующие разрешения в базе данных kobl_system.