IT-помощь
SQL-сервер
"А знаете ли Вы SQL?" - единственная фраза, с которой ко мне обратилась программистка в одной конторе, куда меня занесла судьба, после недельного молчаливого созерцания моих попыток разобраться с SQL Server 2005, перенести его базы данных со старого сервера на новый и запустить репликацию на федеральный уровень.
Впоследствии, когда мною с нуля был собран новый сервер, на нём был установлен и настроен MS SQL SERVER 2008, заработали реплицированные на него базы, выяснилось, что задававшая этот вопрос сама SQL не знает. Впрочем, не знают SQL и ныне там пребывающие "программисты-методисты".
Чем мы можем Вам помочь в администрировании SQL-сервера:
- установить и настроить MS SQL SERVER;
- настроить бэкап базы данных по расписанию;
- настроить репликацию базы данных на другой сервер;
- поможем разобраться в вопросах безопасности SQL SERVER;
- поможем в написании SQL-запросов к базе данных;
- при наличии выхода в интернет Вашего сервера (непременное условие - внешний статический IP-адрес) сделать сервис на платформе ASP.NET, предоставляющий доступ из интернета через Web-интерфейс к Вашему SQL-серверу для чтения данных из базы и др.
Пример сервиса, разработанного на платформе ASP.NET (база данных установлена на MS SQL Server 2008R2):*
Для просмотра сервиса необходимо перейти по ссылке, указанной ниже, и в демонстрационной форме ввести данные, представленные в каком-либо одном из ниже перечисленных пунктов (1, 2 или 3):
1) в строке "Фамилия участника тестирования" ввести "Фукин" без кавычек, в строке "Идентификатор участника тестирования" - цифры 000000, в строке "Предмет, по которому проводилось тестирование" в раскрывающемся списке выбрать какой-либо из следующих предметов: "Русский язык", "Математика", "Английский язык", "Обществознание";
2) в строке "Фамилия участника тестирования" ввести "Кузмичихина" без кавычек, в строке "Идентификатор участника тестирования" - цифры 000006, в строке "Предмет, по которому проводилось тестирование" в раскрывающемся списке выбрать какой-либо из следующих предметов: "Русский язык", "Математика", "История", "Обществознание";
3) в строке "Фамилия участника тестирования" ввести "Параноя" без кавычек, в строке "Идентификатор участника тестирования" - цифры 000066, в строке "Предмет, по которому проводилось тестирование" в раскрывающемся списке выбрать какой-либо из следующих предметов: "Русский язык", "Химия", "Биология".
Перейти к просмотру сервиса
* Сервис предназначен для демонстрации взаимодействия ASP.NET и MS SQL Server. Все возможные совпадения с реальными данными носят случайный характер.
Случай из практики
При подключении к базе данных из интернета "500 - внутренняя ошибка сервера"
На вновь установленный MS SQL SERVER 2008 переносил базу, которая использовалась для получения данных через веб-интерфейс. Переносил посредством создания резервной копии на старом сервере и последующего восстановления на новом. База восстановилась нормально. Но при подключении к ней из интернета получил чарующий своей информативностью ответ: "Ошибка сервера. 500 - внутренняя ошибка сервера. Проблема с запрашиваемым ресурсом; ресурс не может быть отображен".
Через Visual Studio посмотрел файл .asp, - ту часть, которая ответственна за подключение к базе. Всё на месте: логин, пароль, название базы.
Через Management Studio подключился к базе. База на месте. Пользователь в базе присутствует
Может вместе с базой был перенесён пользователь, но без пароля? В связи с этим в интернете нашёл портал, где на аналогичный вопрос даётся ответ в том смысле, что должен переносится с паролем. Но сервер, по-прежнему, возвращал ошибку 500. Потом, всё-таки вспомнил (когда-то занимался SQL), что надо посмотреть на вкладке "Безопасность/Имена Входа". А там моего пользователя (под которым шло подключение к базе) не оказалось.
Тогда правой клавишей по "Имена Входа" - "Создать Имя входа". Задать Имя входа, Пароль, Подтверждение (такие же, как и в базе на старом сервере). Снять все указатели. Выбрать базу и язык.
Далее на вкладке "Сопоставление пользователей" отметить галочкой нужную нам базу и добавить схему по умолчанию "dbo" . В окне "Членство в роли базы данных" помимо "public"отметить "db_datareader". Ок.
Всё. Имя входа добавлено.
После этого ошибка 500 исчезла. Подключение пошло.
- Комментарии