публикация базы данных SQL 2005 на удаленном хосте - PullRequest
0 голосов
/ 13 апреля 2009

Я создал веб-сайт ASP.NET 2.0, и он использует две базы данных, а именно aspnetdb и my_db. Я запустил инструмент aspnet_regsql.exe -E -S localhost -A mr и получил aspnetdb.mdf в моем проекте. использовал его для предоставления функций входа на мой сайт. Теперь я хочу опубликовать сайт на удаленном хостинг-сервере, который я купил. Они предоставили мне информацию о сервере, к которому я должен подключиться, и я смог это сделать. Теперь сценарий таков: -

1) Мой сайт поддерживает одну базу данных MS SQL Server, и я использую две базы данных. Как я могу объединить эти две базы данных в одну, а также обновить все страницы с изменениями, возникающими при доступе к соответствующей базе данных, а затем опубликовать ее.

2) Я хочу переименовать aspnetdb в другое имя, так как я получаю сообщение об ошибке при публикации базы данных с именем aspnetdb на сервере (она говорит, что база данных уже существует, но я не смог найти Это). Так как я могу эффективно переименовать его.

3) Как правильно опубликовать объединенную базу данных в удаленном местоположении, нужно ли также учитывать строки подключения? До тех пор, пока я был локальным пользователем, я не предоставлял имя пользователя и пароль, но на сайте я хотел бы создать пользователя для сервера SQL. Так как я могу надежно интегрировать его в свой проект.

Надеюсь, я правильно объяснил свою проблему, ожидая решения.

Спасибо

Ответы [ 2 ]

2 голосов
/ 13 июня 2009

У меня здесь есть несколько вопросов, поэтому я разберу их каждый.

1) Как объединить эти две базы данных в одну

Девмания упомянул Red Gate Data Compare, поэтому я упомяну Quest Toad для SQL Server , который также делает то же самое. Отказ от ответственности, хотя - я работаю на Quest. Вы можете скачать бета-версию v4.5, которая сейчас бесплатна, и в ней есть функции сравнения данных и схемы.

, а также обновите все страницы с изменением, возникающим при доступе к соответствующей базе данных, а затем опубликуйте его.

К сожалению, никто не сможет изменить ваш код.

2) Я хочу переименовать aspnetdb в другое имя, так как я получаю сообщение об ошибке при публикации базы данных с именем aspnetdb на сервере (она говорит, что база данных уже существует, но я не был смог найти его). Так как я могу эффективно переименовать его.

Перейдите в SQL Server Management Studio, подключитесь к серверу базы данных, щелкните правой кнопкой мыши имя базы данных и нажмите Переименовать.

3) Как правильно опубликовать объединенную базу данных в удаленном местоположении, нужно ли также учитывать строки подключения?

Обратитесь к своему хостинг-провайдеру, потому что не все из них разрешат SSMS доступ удаленно. Если они это сделают, то вам нужно будет написать сценарий вашей базы данных, а затем применить его к удаленной базе данных. Жаба включает в себя возможность сценария схемы и данных в вашей базе данных.

Пока я был локальным пользователем, я не предоставлял имя пользователя и пароль, но на сайте я хотел бы создать пользователя для сервера SQL. Итак, как я могу безопасно интегрировать его в свой проект.

В SQL Server Management Studio зайдите в базу данных, Безопасность, Логины. Вы можете щелкнуть правой кнопкой мыши там, создать новый логин и использовать аутентификацию SQL. Укажите имя пользователя и пароль, и вы можете дать логину только те разрешения, которые вам нужны. Я бы использовал отдельное приложение для вашего веб-приложения, в котором были только db_datareader и db_datawriter, а не db_owner. Владелец имеет возможность изменить схему, и ваше приложение не должно этого делать. В случае, если вас взломали и кто-то украл имя пользователя / пароль, по крайней мере, они не изменят вашу схему.

1 голос
/ 13 апреля 2009

человек, лучший инструмент, который изменил мою жизнь, это Redgate Data Compare. он проверит обе БД и синхронизирует что-либо в них, а также даст вам сценарий SQL для этого.

надеюсь, это поможет.

...