VS2010 База данных Project Связанный сервер Логин Пароль - PullRequest
2 голосов
/ 26 января 2011

Это продолжающаяся сага о попытке создания локальной среды разработки баз данных с использованием изолированных параметров среды разработки.У меня есть два проекта базы данных, серверный проект, предназначенный для общего экземпляра SQL Server 2005, и проект базы данных, предназначенный для моей базы данных.

Я определил, что локальное развертывание серверного проекта практически невозможно из-за всехразличные имена входа не распознаются на моем ПК и т. д., однако мне нужны связанные серверы из проекта сервера для проекта базы данных.Чтобы устранить проблемы с развертыванием серверного проекта, я отключил развертывание на серверном проекте и добавил эти операторы в сценарий PreDeployment моего проекта базы данных.

IF DB_ID('CreditScores') is null
CREATE DATABASE CreditScores

EXEC sp_changedbowner 'sa'

EXECUTE sp_dropserver N'CREDIT_SCORES_CALENDAR', 'droplogins';
EXECUTE sp_addlinkedserver @server = N'CREDIT_SCORES_CALENDAR', @srvproduct = N'vm-2cbstest', @provider = N'SQLNCLI', @datasrc = N'vm-2cbstest';
EXECUTE sp_addlinkedsrvlogin @rmtsrvname = N'CREDIT_SCORES_CALENDAR', @useself = N'FALSE', @rmtuser = N'cdtscr';

Развертывание базы данных работает до определенного момента, но затемЯ получаю сообщение об ошибке ниже, когда он пытается добавить хранимую процедуру, которая ссылается на связанный сервер.Я предполагаю, что проблема состоит в том, что имя входа, которое хранится в проекте сервера для связанного сервера, имеет пароль, который не устанавливается при его создании, несмотря на тот факт, что он выглядит так, как будто пароль введен. Мой вопросКак я могу назначить этот пароль, не зная пароль?

  Creating [dbo].[report_open_close]...
  OLE DB provider "SQLNCLI" for linked server "CREDIT_SCORES_CALENDAR" returned message "Communication link failure".
C:\SourceCode2010\CreditScores\Development\CreditScores\TECO.Database.SQLServer2005.CreditScores\sql\debug\TECO.Database.SQLServer2005.CreditScores.sql(150,0): Error SQL01268: .Net SqlClient Data Provider: Msg 10054, Level 16, State 1, Line 0 TCP Provider: An existing connection was forcibly closed by the remote host.

C:\SourceCode2010\CreditScores\Development\CreditScores\TECO.Database.SQLServer2005.CreditScores\sql\debug\TECO.Database.SQLServer2005.CreditScores.sql(150,0): Error SQL01268: .Net SqlClient Data Provider: Msg 18456, Level 14, State 1, Line 0 Login failed for user 'cdtscr'.
  An error occurred while the batch was being executed.
  Done executing task "SqlDeployTask" -- FAILED.
 Done building target "DspDeploy" in project "TECO.Database.SQLServer2005.CreditScores.dbproj" -- FAILED.
 Done executing task "CallTarget" -- FAILED.
Done building target "DBDeploy" in project "TECO.Database.SQLServer2005.CreditScores.dbproj" -- FAILED.
Done building project "TECO.Database.SQLServer2005.CreditScores.dbproj" -- FAILED.

Build FAILED.
...